【发布时间】:2021-03-09 08:23:55
【问题描述】:
假设我有一个包含 4 个类的训练集,属于 4 个类的样本数分别为 20、30、40、10。那么我应该将张量 torch.tensor([20,30,40,10]) / 100. 传递给损失函数的权重参数吗? 或者我应该在训练循环中动态计算每个批次的权重参数值吗?
【问题讨论】:
标签: deep-learning pytorch
假设我有一个包含 4 个类的训练集,属于 4 个类的样本数分别为 20、30、40、10。那么我应该将张量 torch.tensor([20,30,40,10]) / 100. 传递给损失函数的权重参数吗? 或者我应该在训练循环中动态计算每个批次的权重参数值吗?
【问题讨论】:
标签: deep-learning pytorch
对于大多数用例,您不需要指定权重参数 - 在您的示例中,您应该不设置权重(即weight=None)。
仅当您的数据集高度不平衡时,您才需要指定类别权重。例如,如果您有 99% 的正样本和 1% 的负样本,那么您可能希望为负样本分配更高的权重以帮助模型学习。
【讨论】: