簡體   English   中英

連體網絡顯示 ValueError

[英]Siamese network showing ValueError

我將連體網絡用於具有不同域的 2000 個功能。 我想訓練相似的對並測試不同的特征對。 我在嘗試安裝 model 時遇到值錯誤。

def get_siamese_conv_unit(input):
    encoder = models.Sequential(name='encoder')
    encoder.add(layer=layers.Dense(units=64, activation=activations.relu))
    encoder.add(layers.Dropout(0.1))
    encoder.add(layer=layers.Dense(units= 32, activation=activations.relu))
    encoder.add(layers.Flatten())
    encoder.summary()
    return encoder
def get_classifier_model(input_shape):
    left_input = Input(input_shape)
    right_input = Input(input_shape)
    model = get_siamese_conv_unit(input_shape)
    encoded_l = model(left_input)
    encoded_r = model(right_input)
    L1_layer = Lambda(lambda tensors:k.backend.abs(tensors[0] - tensors[1]))
    L1_distance = L1_layer([encoded_l, encoded_r])
    prediction = Dense(1,activation='sigmoid',bias_initializer=initialize_bias)(L1_distance)
    siamese_net = Model(inputs=[left_input,right_input],outputs=prediction)
    return siamese_net

 # After optimization
model.fit([left_input, right_input] ,target , epochs=100, verbose=1,validation_data=[test1, test2])

我收到以下錯誤

Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. 
Expected to see 2 array(s), for inputs ['input_17', 'input_18'] 
but instead got the following list of 1 arrays

left_input、right_input和target的類型都是arrays

我通過在擬合時添加測試標簽來糾正我的錯誤:

model.fit([left_input, right_input] ,target , epochs=100, verbose=1,validation_data=([test1, test2],ytest))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM