Tensorflow读取并使用预训练模型:以inception_v3为例

在使用Tensorflow做读取并finetune的时候,发现在读取官方给的inception_v3预训练模型总是出现各种错误,现记录其正确的读取方式和各种错误做法:
关键代码如下:

import tensorflow as tf
import tensorflow.contrib.slim as slim
from tensorflow.contrib.slim.python.slim.nets import inception_v3

.....................................................

# 读取网络
with slim.arg_scope(inception_v3.inception_v3_arg_scope()):
    logits, end_points = inception_v3.inception_v3(imgs, num_classes=class_num, is_training=is_training_pl)

....................................................

with tf.Session() as sess:
     # 先初始化所有变量,避免有些变量未读取而产生错误
     init = tf.global_variables_initializer()
     sess.run(init)
     #加载预训练模型
     print('Loading model check point from {:s}'.format(Pretrained_model_dir))

     #这里的exclusions是不需要读取预训练模型中的Logits,因为默认的类别数目是1000,当你的类别数目不是1000的时候,如果还要读取的话,就会报错
     exclusions = ['InceptionV3/Logits',
                   'InceptionV3/AuxLogits']
     #创建一个列表,包含除了exclusions之外所有需要读取的变量
     inception_exc
  • 15
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值