Tensorflow API官方文档声称该参数kernel_initializer
默认为None
fortf.layers.conv2d
和tf.layers.dense
。
但是,在阅读图层教程(https://www.tensorflow.org/tutorials/layers)时,我注意到在代码中未设置此参数。例如:
# Convolutional Layer #1
conv1 = tf.layers.conv2d(
inputs=input_layer,
filters=32,
kernel_size=[5, 5],
padding="same",
activation=tf.nn.relu)
本教程中的示例代码运行无任何错误,因此我认为默认kernel_initializer
值为not None
。那么,使用哪个初始化器?
在另一个代码中,我没有设置kernel_initializer
conv2d和密集层的,一切都很好。然而,当我试图设置kernel_initializer
到tf.truncated_normal_initializer(stddev=0.1, dtype=tf.float32)
,我得到NaN的错误。这里发生了什么?有人可以帮忙吗?