我是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中是否有任何方法可以将数据返回到“张量”中?
1 回答
在这种情况下,在做reduce_mean之前 balancer 差异应该给你一个平方损失,所以
loss = tf.reduce_mean((pred-y_)*(pred-y_))
应该这样做 .要检查张量,您可以调用
tensor.eval()
,但这必须发生在有足够信息来计算Tensor值的环境中(因此应该输入所有占位符等) .