原文地址:https://www.tuicool.com/articles/ieQZVfa

前一帖《 TensorFlow练习10: 实现谷歌Deep Dream 》使用到了谷歌训练的Inception模型,本帖就基于Inception模型retrain一个图像分类器。

图像分类器应用广泛,连农业都在使用,如判断黄瓜种类。

本帖使用的训练数据是《 TensorFlow练习9: 生成妹子图(PixelCNN) 》一文中使用的妹子图,最后训练出的分类器可以判断图片是不是妹子图。

首先下载tensorflow源代码:

$ gitclone https://github.com/tensorflow/tensorflow
$ gitcheckoutr0.11  # checkout对应已安装的Tensorflow版本

使用examples中的image_retraining。

训练:

$ pythontensorflow/tensorflow/examples/image_retraining/retrain.py --bottleneck_dirbottleneck --how_many_training_steps 4000 --model_dirmodel --output_graphoutput_graph.pb --output_labelsoutput_labels.txt --image_dirgirl_types/

参数解释参考retrain.py源文件。

大概训练了半个小时:

生成的模型文件和labels文件:

使用训练好的模型:

importtensorflowas tf
importsys# 命令行参数,传入要判断的图片路径
image_file = sys.argv[1]
#print(image_file)# 读取图像
image = tf.gfile.FastGFile(image_file, 'rb').read()# 加载图像分类标签
labels = []
for labelin tf.gfile.GFile("output_labels.txt"):labels.append(label.rstrip())# 加载Graph
withtf.gfile.FastGFile("output_graph.pb", 'rb') as f:graph_def = tf.GraphDef()graph_def.ParseFromString(f.read())tf.import_graph_def(graph_def, name='')withtf.Session() as sess:softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')predict = sess.run(softmax_tensor, {'DecodeJpeg/contents:0': image})# 根据分类概率进行排序top = predict[0].argsort()[-len(predict[0]):][::-1]for indexin top:human_string = labels[index]score = predict[0][index]print(human_string, score)

执行结果:

参考:

  • https://www.tensorflow.org/versions/r0.11/how_tos/image_retraining/index.html
  • TensorFlow练习4: CNN, Convolutional Neural Networks
  • How Convolutional Neural Networks work

Share the post "TensorFlow练习11: 图像分类器 – retrain谷歌Inception模型"

  • Google+
  • Weibo
  • Email

TensorFlow练习11: 图像分类器 – retrain谷歌Inception模型(转)相关推荐

  1. tf11: retrain谷歌Inception模型

    前一帖使用到了谷歌训练的Inception模型,本帖就基于Inception模型retrain一个图像分类器. 图像分类器应用广泛,连农业都在使用,如判断黄瓜种类. 本帖使用的训练数据是PixelCN ...

  2. Tensorflow图像分类器retrain过程

    0x00 运行环境 首先安装anaconda和tensorflow_gpu环境, 网上有教程,不多赘述.装完之后好像tensorflow_gpu会在anaconda下创建一个虚拟环境. 然后将Tens ...

  3. [译] TensorFlow 教程 - 07 Inception 模型

    本文主要演示了如何使用Inception v3模型进行图像识别. 01 - 简单线性模型 | 02 - 卷积神经网络 | 03 - PrettyTensor | 04 - 保存& 恢复 05 ...

  4. CV之IE之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成不同尺寸和质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)—五个架构设计思维导图

    CV之IE之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成不同尺寸和质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)-五个架构设计思维导图 ...

  5. TF之DD:利用Inception模型+GD算法生成带背景的大尺寸、高质量的Deep Dream图片——五个架构设计思维导图

    TF之DD:利用Inception模型+GD算法生成带背景的大尺寸.高质量的Deep Dream图片--五个架构设计思维导图 目录 TF中的Deep Dream实践:利用Inception模型+GD算 ...

  6. python手机运行器_MobileNet教程:用TensorFlow搭建在手机上运行的图像分类器

    王瀚宸 编译自 Hackernoon 量子位 报道 | 公众号 QbitAI 在移动端本地运行神经网络成了明显的趋势,Google还为此推出了MobileNet框架. MobileNet框架怎么用?C ...

  7. Tensorflow(七)Retrain Google Inception V3

    1.下载Inception V3模型 Download-Link 在tensorflow官网中可以直接下载,下载完压缩包以后解压,注意不要删除这个压缩包,后面可能会用到,然后在同目录下创建一个log文 ...

  8. tensorflow 迁移学习_基于 TensorFlow.js 1.5 的迁移学习图像分类器

    在黑胡桃社区的体验案例中,有一个"人工智能教练",它其实是一个自定义的图像分类器.使用 TensorFlow.js 这个强大而灵活的 Javascript 机器学习库可以很轻松地构 ...

  9. 如何使用 Google 的 AutoAugment 改进图像分类器

    本文为 AI 研习社编译的技术博客,原标题 : How to improve your image classifier with Google's AutoAugment 作者 | Philip P ...

最新文章

  1. python name is not defined_PythonNameError: global name 'NAME' is not not defined这个问题怎么解决?...
  2. 高并发软件设计的几种方式
  3. C++对象内存布局--①测试虚函数表属于类
  4. 页面适配的小栗子 - github
  5. 杂七杂八(1)——如何查看本机的.NET Framework版本
  6. Visual Translation Embedding Network for Visual Relation Detection论文中的术语以及对论文的理解笔记...
  7. Java关键字final、static
  8. Wireshark入门:第一次亲密接触
  9. 采用 Python 机器学习预测足球比赛结果
  10. 默纳克万能协议服务器图片,默纳克万能MDKE6服务器使用说明.docx
  11. 简单、免费但强大的高效率截图工具——Snipaste(下载安装+常用快捷键教学)
  12. Linux重置root密码和Linux基础命令
  13. 科学计算机怎么表示大括号,电脑上大括号怎么拉长
  14. 梅花雪树控件的属性及方法
  15. React中的SVG陷阱
  16. 20个非常有用的Python单行代码
  17. RuntimeError: Attempting to deserialize object on CUDA device 3 but torch.cuda.device_count() is 1.
  18. ARM汇编指令以及伪指令
  19. 爬虫第十式:多线程爬取小米应用商店聊天社交类别
  20. php对plc的TCP通信,smart200PLC TCP通讯

热门文章

  1. 数学建模-插值与拟合(预测模型)
  2. LayaBox -- 加载Json数据
  3. LeetCode 第187场周赛 题解
  4. 传统图像分割——区域合并算法(region merging)
  5. U8C推拉单API开发笔记
  6. backtrader的学习之路:QuickStart
  7. Idea官网进不去,解决办法
  8. X-Ray 基于法线的轮廓渲染
  9. 不经意看了一条朋友圈文案,我被大公司录取了!文案如下...
  10. Golang中Bit数组的实现