Hi, I am trying to create a superresolving model on keras.
I mean https://github.com/titu1994/Image-Super-Resolution .
But after compiling and saving the new model, when I load the model, a metric error occurs
Traceback (most recent call last): File "autoencoder2.py", line 56, in <module> load_model("./ani.model") File "/home/simmani91/anaconda2/lib/python2.7/site-packages/keras/models.py", line 155, in load_model sample_weight_mode=sample_weight_mode) File "/home/simmani91/anaconda2/lib/python2.7/site-packages/keras/engine/training.py", line 665, in compile metric_fn = metrics_module.get(metric) File "/home/simmani91/anaconda2/lib/python2.7/site-packages/keras/metrics.py", line 84, in get return get_from_module(identifier, globals(), 'metric') File "/home/simmani91/anaconda2/lib/python2.7/site-packages/keras/utils/generic_utils.py", line 14, in get_from_module str(identifier)) Exception: Invalid metric: PSNRLoss
and here is my code for the metric (PSNRLoss), create a model, execute
def PSNRLoss(y_true, y_pred): return -10. * np.log10(K.mean(K.square(y_pred - y_true))) def create_model(): shape = (360,640,3) input_img = Input(shape=shape) x = Convolution2D(64, shape[0],shape[1], activation='relu', border_mode='same', name='level1')(input_img) x = Convolution2D(32,shape[0],shape[1], activation='relu', border_mode='same', name='level2')(x) out = Convolution2D(3, shape[0],shape[1], border_mode='same', name='output')(x) model = Model(input_img, out)
Is there a way to load a model with a PSNR tag?
Thanks for reading.