小编Mer*_*rry的帖子

在 Keras 中使用 SSIM 损失函数

我需要使用 Sewar 的 SSIM 作为损失函数来比较我的模型的图像。

当我尝试编译我的模型时出现错误。我导入函数并编译模型,如下所示:

from sewar.full_ref import ssim
...
model.compile('ssim', optimizer=my_optimizer, metrics=[ssim])
Run Code Online (Sandbox Code Playgroud)

我明白了:

File "/media/merry/merry32/train.py", line 19, in train
model.compile(loss='ssim', optimizer=opt, metrics=[ssim])
File "/home/merry/anaconda3/envs/merry_env/lib/python3.7/site-packages/keras/engine/training.py", line 451, in compile
handle_metrics(output_metrics)
File "/home/merry/anaconda3/envs/merry_env/lib/python3.7/site-packages/keras/engine/training.py", line 420, in handle_metrics
mask=masks[i])
File "/home/merry/anaconda3/envs/merry_env/lib/python3.7/site-packages/keras/engine/training_utils.py", line 404, in weighted
score_array = fn(y_true, y_pred)
File "/home/merry/anaconda3/envs/merry_env/lib/python3.7/site-packages/sewar/full_ref.py", line 143, in ssim
MAX = np.iinfo(GT.dtype).max
File "/home/merry/anaconda3/envs/merry_env/lib/python3.7/site-packages/numpy/core/getlimits.py", line 506, in __init__
raise ValueError("Invalid integer data type %r." % (self.kind,))
ValueError: Invalid integer data type 'O'.
Run Code Online (Sandbox Code Playgroud)

我也可以这样写:

model.compile(ssim(), optimizer=my_optimizer, …
Run Code Online (Sandbox Code Playgroud)

python keras

3
推荐指数
2
解决办法
6917
查看次数

标签 统计

keras ×1

python ×1