作者chinsun ()
看板Python
标题[问题] tensorflow的activation function问题
时间Mon Nov 26 08:39:30 2018
大家我是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吗
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 4.30.124.170
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1543192772.A.084.html
※ 编辑: chinsun (4.30.124.170), 11/26/2018 08:40:50
※ 编辑: chinsun (4.30.124.170), 11/26/2018 08:41:53
※ 编辑: chinsun (4.30.124.170), 11/26/2018 08:43:07
1F:→ jackwang01: 有点久没用了,搜寻一下Keras get layer input之类的 11/26 10:06
2F:→ jackwang01: 就 答案了 11/26 10:06