卷积神经网络损失

问题描述 投票:0回答:2

在计算损失函数时。我可以手动计算损失吗

Loss = tf.reduce_mean(tf.square(np.array(Prediction) - np.array(Y)))

然后使用Adam Optimizer优化此丢失

tensorflow
2个回答
1
投票

不可以。张量流失函数通常接受张量作为输入,并输出张量。所以np.array()不起作用。

在CNN的情况下,你通常会遇到诸如交叉熵,softmax corss-entropy,sigmoid cross-entropy等损失函数。这些函数已经内置在tf.losses模块中。所以你可以直接使用它们。您尝试应用的损失函数看起来像均方损失。这也是在tf.losses中构建的。 tf.losses.mean_squared_error。

话虽如此,我还使用手工编码公式实现了一些损失函数,如交叉熵,如:-tf.reduce_mean(tf.reduce_sum(targets * logProb))。只要输入目标和logProb计算为张量而不是numpy数组,这同样可以正常工作。


1
投票

不,实际上你需要使用张量变量损失,而不是使用numpy.arraynp.array(Prediction))。

由于张量流将eval这些tensors在tensorflow引擎。

© www.soinside.com 2019 - 2024. All rights reserved.