2016-04-12 38 views
3

Keras modelleri için hiperparamatörleri en iyi duruma getirmek için nane kullanırken, ilk kez düzgün çalışıyor. Ancak ikinci iş, her zaman aşağıdaki hatayı atar.Keras'ı Spearmint ile tümleştirme sorunları

<type 'exceptions.TypeError'>, TypeError('An update must have the same type as the original shared variable (shared_var=<TensorType(float32, matrix)>, shared_var.type=TensorType(float32, matrix), update_val=Elemwise{add,no_inplace}.0, update_val.type=TensorType(float64, matrix)).', 'If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.'), <traceback object at 0x18a5c5710>) 

Tren verilerinin ve test verilerinin önceden oluşturulmuş numpy dizisini yüklemek için aşağıdaki kodu kullanıyorum. Aşağıdaki paramlar optimizasyon python betiği tarafından geçirilir. Ancak, parametre seti, nane olmadan çalıştırıldığında gayet iyi çalışır.

def load_train_data(arg_type, params=None): 

    X_train1 = pickle.load(open(arg_type+"_train1","rb")) 

    X_train2 = pickle.load(open(arg_type+"_train2","rb")) 

    Y_train = pickle.load(open(arg_type+"_train_labels","rb")) 



    model=combined_model(X_train1,X_train2,Y_train,params) 



    X_test1 = pickle.load(open(arg_type+"_test1","rb")) 

    X_test2 = pickle.load(open(arg_type+"_test2","rb")) 

    Y_test = pickle.load(open(arg_type+"_test_labels","rb")) 



    loss = model.evaluate({'input1': X_test1,'input2': X_test2,'output':Y_test},batch_size=450) 

    return loss 
+0

İstisna hangi satırda gerçekleşir? – roadrunner66

+0

Sorun, kombine_model() 'de, model.compile model.compile (' adam ', {' output ':' categorical_crossentropy '}) olarak adlandırıldığında ortaya çıkar. –

cevap

0

Ben yeşil nane ile batıyordu değişkenler, onlar şamandıra kullanma, açıkça temel piton veri türlerini dönüştürülebilir zorundaydı(), int(). Bu, bu sorunun çözümünde yardımcı oldu.