自定义权重初始化 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: If initializer is a constant, do not specified shape.
将占位符分配给 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屋!
查看全文