返回顶部
首页 > 资讯 > 后端开发 > Python >基于tensorflow权重文件的解读
  • 308
分享到

基于tensorflow权重文件的解读

2024-04-02 19:04:59 308人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

1.解读Tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。 2.reader.get_variable_to_shape_map()可

1.解读Tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。

2.reader.get_variable_to_shape_map()可以得到权重文件里面的tensor名称。

3.reader.get_tensor(key) 可以得到对应tensor的权重值。


import tensorflow as tf
cpktFileName = r'.\models\resnet_v2_152.ckpt'
reader = tf.train.NewCheckpointReader(cpktFileName)
for key in sorted(reader.get_variable_to_shape_map()):
   
    if key.endswith('weights') or key.endswith('biases'):
        keySplits = key.split(r'/')
        print(key)
        print(reader.get_tensor(key))
        

resnet_v2_152权重 tensor name解读

第一,每个tensor name都以resnet_v2_152开头

第二,tensor name第二段为block,共有四个block。与网络架构有关。

第三,第三字段为unit,每个block里面unit数量不同。与网络架构有关。

第四,除了组后的平坦层,第四字段都为bottleneck_v2

第五,第五字段为‘conv1',‘conv2',‘conv3',‘shortcut'

第六,第六字段为‘weights' or ‘biases'

在这里插入图片描述

补充:tensorflow模型的调用,权重查看

以vc版本的tensorpack说明

模型调用

每次运行,会有checkpoint、graph、model生成

1、其中,若文件夹已经有checkpoint,且写有自动掉用上次模型,可以在上次的基础上继续训练,否则重新生成,且不能调用之前的模型,即使已经存在

2、每次运行会重新生成graph,即使上次的已经存在,因此调用上次模型与文件夹中是否有graph无关

权重变量查看


import numpy as np
import tensorflow as tf
import sys
model = sys.argv[1]
tensor = sys.argv[2]
reader = tf.train.NewCheckpointReader(model)
all_variables = reader.get_variable_to_shape_map()
#reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path)
#param_dict = reader.get_variable_to_shape_map()
for key, val in all_variables.items():
    try:
        print key, val
        #key是网络参数名,val是维度
    except:
        pass
w0 = reader.get_tensor(tensor)
np.save('con1d_w.npy',w0)
print(type(w0))
print(w0.shape)
print(w0[0])

文件内容

chekpoint—记录了保存的最新的checkpoint文件以及其它checkpoint文件列表。在inference时,可以通过修改这个文件,指定使用哪个model

MyModel.meta文件保存的是图结构,meta文件是pb(protocol buffer)格式文件,包含变量、op、集合等。

ckpt文件是二进制文件,保存了所有的weights、biases、gradients等变量。在tensorflow 0.11之前,保存在.ckpt文件中。0.11后,通过两个文件保存,如:


MyModel.data-00000-of-00001
MyModel.index

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 基于tensorflow权重文件的解读

