循环神经网络

时间:2021-03-03 17:16:26

标签: python networking keras

有人能向我解释 layer_size 超参数在这个循环神经网络模型中的作用吗?

###RNN MODEL TESTING BINARY CLASSIFICATION MODEL

batch_size = 32
epochs = 10
layer_size = 256
drop_out = 0.001

if True: 
    model = Sequential()
    model.add(LSTM(layer_size,input_shape =(30, 1), return_sequences=True ))
    model.add(Dropout(drop_out))
    model.add(LSTM(layer_size*2,return_sequences=True))
    model.add(Dropout(drop_out))
    model.add(LSTM(layer_size,return_sequences=False))
    model.add(Dropout(drop_out))
    model.add(Dense(1))
    model.add(Activation('sigmoid'))
    model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.Adam() , metrics=['accuracy'])

    model.summary()

    fit=model.fit(X_train_kb2_keras, y_train2_kb2_keras, batch_size=batch_size, epochs=epochs, validation_split=0.20)
    y_pred = model.predict_classes(X_test_keras)
    print("Accuracy",accuracy_score(y_test2_kb2_keras,y_pred ))
    print("precision_score",precision_score(y_test2_kb2_keras,y_pred ))
    print("recall",recall_score(y_test2_kb2_keras,y_pred ))

1 个答案:

答案 0 :(得分:0)

根据文档,它是输出的维度。 https://keras.io/api/layers/recurrent_layers/lstm/layer_size 对应于文档中的 unit

所以我相信 LSTM 函数的输出很可能应该包含 256 个元素。验证这一点的一种方法是取其中的一部分并执行并找出它的形状

temp = LSTM(layer_size,input_shape =(30, 1), return_sequences=True )
print(temp.shape)
print(temp)
相关问题