我修改了现有的激活函数并在神经网络的卷积层中使用它。我想知道它与现有激活函数相比如何执行。是否有任何方法/函数在图形中绘制每个神经网络层之后的结果(矩阵值),以便我可以根据自定义我的激活函数值得更好的结果?
model = Sequential()
e = Embedding(vocab_size, 100, weights=[embedding_matrix], input_length=max_length, trainable=False)
model.add(e)
model.add(Conv1D(64,kernel_size,padding='valid',activation=newactivation,strides=1))
model.add(MaxPooling1D(pool_size=pool_size))
model.add(Conv1D(256,kernel_size,padding='valid',activation=newactivation,strides=1))
model.add(MaxPooling1D(pool_size=pool_size))
model.add(Bidirectional(GRU(gru_output_size, dropout=0.2, recurrent_dropout=0.2)))
model.add(Bidirectional(LSTM(lstm_output_size)))
model.add(Dense(nclass, activation='softmax'))
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
print(model.summary())
model.fit(padded_docs,y_train, epochs=epoch_size, verbose=0)
loss, accuracy = model.evaluate(tpadded_docs, y_test, verbose=0)
答案 0 :(得分:0)
我无法发表评论,所以我将其作为答案发布:
请参阅Keras FAQ: "How can I obtain the output of an intermediate layer?"
它向您展示了如何访问每个图层的输出。如果您使用的是使用keras function
的版本,您甚至可以在学习阶段访问模型的输出(如果您的模型包含在训练与测试中表现不同的图层)。