当前位置:主页 > 软件编程 > Python代码 >

tensorflow 初始化未初始化的变量实例

时间:2022-02-08 11:52:52 | 栏目:Python代码 | 点击:

今日在Stack Overflow上看到一个问如何只初始化未初始化的变量,有人提供了一个函数,特地粘贴过来共大家品鉴:

import tensorflow as tf
 
def initialize_uninitialized(sess):
  global_vars     = tf.global_variables()
  is_not_initialized  = sess.run([tf.is_variable_initialized(var) for var in global_vars])
  not_initialized_vars = [v for (v, f) in zip(global_vars, is_not_initialized) if not f]
 
  print [str(i.name) for i in not_initialized_vars] # only for testing
  if len(not_initialized_vars):
    sess.run(tf.variables_initializer(not_initialized_vars))

通过tf.global_variables()返回一个全局变量的列表global_vars, 然后以python列表解析式的方式判断全局变量列表global_vars中每个变量是否都被初始化了,并返回一个对应的True/False的布尔值列表is_not_initialized;

然后再把global_vars中的变量和布尔值列表进行打包配对,并选出没有初始化的变量的列表,得到所有未初始化变量的列表not_initialized_vars;打印出这些变量的名字;

对于这些未初始化的变量,通过会话(sess)运行tf.variables_initializer(not_initialized_vars)使所有未初始化的变量都初始化。

您可能感兴趣的文章:

相关文章