【发布时间】:2019-09-14 14:39:20
【问题描述】:
我正在尝试为我的 keras 自动编码器卷积网络模型计算 PSNR 指标。但是,我遇到了一个错误。请帮助检查和纠正问题。谢谢
import math
from keras import backend as K
def PSNR(y_true, y_pred):
max_pixel = 1.0
return 10.0 * math.log10((max_pixel ** 2) / (K.mean(K.square(y_pred -
y_true))))
adam = optimizers.Adam(lr=0.0001)
autoencoder.compile(loss='mse', metrics=[PSNR], optimizer=adam)
完整的回溯是: Traceback(最近一次调用最后一次):
文件“”,第 1 行,在 autoencoder.compile(loss='mse', metrics=[PSNR], optimizer=adm)
文件“C:\Users\LW\Anaconda3\envs\tensorflow_demo\lib\site-packages\keras\engine\training.py”,第 451 行,编译 处理指标(输出指标)
文件“C:\Users\LW\Anaconda3\envs\tensorflow_demo\lib\site-packages\keras\engine\training.py”,第 420 行,在 handle_metrics 掩码=掩码[i])
文件“C:\Users\LW\Anaconda3\envs\tensorflow_demo\lib\site-packages\keras\engine\training_utils.py”,第 404 行,加权 score_array = fn(y_true, y_pred)
文件“”,第 8 行,在 PSNR 中 return 10.0 * math.log10((max_pixel ** 2) / (K.mean(K.square(y_pred - y_true))))
TypeError: 必须是实数,而不是 Tensorr
请告诉我如何解决这个问题
【问题讨论】:
-
错误不是来自 PSNR 检查tpcg.io/vebk7D。什么是完整的错误? btw log(1) base 10 总是 0
-
是的,请添加完整的回溯。
-
@Matias Valdenegro 请检查回溯谢谢
-
@abdul qayyum 谢谢,你能提出一些建议
-
尝试打印数据,你的数据是什么形状的?
标签: python tensorflow keras deep-learning