tensorflow 实现从checkpoint中获取graph信息
作者:qq_28808697 发布时间:2023-01-05 09:38:41
标签:tensorflow,checkpoint,graph
代码:
import tensorflow as tf
sess = tf.Session()
check_point_path = 'variables'
saver = tf.train.import_meta_graph('variables/save_variables.ckpt.meta')
saver.restore(sess, tf.train.latest_checkpoint(check_point_path))
graph = tf.get_default_graph()
#print(graph.get_operations())
#with open('op.txt','a') as f:
# f.write(str(graph.get_operations()))
op1 = graph.get_tensor_by_name('fully_connected/biases:0')
print(op1)
使用函数graph.get_operations()获取ckpt.meta中保存的graph中的所有operation,而tensor_name为'op_name:0'。
然后使用graph.get_tensor_by_name('op_name:0') 获取tensor信息。
代码从ckpt文件中获取保存的variable的数据(tensor的name和value):
import os
import tensorflow as tf
from tensorflow.python import pywrap_tensorflow
check_point_path = 'variables'
#checkpoint_path = os.path.join(logs_train_dir, 'model.ckpt')
ckpt = tf.train.get_checkpoint_state(checkpoint_dir=check_point_path)
checkpoint_path = os.path.join('.', ckpt.model_checkpoint_path)
#print(ckpt.model_checkpoint_path)
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
print("tensor_name: ", key)
#print(reader.get_tensor(key))
法二:
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
print_tensors_in_checkpoint_file("variables/save_variables.ckpt",tensor_name='', all_tensors=False, all_tensor_names=False)
注意:tf.train.latest_checkpoint(check_point_path) 方法用来获取最后一次ckeckpoint的路径,等价于
ckpt = tf.train.get_checkpoint_state(check_point_path)
ckpt.model_checkpoint_path
不能将tf.train.latest_checkpoint与tf.train.get_checkpoint_state 搞混了
来源:https://blog.csdn.net/qq_28808697/article/details/79884309


猜你喜欢
- 前言人类频繁的用手操作鼠标和键盘,为了解决这个问题,selenium工具为我们提供了一个类来处理这些事件— Action
- 1、添加一个任务task2 = visit_url('http://another.com', 3)asynicio.run
- 这次我使用ADO.NET来插入一条数据,到数据库中。主用到存储过程。我不想每次都是用SQL文本的形式了,那样始终没有进步~~~下面首先,我把
- 技术背景在一些对python开源库代码的安全扫描中,我们有可能需要分析库中所使用到的函数是否会对代码的执行环境造成一些非预期的影响。典型的例
- 我们要生成二维码都需要借助一些类库来实现了,下面我介绍利用PHP QR Code生成二维码吧,生成方法很简单,下面我来介绍一下.利用php类
- 开发背景:每次项目都要写数据库、烦死了。。然后就每次数据库都要花很多时间。烦死了!不如写个通用的增删查改,以不变应万变!特性:搭建通用增删查
- 日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分。根
- 1 安装pyqt51.1 安装pyqt5pip install PyQt51.2 安装pyqt5常用工具包pip install PyQt5
- 我之前写过一篇基于JS的石头剪子布程序 《JavaScript实现的石头剪刀布游戏源码分享》,今天又基于Python写了一个实例,这里边的算
- 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
- 目录1、read_sql_query 读取 mysql2、to_sql 写入数据库 要实现 pandas 对 mysql 的读写需
- 简单用py写了一个贪吃蛇游戏,有单人、双人模式,比较简单,适合初学者练手。基本上每行重要的语句都有注释,做了什么事一目了然这里先介绍单人模式
- 对于Mac上Homebrew安装的MySQL,默认情况下只能使用本地登录。而使用其它主机远程登录Mac上的MySQL则会被拒绝访问。下面修改
- 学习前言在Github上我们可以看到许多模型,他们都有mAP值的评价指标,如下图所示:这到底是个啥呢?我查了好久的资料&hellip
- 本文章来为各位介绍一个python的例子,这个就是bootstrap+flask写登录页面的例子,希望文章能够对各位有所帮助。Flask是一
- 前言所谓“基础不狠,人站不稳”,对于任何一种编程语言来说基础往往都是重中之重,以Python为例,其
- 无意中看到朋友写的一篇文章“将表里的数据批量生成INSERT语句的存储过程的实现”。我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是
- 在讲CSS优先级之前,我们得要了解什么是CSS,CSS是用来做什么的。首先,我们对CSS作一个简单的说明:CSS是层叠样式表(Cascadi
- 在讲解Configurable之前,我们首先来看一道面试题:a = 1;console.log( window.a ); // 1conso
- 例子:以百度文库中选择文档的类型为例问题一:遍历点击所有文档类型的单选框# coding=utf-8from selenium import