[问题] tensorflow的activation function问题

楼主: chinsun   2018-11-26 08:39:30
大家我是python和machine learning 新手
如果我想要直接用keras中的relu和softmax函数
而不是在layer中的话该怎么做呢
以下是我的训练model
model = keras.Sequential([
keras.layers.Flatten(input_shape=(14,14)),
keras.layers.Dense(196, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(new_train_images, train_labels, epochs=5)
predictions = model.predict(new_test_images)
weights0 = model.layers[1].get_weights()
再来是我的问题
xx = keras.activations.softmax(
keras.activations.relu(
np.dot(np.array(fnew_test_images),np.array(weights0[0]))+
np.reshape(weights0[1],[1,196])))
fnew_test_images是new_test_images flatten后的结果,是10000个196*1的array
我希望xx能够使用从model里第一层的weights,经过relu运算
样式能和fnew_test_images一样
总而言之想取出最后一层的input
但现在xx的印出结果是
<tf.Tensor 'Relu_5:0' shape=(10000, 196) dtype=float32>
请问有什么方法可以修正
或者有方式可以让我从model里直接取出input吗
感谢!
作者: jackwang01 (艾斯比那)   2018-11-26 10:06:00
有点久没用了,搜寻一下Keras get layer input之类的就 答案了

Links booklink

Contact Us: admin [ a t ] ucptt.com