2016-12-04 18 views
7

के साथ कैमरा मॉडल लोड नहीं कर सकता हाय मैं कैमरे पर एक सुपर रिज़ॉल्यूशन मॉडल बनाने की कोशिश कर रहा हूं।कस्टम मीट्रिक

मैं https://github.com/titu1994/Image-Super-Resolution का जिक्र कर रहा हूं।

लेकिन उसके बाद मैं संकलन और एक नया मॉडल बचाने के लिए, जब मैं मॉडल लोड, मीट्रिक त्रुटि

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 

हुई और यहां मीट्रिक (PSNRLoss) के लिए मेरे कोड, बनाने के मॉडल, निष्पादन

है
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) 
    #model.compile(optimizer='adadelta', loss='binary_crossentropy') 
    adam = optimizers.Adam(lr=1e-3) 
    model.compile(optimizer=adam, loss='mse', metrics=[PSNRLoss]) 

    return model 

path = "./picture/" 

if not os.path.exists("./ani.model"): 
    ani_model = create_model() 
    ani_model.save("./ani.model") 

load_model("./ani.model") 

क्या पीएसएनआर मीट्रिक के साथ मॉडल लोड करने का कोई तरीका है?

पढ़ने के लिए धन्यवाद।

उत्तर

6

इसके बजाय मॉडल को load_model("ani.model", custom_objects={"PSNRLoss": PSNRLoss}) के साथ लोड करें।

संबंधित मुद्दे