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获取网段内ping通IP的方法

问题描述 在某些问题背景下,需要确认是否多台终端在线,也就是会使用我们牛逼的ping这个命令,做一些的ping操作,如果需要确认的设备比较少,也还能承受。倘若,在手中维护的设备很多。那么...

Python编程中NotImplementedError的使用方法

Python编程中raise可以实现报出错误的功能,而报错的条件可以由程序员自己去定制。在面向对象编程中,可以先预留一个方法接口不实现,在其子类中实现。 如果要求其子类一定要实现,不实现...

MAC中PyCharm设置python3解释器

MAC中PyCharm设置python3解释器

MAC上的PyCharm中默认的python解释器是python2的,windows下的没用过不是很清楚,所以特来记录下设置python3解释器的过程。 python3的查找与安装 如果...

Django中传递参数到URLconf的视图函数中的方法

有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样: # urls.py from django.co...

浅谈python多进程共享变量Value的使用tips

浅谈python多进程共享变量Value的使用tips

前言: 在使用tornado的多进程时,需要多个进程共享一个状态变量,于是考虑使用multiprocessing.Value(对于该变量的具体细节请查阅相关资料)。在根据网上资料使用Va...