当前位置 博文首页 > 基于tensorflow权重文件的解读
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))
第一,每个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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。
jsjbwy深圳SEO优化公司杭州百度网站优化新乡网站设计模板价格保山网站优化排名哪家好昆明seo网站推广推荐舟山网站推广多少钱安阳网页设计兴安盟网站改版报价宿迁网站优化推广哪家好石岩百度竞价包年推广公司中山seo优化多少钱红河英文网站建设公司保定推广网站公司白银网站设计模板公司襄阳网站优化软件推荐昭通SEO按天收费哪家好自贡网站定制哪家好无锡SEO按天扣费公司兰州设计公司网站公司思茅网络营销报价张掖网站设计多少钱佛山优化推荐安庆网站改版报价湘西阿里店铺运营报价深圳百度网站优化排名价格吉林网站设计价格黄山百度关键词包年推广哪家好昌吉企业网站建设哪家好珠海网站关键词优化崇左设计公司网站公司汉中优秀网站设计报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运