本文链接: https://lsjlt.com/news/126904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于tensorflow权重文件的解读
    1.解读tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。 2.reader.get_variable_to_shape_map()可...
    99+
    2024-04-02
  • 解读tensorflow权重文件的方法
    小编给大家分享一下解读tensorflow权重文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!解读tensorflow权重文件,透过 tf.train.N...
    99+
    2023-06-15
  • 基于TensorFlow的手写中文识别(
    具体效果实现: 第一次由于设备问题所以只训练了是一些个简单的字; 第二选了23个字训练了3000在字迹清晰下能够识别: 类似于默,鼠,鼓,这类文字也能识别,由于训练数据的问题,在测试的时候应尽量写在正中间   中文手写数据集下载: ...
    99+
    2023-01-30
    中文 TensorFlow
  • tensorflow读取文件的方法有哪些
    在TensorFlow中,读取文件的方法有以下几种: 使用tf.io.gfile.GFile()函数读取文件,该函数可以打开本地...
    99+
    2024-03-15
    tensorflow
  • 基于MFC实现单个文档的文件读写
    目录写文件1.添加相应菜单以及ID2.完善相应的事件响应函数3.进行调试测试4.根据测试结果进行相应的修改读文件1.为读文件添加事件响应函数2.完善事件响应函数的代码3.调试测试&n...
    99+
    2024-04-02
  • 基于QT5的文件读取程序的实现
    目录一、文件读写操作QFile1.1 头文件1.2 内部函数二、UI设计三、代码3.1 mainwindow.h3.2 mainwindow.c四、效果一、文件读写操作QFile Q...
    99+
    2024-04-02
  • C++基于文件流与armadillo读取mnist示例详解
    前言 发现网上大把都是用python读取mnist的,用C++大都是用opencv读取的,但我不怎么用opencv,因此自己摸索了个使用文件流读取mnist的方法,armadillo...
    99+
    2024-04-02
  • Node.js的文件权限及读写flag详解
    一、文件权限的数字类型 用数字来代表各个权限,各权限的分数对照表如下: r: 4 w: 2 x: 1 文件的基本权限有9个,分别是owner、group、others三种...
    99+
    2022-06-04
    详解 权限 文件
  • 基于Java实现Avro文件读写功能
    目录模式(schema)与其他系统的比较Java客户端实现定义一个schema使用Java代码生成插件生成的User类进行序列化和反序列化在不生成User类的情况下直接进行序列化和反...
    99+
    2024-04-02
  • 基于MFC如何实现单个文档的文件读写
    这篇“基于MFC如何实现单个文档的文件读写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于MFC如何实现单个文档的文件读写...
    99+
    2023-07-02
  • 基于JavaBean编辑器读取peroperties文件的实例
    引言最近在重读《精通Spring+4.x++企业应用开发实战》这本书,看到了有关JavaBean编辑器的部分,了解到PropertyEditor和BeanInfo的使用。不得不说,BeanInfo是一个很强大的东西,Java中的内省也与之有...
    99+
    2023-05-30
    javabean 读取 peroperties
  • Java基于PDFbox实现读取处理PDF文件
    目录前言pdfbox介绍开发环境PDFbox依赖快速开始结语前言 嗨,大家好,2022年春节已经接近尾声,各地都陆陆续续开工了。近期有朋友做一个小项目正好使用Java读取PDF文件信...
    99+
    2024-04-02
  • 基于node.js的fs核心模块读写文件操作(实例讲解)
    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方...
    99+
    2022-06-04
    实例 模块 核心
  • 基于文件上传漏洞获得网站 shell 权限
    目录 一、基于 DVWA 的 low 级别演示文件上传漏洞 1、文件上传漏洞简介 2、上传文件测试 二、基于 DVWA 的 Medium 级别演示文件上传漏洞 三、基于 DVWA 的 High 级别演示文件上传漏洞 1、上传测试      ...
    99+
    2023-10-06
    安全
  • tensorflow学习笔记之tfrecord文件的生成与读取
    训练模型时,我们并不是直接将图像送入模型,而是先将图像转换为tfrecord文件,再将tfrecord文件送入模型。为进一步理解tfrecord文件,本例先将6幅图像及其标签转换为t...
    99+
    2024-04-02
  • Android无需读写权限通过临时授权读写用户文件详解
    目录正文这里插三段小说明,如果只想知道方法的可以直接跳过模拟获取用户的图片的逻辑模拟将文件写入用户目录的操作模拟获取用户文件夹控制权的操作通过Uri获取文件信息正文 在进行需求开发...
    99+
    2023-03-19
    Android临时授权读写用户文件 Android临时授权
  • 基于fastapi框架的异步解读
    目录使用fastapi框架开发web项目1、为什么要用fastapi?2、什么是异步?3、在django中是怎么实现异步的呢?4、fastapi中的异步4.1 简单介绍一下协程的概念...
    99+
    2023-03-15
    fastapi框架 fastapi框架的异步 fastapi异步
  • Android 11 上的文件读写权限(MANAGE_EXTERNAL_STORAGE)
    平台      Android11 + RK3566 + AndroidStudio Android 权限的变化, 几乎每个版本的SDK都会有, 其中最大的一次是在6.0时, 增加的动态权限申请 读写存储的权限也几经更迭, 对开发人员来说,...
    99+
    2023-08-21
    android 文件权限 permission
  • 基于Python制作一个文件去重小工具
    目录前言实现步骤补充前言 常常在下载网络素材时有很多的重复文件乱七八糟的,于是想实现一个去重的操作。 主要实现思路就是遍历出某个文件夹包括其子文件夹下面的所有文件,最后,将所有文件...
    99+
    2024-04-02
  • 使用Tensorflow怎么对ckpt文件中的tensor进行读取
    本篇文章给大家分享的是有关使用Tensorflow怎么对ckpt文件中的tensor进行读取,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在使用pre-train model时...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作