我想重量,基于在训练数据集中列的训练数据。从而比其他人更重视某些培训项目。不应将权重列作为输入图层的特征。自定义损失函数的加权训练数据
的Tensorflow文档持有example如何使用项目的标签分配一个自定义的损失,从而给予权重:在自定义DNN
# Ensures that the loss for examples whose ground truth class is `3` is 5x
# higher than the loss for all other examples.
weight = tf.multiply(4, tf.cast(tf.equal(labels, 3), tf.float32)) + 1
onehot_labels = tf.one_hot(labels, num_classes=5)
tf.contrib.losses.softmax_cross_entropy(logits, onehot_labels, weight=weight)
我用这三个隐藏层。在理论上我只需要在该示例中与含有重量柱的张量替换标签上方。
我知道有几个线程已经讨论例如类似的问题defined loss function in tensorflow?
出于某种原因,我遇到了很多问题,试图将我的权重列引入其中。这可能是两行简单的代码,或者可能有更简单的方法来实现相同的结果。
什么问题?您应该描述它们并包含相关的错误消息。 –
我想我找到了解决方案。问题是,权重我已经创建了不匹配的功能tensorflow: ValueError异常:权重不能播到值。在dim 0. values.shape = [3] weights.shape = [120]时失配。 ValueError异常:张量( “添加:0”,形状=(120,),D型细胞= INT32)必须从相同的曲线图张量( “fully_connected/BiasAdd:0”,形状=(120,3),D型= FLOAT32)。 – Seb