Tensorflow 在tf.contrib.layers中分配权重时,是否有常数_初始值设定项的替代方案

Tensorflow 在tf.contrib.layers中分配权重时,是否有常数_初始值设定项的替代方案,tensorflow,graph,initialization,parameter-passing,tensorflow-layers,Tensorflow,Graph,Initialization,Parameter Passing,Tensorflow Layers,我想将权重传递给tensorflow.contrib.layers.conv2d。 层具有参数权重\初始值设定项。当通过weights\u initializer=tf.constant\u initializer(tensor)传递张量时,该张量作为节点添加到图形中,导致模型的大小增加 是否有替代此权重初始化的方法 我知道tf.nn.conv2d接受权重作为参数。但是,我正在使用的当前模型使用contrib层。如果要将权重初始化为某个常量,但不想将该常量存储在图形中,可以使用占位符并在初始化时

我想将权重传递给
tensorflow.contrib.layers.conv2d
。 层具有参数
权重\初始值设定项
。当通过
weights\u initializer=tf.constant\u initializer(tensor)
传递张量时,该张量作为节点添加到图形中,导致模型的大小增加

是否有替代此权重初始化的方法


我知道
tf.nn.conv2d
接受权重作为参数。但是,我正在使用的当前模型使用contrib层。

如果要将权重初始化为某个常量,但不想将该常量存储在图形中,可以使用占位符并在初始化时为其提供值。只要吃点像这样的东西:

weight_init = tf.placeholder(tf.float32, <shape>)
# As a parameter to your layer
weights_initializer=lambda *a, **k: weight_init
或者,您可以不使用初始值设定项,而是使用权重变量的方法,而不是调用初始化操作。为此,您必须首先访问该变量:

with tf.Session() as sess:
    weight_var.load(<initial weight value>, session=sess)
将tf.Session()作为sess的
:
重量变量负载(,会话=sess)

非常感谢您的回复!
with tf.Session() as sess:
    weight_var.load(<initial weight value>, session=sess)