当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数。那么,它到底做了些什么?

global_variables_initializer 返回一个用来初始化 计算图中 所有global variable的 op。
这个op 到底是啥,还不清楚。
函数中调用了 variable_initializer() 和 global_variables()
global_variables() 返回一个 Variable list ,里面保存的是 gloabal variables。
variable_initializer() 将 Variable list 中的所有 Variable 取出来,将其 variable.initializer 属性做成一个 op group。
然后看 Variable 类的源码可以发现, variable.initializer 就是一个 assign op。
所以: sess.run(tf.global_variables_initializer()) 就是 run了 所有global Variable 的 assign op,这就是初始化参数的本来面目。

相关文章:

  • 2021-06-17
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2021-08-15
  • 2022-01-14
  • 2021-05-09
猜你喜欢
  • 2021-07-31
  • 2022-12-23
  • 2021-10-04
  • 2021-11-26
  • 2021-12-03
  • 2021-09-13
  • 2022-02-05
相关资源
相似解决方案