Python 3.x 计算损失时的Keras Nan值
我的问题是关于 我正在努力实现文章中描述的方法。最后使用的算法如下(见第6页):Python 3.x 计算损失时的Keras Nan值,python-3.x,keras,tensorflow2.0,Python 3.x,Keras,Tensorflow2.0,我的问题是关于 我正在努力实现文章中描述的方法。最后使用的算法如下(见第6页): d是向量单位 xhi是一个非空数 D是损失函数(在我的例子中是稀疏交叉熵) 其想法是进行对抗性训练,按照网络对微小变化最敏感的方向修改数据,并使用修改后的数据对网络进行训练,但标签与原始数据相同 用于训练模型的损失函数如下: l是标记数据上的损失度量 Rvadv是算法1图片中渐变内的值 文章选择alpha=1 其思想是将标记数据集的模型性能纳入损失中 我试图用MNIST数据集和一小批100个数据在Ker
- d是向量单位
- xhi是一个非空数
- D是损失函数(在我的例子中是稀疏交叉熵)
- l是标记数据上的损失度量
- Rvadv是算法1图片中渐变内的值
- 文章选择alpha=1
- 协作会议:
- 要点:
NaN
运行:
模型中的学习率。将编译为优化器=tf.keras.optimizers.Adam(学习率=1e-3)
C=[loss(label,pred)for label,pred in zip(yBatchTrain,dumbModel(dataNoised,training=False))替换为C=loss(yBatchTrain,dumbModel(dataNoised,training=False))
tf.float32
切换到tf.float64
下次当您遇到此类错误时,您可以使用来查找
NaN
的根本原因再次感谢您,它很有效!我认为这个问题也与我的本地机器有关:collab工作得很好,但当我下载笔记本并执行它时,就会出现Nan值,我将自己调查,但谢谢!:D