因此,我的网络输出是一个合法性列表,然后我使用tf.round()将其舍入为0或1,这对于此项目至关重要。 然后我发现tf.round是不可区分的,所以我有点不知所以了..:/Tensorflow中的可微调圆函数?
0
A
回答
1
舍入是一个根本无法区分的函数,所以你在那里运气不好。这种情况的正常程序是找到一种方法来使用概率,比方说使用它们来计算预期值,或者通过获取输出的最大概率,并选择那个概率作为网络的预测。如果你没有使用输出来计算你的损失函数,你可以继续,并将其应用于结果,并且它是否可以区分并不重要。现在,如果你想要一个信息丢失函数来训练网络,也许你应该考虑是否保持输出的概率格式可能实际上对你有利(它可能会使你的训练过程更平滑) - 那样你只需将训练后的概率转换为网络外部的实际估计值即可。
0
可以使用以下事实:tf.maximum()和tf.minimum()是可微的,并且输入是概率从0到1
# round numbers less than 0.5 to zero;
# by making them negative and taking the maximum with 0
differentiable_round = tf.maximum(x-0.499,0)
# scale the remaining numbers (0 to 0.5) to greater than 1
# the other half (zeros) is not affected by multiplication
differentiable_round = differentiable_round * 10000
# take the minimum with 1
differentiable_round = tf.minimum(differentiable_round, 1)
实施例:
[0.1, 0.5, 0.7]
[-0.0989, 0.001, 0.20099] # x - 0.499
[0, 0.001, 0.20099] # max(x-0.499, 0)
[0, 10, 2009.9] # max(x-0.499, 0) * 10000
[0, 1.0, 1.0] # min(max(x-0.499, 0) * 10000, 1)
相关问题
- 1. Tensorflow中的函数
- 2. 微调/椭圆/宽度
- 3. 微调以来网络2倍(Tensorflow)
- 4. Tensorflow中的函数搜索
- 5. JqueryMobile为函数调用加载微调
- 6. 在Keras的Tensorflow后端进行微调之后的微调例外(约5〜10)
- 7. Tensorflow的gradient_override_map函数
- 8. 函数'univariateTable'的微调表输出
- 9. 非光滑和非微分定制损失函数tensorflow
- 10. Tensorflow成本函数
- 11. 对此javascript函数进行微调?
- 12. Jquery UI微调'不是函数'
- 13. 微软访问SQL,“函数调用”
- 14. 动画函数调用微妙
- 15. 微调:无法解析构造函数
- 16. 微调和按钮与函数clickhandler
- 17. 通过微模板调用JavaScript函数
- 18. 我的微调不可见
- 19. 活动组中的Android圆形按钮和微调框
- 20. cv:圆圈函数用一次调用绘制多个圆圈
- 21. 可以使用Rank Correlation作为TensorFlow中的成本函数吗?
- 22. 如何在TensorFlow中执行可微分操作选择?
- 23. 在tensorflow中定义的损失函数?
- 24. 了解Tensorflow中的_linear函数
- 25. Tensorflow中的卷积与Conv2d函数
- 26. 更改函数中的tensorflow变量
- 27. Tensorflow的超参数调谐
- 28. Tensorflow vs Numpy数学函数
- 29. tensorflow sparse_to_dense函数,output_shape参数
- 30. 简单的圆形函数不圆形
我的输出必须是1或者0的值。但是因为训练数据中的大部分输出都是0,网络只能学习输出从0到0.0001的非常低的值,而且我真的有点迷失在这里。所以我认为迫使它输出一个1或0会帮助..我想只是把一个1而不是圆的函数的派生应该是,但是我再次使用Tensorflow我不能决定衍生物 – ronsap123