当调用tf.get_variable()
时,如果没有指定初始化器,默认的变量初始化方法是什么?文档中只提到’None’。
回答:
根据文档:
如果初始化器为
None
(默认情况),则会使用变量作用域中传入的默认初始化器。如果那个也是None
,则会使用glorot_uniform_initializer
。
glorot_uniform_initializer
函数从均匀分布中初始化值。
该函数的文档如下:
Glorot均匀初始化器,也称为Xavier均匀初始化器。
它从[-limit, limit]范围内的均匀分布中抽取样本,
其中limit
是sqrt(6 / (fan_in + fan_out))
其中fan_in
是权重张量中的输入单元数,
fan_out
是权重张量中的输出单元数。参考:http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf