Questões que integram Keras com hortelã

votos
3

Quando eu estou usando hortelã para otimizar os hyperparamaters para modelos Keras, pela primeira vez, ele funciona muito bem. Mas o segundo emprego em diante, sempre lança o seguinte erro.

<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>)

Eu estou usando o código a seguir para carregar a matriz numpy pré-criado dos dados de trem e dados de teste. Os seguintes parâmetros são passados ​​pelo script otimização python. Mas o conjunto de parâmetros de funcionar bem se executar sem hortelã.

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
Publicado 11/04/2016 em 23:09
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

As variáveis ​​que eu estava sentado com a hortelã, eles tiveram que ser explicitamente convertidos em tipos de dados básicos python, usando float (), int (). Isso ajudou a resolver esta questão.

Respondeu 14/04/2016 em 04:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more