我使用tensorflow库编写了一个简单的自动编码器。 This is the sample code I have written for the network of the autoencoder 我没有得到的是如何在未进行任何特定初始化的情况下将权重引入该模型,因为它现在可以正常工作?
答案 0 :(得分:2)
创建conv2d图层时定义了重量初始化。在API(https://www.tensorflow.org/api_docs/python/tf/contrib/layers/conv2d)中,此类函数中有一个名为weights_initializer
的参数,可以用tf.initializer
对象填充并定义初始化权重的方式。默认情况下,对于TFv1.8,这是一个xavier_initializer
(https://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))