tensorflow 获取checkpoint中的变量列表实例
作者:wzg2016 发布时间:2021-06-21 05:47:17
标签:tensorflow,checkpoint,变量列表
方式1:静态获取,通过直接解析checkpoint文件获取变量名及变量值
通过
reader = tf.train.NewCheckpointReader(model_path)
或者通过:
from tensorflow.python import pywrap_tensorflow
reader = pywrap_tensorflow.NewCheckpointReader(model_path)
代码:
model_path = "./checkpoints/model.ckpt-75000"
## 下面两个reader作用等价
#reader = pywrap_tensorflow.NewCheckpointReader(model_path)
reader = tf.train.NewCheckpointReader(model_path)
## 用reader获取变量字典,key是变量名,value是变量的shape
var_to_shape_map = reader.get_variable_to_shape_map()
for var_name in var_to_shape_map.keys():
#用reader获取变量值
var_value = reader.get_tensor(var_name)
print("var_name",var_name)
print("var_value",var_value)
方式2:动态获取,先加载checkpoint模型,然后用graph.get_tensor_by_name()获取变量值
代码 (注意:要先在脚本中构建model中对应的变量及scope):
model_path = "./checkpoints/model.ckpt-75000"
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:
## 获取待加载的变量列表
trainable_vars = tf.trainable_variables()
g_vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope="generator")
d_vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope='discriminator')
flow_vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope='flow_net')
var_restore = g_vars + d_vars
## 仅加载目标变量
loader = tf.train.Saver(var_restore)
loader.restore(sess,model_path)
## 显示加载的变量值
graph = tf.get_default_graph()
for var in var_restore:
tensor = graph.get_tensor_by_name(var.name)
print("=======变量名=======",tensor)
print("-------变量值-------",sess.run(tensor))
来源:https://blog.csdn.net/Strive_For_Future/article/details/99675628


猜你喜欢
- anaconda指的是一个开源的Python
- 1.定义变量时可以直接赋值 DECLARE @Id int = 5 2.Insert 语句可以一次插入多行数据 INSERT INTO St
- 目录1.横向合并1.1 concatenate方法1.2 hstack方法1.3 column_stack方法2.纵向合并2.1 conca
- 前言在前几年,如果你和嵌入式开发人员推荐Python,大概会是这样一种场景:A:”诶,老王,你看Python开发这么方便
- 1.运行效果如图所示2.实现代码如下<!DOCTYPE html><html><head> <me
- 当然有其它工具可以做这件事,但如果客户不允许你在服务器乱装东西时这个脚本就会有用了。 DECLARE @tbImportTables tab
- MS SQL基本语法及实例操作 一:建表并初始化 ============================ create database
- 起步Python 的成功一个原因是它的可读性,代码清晰易懂,更容易被人类所理解,但有时可读性会产生误解。假如要判断一个变量是不是 17,那可
- 介绍go1.5+版本提供编译好的安装包,我们只需要解压到相应的目录,并添加一些环境变量的配置即可。Go语言的安装步骤
- 用requests包请求https的网站时,我们偶尔会遇到证书问题。也就是常见的SSLerror,遇到这种问题莫慌莫慌。这里没有找到合适的网
- 相信没有人不知道 Firebug 是什么东西,但有时候我们糟糕的代码不想让同行轻松的使用 F12 就能一览无遗。那么怎么办呢?这里有个猥琐的
- 本文给出了几个表单常用的js验证函数,有检查、\等特殊字符的,有检查是否含有空格,检查是否为Email 地址,也有检查是否是小数或负数的,检
- 本文实例为大家分享了Python实现用户名和密码登录的具体代码,供大家参考,具体内容如下功能登录及注册,密码错误多次后验证码确认说明初次运行
- 在使用javascript编程时浏览器中经常会遇到的两个麻烦,下面提供两个函数解决方式做参考,并提供一个demo让你更直观地了解我所说的这两
- 开发背景是这样的:整个项目中使用很多台摩托罗拉的RFID读卡器,我要为这些读卡器写一个管理程序,判断是否有RFID标签进入或离开某个区域。用
- 一、数据完整性简介1、数据完整性简介数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确反应实际情况。数据完整性是指
- 介绍RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区。在5.7版本中DATE、DATETIME列也可以使用R
- class test { &nbs
- 可变长参数GO语言允许一个函数把任意数量的值作为参数,GO语言内置了**...操作符,在函数的最后一个形参才能使用...**操作符,使用它必
- 1.背景一直苦恼于本地机器和服务器上都要配置一些机器学习方面的环境,今天花了点时间研究了下Jupter notebook远程访问服务器,所以