TensorFlow 中仅初始化未初始化变量的方法

不晚
不晚
发布时间:2026-10-13| 5人浏览过
原创

本文介绍在 TensorFlow 中如何仅初始化未初始化的变量。通过 tf.global_variables() 获取全局变量列表,利用 tf.is_variable_initialized 判断状态,筛选出未初始化变量,最后使用 tf.variables_initializer 进行批量初始化。

TensorFlow 仅初始化未初始化变量的实现

最近在 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 中每个变量是否已初始化,生成对应的布尔值列表 is_not_initialized。

然后,将 global_vars 与 is_not_initialized 进行打包配对,筛选出未初始化的变量,得到列表 not_initialized_vars。最后,打印这些未初始化变量的名称。

针对这些未初始化的变量,通过会话(sess)运行 tf.variables_initializer(not_initialized_vars),从而对所有未初始化变量进行初始化。

以上即为 TensorFlow 中初始化未初始化变量的完整示例,希望对大家有帮助。欢迎支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。