Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 张量流估计:加权样本训练_Machine Learning_Tensorflow_Deep Learning - Fatal编程技术网

Machine learning 张量流估计:加权样本训练

Machine learning 张量流估计:加权样本训练,machine-learning,tensorflow,deep-learning,Machine Learning,Tensorflow,Deep Learning,我正在用Tensorflow估计器训练一个模型,我的数据不平衡。我想通过加权每个训练示例来纠正这一点 在原始的张量流中,我们可以这样做。在Estimator中有没有一种简单的方法可以做到这一点?也许构建一个自定义的输入\u fn?我假设您正在进行分类。如果是,请使用: 权重列:由创建的字符串或\u数值列 tf.feature\u column.numeric\u column定义表示 重量。它用于在训练期间减轻体重或增加体重。 它将乘以示例的损失。如果是字符串, 它用作从功能中提取权重张量的键。

我正在用Tensorflow
估计器训练一个模型,我的数据不平衡。我想通过加权每个训练示例来纠正这一点


在原始的张量流中,我们可以这样做。在
Estimator
中有没有一种简单的方法可以做到这一点?也许构建一个自定义的
输入\u fn

我假设您正在进行分类。如果是,请使用:

权重列:由创建的字符串或
\u数值列
tf.feature\u column.numeric\u column
定义表示 重量。它用于在训练期间减轻体重或增加体重。 它将乘以示例的损失。如果是字符串, 它用作从
功能中提取权重张量的键。如果是
一个
\u数值列
,原始张量由键
权重列获取。键
,然后
weight\u列。对其应用归一化器fn
以获得权重张量


如果您正在构建自定义估计器模型,则应将数据集每个样本的类别权重作为特征转发给
模型fn
,并且在定义损失函数op时,您可以将类别权重传递给
权重
参数

示例:

 tf.losses.softmax_cross_entropy(target, logits,weights=features['weight'])

权重参数的可能副本不再可用。然而,交叉熵的数学意味着您可以通过将目标值从1.0更改为较低的数字来降低示例的权重,或将目标值更改为较高的数字来提高示例的权重,从而获得相同的效果。如果您使用的是Keras和tf.Dataset API,如果您的输入输出一个3值元组->(输入,目标,权重)Hi,是否有tf2在模型中实现自定义权重的代码示例?