相关疑难解决方法(0)

Keras 2.x - 获取图层权重

我使用的是Windows 10,Python 3.5和tensorflow 1.1.0.我有以下脚本:

import tensorflow as tf
import tensorflow.contrib.keras.api.keras.backend as K
from tensorflow.contrib.keras.api.keras.layers import Dense

tf.reset_default_graph()
init = tf.global_variables_initializer()
sess =  tf.Session()
K.set_session(sess) # Keras will use this sesssion to initialize all variables

input_x = tf.placeholder(tf.float32, [None, 10], name='input_x')    
dense1 = Dense(10, activation='relu')(input_x)

sess.run(init)

dense1.get_weights()
Run Code Online (Sandbox Code Playgroud)

我收到错误: AttributeError: 'Tensor' object has no attribute 'weights'

我做错了什么,我怎么得到权重dense1?我看过这个这个 SO帖子,但我仍然无法使它工作.

python deep-learning keras tensorflow keras-layer

21
推荐指数
4
解决办法
3万
查看次数

如何在Keras序列模型中提取偏差权重?

我正在使用Keras运行一个简单的前馈网络.只有一个隐藏层我想对每个输入与每个输出的相关性做一些推断,我想提取权重.

这是模型:

def build_model(input_dim, output_dim):
    n_output_layer_1 = 150
    n_output = output_dim
    model = Sequential()
    model.add(Dense(n_output_layer_1, input_dim=input_dim, activation='relu'))
    model.add(Dropout(0.25))
    model.add(Dense(n_output))
Run Code Online (Sandbox Code Playgroud)

为了提取我写的重量:

for layer in model.layers:
    weights = layer.get_weights() 


weights = np.array(weights[0])     #this is hidden to output
first = model.layers[0].get_weights() #input to hidden
first = np.array(first[0])
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有得到矩阵中的偏差列,我知道Keras会自动插入它.

你知道如何检索偏差权重吗?

预先感谢您的帮助 !

python neural-network keras tensorflow

15
推荐指数
1
解决办法
1万
查看次数