在计算损失函数时。我可以手动计算损失吗
Loss = tf.reduce_mean(tf.square(np.array(Prediction) - np.array(Y)))
然后使用Adam Optimizer优化此丢失
不可以。张量流失函数通常接受张量作为输入,并输出张量。所以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数组,这同样可以正常工作。
不,实际上你需要使用张量变量损失,而不是使用numpy.array
(np.array(Prediction)
)。
由于张量流将eval
这些tensors
在tensorflow引擎。