我是tensorflow的初学者,目前我正在开发一个学习任务的脚本,我需要将输入图像映射到另一个图像,这是我的损失函数:
loss = tf.reduce_mean(pred - y_)
其中pred是我对所有图层中图像的预测,而y_是基本事实。它们的大小都是[batch_size * width * height * channel]([64 x 128 x 128 x 3])。在这里,我只是简单地在这两个张量之间进行减法,找到它们的意思。你可以看到这是l1损失,但如果我想将损失函数改为l2损失,我该怎么办?我知道我应该使用函数tf.nn.l2_loss,但主页中的教程似乎是向我发展的,没有任何示例。
另外,tensorflow中是否有任何方法可以将数据返回到“张量”中?
答案 0 :(得分:0)
在这种情况下,在执行reduce_mean之前平衡差异应该会给你一个平方损失,所以loss = tf.reduce_mean((pred-y_)*(pred-y_))
应该这样做。
要检查张量,您可以调用tensor.eval()
,但这必须在有足够信息来计算张量值的上下文中发生(因此应该输入所有占位符等)。