如何在tensorflow.contrib.layers conv2d中初始化权重

时间:2018-07-02 13:25:35

标签: tensorflow deep-learning autoencoder

我使用tensorflow库编写了一个简单的自动编码器。 This is the sample code I have written for the network of the autoencoder 我没有得到的是如何在未进行任何特定初始化的情况下将权重引入该模型,因为它现在可以正常工作?

1 个答案:

答案 0 :(得分:2)

创建conv2d图层时定义了重量初始化。在API(https://www.tensorflow.org/api_docs/python/tf/contrib/layers/conv2d)中,此类函数中有一个名为weights_initializer的参数,可以用tf.initializer对象填充并定义初始化权重的方式。默认情况下,对于TFv1.8,这是一个xavier_initializerhttps://www.tensorflow.org/api_docs/python/tf/contrib/layers/xavier_initializer),但是您可以将其设置为此处包含的任何初始化程序:https://www.tensorflow.org/api_docs/python/tf/initializers。例如,如果您希望权重初始化的值保持恒定为12345,则应编写:

lays.conv2d(inputs, 32,[5,5], stride=2, padding="SAME", 
                   weights_initializer=tf.constant_initializer(12345))