自定义权重初始化tensorflow tf.layers.dense [英] Custom weight initialization tensorflow tf.layers.dense
本文介绍了自定义权重初始化tensorflow tf.layers.dense的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将自定义初始化程序设置为 tf.layers.dense
,在其中我使用初始化 kernel_initializer
我已经有权重矩阵。
I'm trying to set up custom initializer to tf.layers.dense
where I initialize kernel_initializer
with a weight matrix I already have.
u_1 = tf.placeholder(tf.float32, [784, 784])
first_layer_u = tf.layers.dense(X_, n_params, activation=None,
kernel_initializer=u_1,
bias_initializer=tf.keras.initializers.he_normal())
这会引发错误,提示 ValueError:如果初始值设定项是常量,则不要指定形状。
将占位符分配给 kernel_initializer
是一个问题,还是我缺少了什么?
Is it a problem to assign placeholder to kernel_initializer
or am I missing something?
推荐答案
至少有两种方法可以实现此目的:
There are at least two ways to achieve this:
1创建自己的图层
W1 = tf.Variable(YOUR_WEIGHT_MATRIX, name='Weights')
b1 = tf.Variable(tf.zeros([YOUR_LAYER_SIZE]), name='Biases') #or pass your own
h1 = tf.add(tf.matmul(X, W1), b1)
2使用 tf.constant_initializer
init = tf.constant_initializer(YOUR_WEIGHT_MATRIX)
l1 = tf.layers.dense(X, o, kernel_initializer=init)
这篇关于自定义权重初始化tensorflow tf.layers.dense的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文