在 tensorflow 中,我从教程中了解到,可以使用类似的东西初始化变量
sess.run(tf.global_variables_initializer())
但是我发现每次使用相同的输入数据集运行它时,损失值都以相同的值开始。
我认为这是因为初始化总是设置具有相同值的变量。(可能为零)
我希望随机化权重的值。我已经尝试过搜索,但是如果初始化是使用默认值或随机值完成的,则 tensorflow 文档并没有给出明确的答案。
如何指定初始化以设置随机值?
更新
我的网络首先是一堆 CNN 和池化层,如下所示:``` conv1 = tf.layers.conv2d(inputs=input_layer, filters=32, kernel_size=[3,3], padding="same", activation=tf .nn.relu, name="conv_chad_1")
pool1 = tf.layers.max_pooling2d(inputs=conv1,pool_size=[2,2],strides=2)
conv2 = tf.layers.conv2d(inputs=pool1, filters=64, kernel_size=[3,3], padding="same", activation=tf.nn.relu, name="conv_chad_2")
pool2 = tf.layers.max_pooling2d(inputs=conv2,pool_size=[2,2],strides=2, name="pool_chad_2")
```
AFAIK,权重是在这些预定义的层内定义的。如何指定这些层以随机初始化它们的权重变量?