Tensorflow读取并输出已保存模型的权重数值方式

yipeiwu_com6年前Python基础

这篇文章是为了对网络模型的权重输出,可以用来转换成其他框架的模型。

import tensorflow as tf
from tensorflow.python import pywrap_tensorflow

#首先,使用tensorflow自带的python打包库读取模型
model_reader = pywrap_tensorflow.NewCheckpointReader(r"model.ckpt")

#然后,使reader变换成类似于dict形式的数据
var_dict = model_reader.get_variable_to_shape_map()

#最后,循环打印输出
for key in var_dict:
  print("variable name: ", key)
  print(model_reader.get_tensor(key))

结果(其中一个权重的示例)

........
variable name: InceptionV3/Mixed_7c/Branch_3/Conv2d_0b_1x1/weights
[[[[ 0.00013783 -0.00251428 0.02235526 ... -0.01409702 0.00340105
  -0.00752808]
  [ 0.01590012 -0.00258413 -0.00627338 ... -0.03600493 0.01220086
  -0.01254225]
  [-0.02394262 -0.00764508 -0.00895328 ... -0.01731405 0.03568469
   0.00918952]
  ...
  [-0.01865693 -0.00358359 -0.02342288 ... 0.00935838 0.00367858
  -0.00976252]
  [ 0.01297642 0.00223457 0.00652326 ... -0.00762609 -0.0136022
  -0.01129473]
  [-0.01395879 -0.00920246 0.01061887 ... 0.0236958  0.00041993
  -0.01291134]]]]
......

以上这篇Tensorflow读取并输出已保存模型的权重数值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用python实现扫描端口示例

python最简洁易懂的扫描端口代码.运行绝对会很有惊奇感 复制代码 代码如下:from threading import Thread, activeCount import sock...

浅析Python中的序列化存储的方法

在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把na...

python线程、进程和协程详解

引言 解释器环境:python3.5.1 我们都知道python网络编程的两大必学模块socket和socketserver,其中的socketserver是一个支持IO多路复用和多...

Django实现分页功能

Django实现分页功能

Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表、元组或其它可迭代的对象。 class Paginat...

Python实现的微信支付方式总结【三种方式】

Python实现的微信支付方式总结【三种方式】

本文实例讲述了Python实现的微信支付方式。分享给大家供大家参考,具体如下: 一、准备环境 1、要有微信公众号,商户平台账号 https://pay.weixin.qq.com/wik...