TensorFlow---image recognition--classify_image运行、文件说明与错误(路径)解决
tutorial系列mnist已经玩过了,这篇玩一下 classify_image,其实就是image label。模型已经训练好的了,直接下载下来在.pb文件中。
本机环境:
Win10 + Python3.5 + tensorflow-1.1.0rc2-cp35-cp35m-win_amd64.whl
调用
maybe_download_and_extract函数中的urllib.request.urlretrieve()方法出错,出现了一个证书认证的错误。
错误:
ssl.CertificateError: hostname
SSL:全名
解决:
在代码中使用非认证的ssl内容:Secure socket layer安全套接字层,是一个由第三方机构来保证用户端和服务器能够使用安全加密链接通道通信的协议。它会给受信任的服务器颁发证书CA,这份证书用来秘密传递公钥。他们都是使用公钥加密数据,然后使用各自的私钥来进行解密。
“公共密钥可广泛使用。相反,专用密钥为特定个人所有。将公共密钥传送至用户的分发机制称为证书。证书一般由证书颁发机构 (CA) 签名,以确认公共密钥来自于要求发送公共密钥的主体。CA 是相互信任的实体。
数字认证的典型实现包括证书签名过程。该过程如下图中所示。”

| 1. | Alice 将一个签名的证书请求发送到 CA,该证书包含有她的姓名、公共密钥以及可能的附加信息。 | 
| 2. | CA 根据 Alice 的请求创建一个消息。CA 使用自己的专用密钥对消息进行签名,以创建一个单独的签名。CA 将消息和签名返回给 Alice。Alice 的证书中包含了消息和签名。 | 
| 3. | Alice 将她的证书发送给 Bob,让他有权访问她的公共密钥。 | 
| 4. | Bob 使用 CA 的公共密钥验证证书的签名。如果证明签名有效,则他会接受证书中的公共密钥作为 Alice 的公共密钥。 | 
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
错误:
TensorFlow 中的路径错误的问题
原因:
这个tutorial例子都是按照Linux下的路径写的比如./tmp/imagenet
如果是win下记得改成.//tmp//imagenet
所以第一件事儿是改路径,改路径!
注意:
不管是在 docker还是在 Windows下运行 ,都你只需要将py中路径格式写成当前系统相关的路径格式就好了。比如 windows 下就是\\ linux下 /
如果需要label自己的image,那么需要修改image_file的default = 绝对路径
parser.add_argument(
'--image_file',
type=str,
default='C:\\Users\\501-PC\\Desktop\\models-master\\tutorials\\image\\imagenet\\pipos.jpg',
help='Absolute path to image file.'
)
关于下载下来的压缩包中包含的文件:
classify_image_graph_def.pb 里面存放的是已经训练好的model的结果。包括:权重weight 以及 图graph
imagenet_synset_to_human_label_map.txt 存放的是label的text内容 与 ImageNet_synset的对应。 example: n00007846 person, individual, someone, somebody, mortal, soul
imagenet_2012_challenge_label_map_proto.pbtxt 存放的是ImageNet 2012 全部数据的UID 与其 目标类型int32
entry {
  target_class: 449
  target_class_string: "n01440764"
}
cropped_panda.jpg 就是那张可爱的panda了
综上,classify_image.py 是一个很好的练习使用 已经训练好的模型来使用自己的input得到结果的 tutorial。
TensorFlow---image recognition--classify_image运行、文件说明与错误(路径)解决的更多相关文章
- 关于SSIS批量抽取Excel文件报0x80004005错误的解决办法
		原文:关于SSIS批量抽取Excel文件报0x80004005错误的解决办法 标题: Microsoft Visual Studio ------------------------------ Pa ... 
- Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法
		Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法 在用tomcat运行WEB项目,并且使用了StringUtils包的时候,会出现 jav ... 
- 无法写入预编译头文件,由于 IO 设备错误,无法运行此项请求的错误的解决
		作者:朱金灿 来源:http://blog.csdn.net/clever101 早上查看服务器每日构建的情况,发现出现一个诡异的错误: fatal error C1085: 无法写入预编译头文件:& ... 
- vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称"错误的解决方法
		根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示 npm : 无法将"n ... 
- WordPress中"无法将上传的文件移动至"错误的解决方法
		#chown -R www:www /wwwroot 今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /home/wwwroot/wp-content/uploads/2013/”,郁闷 ... 
- gcc编译通过,运行却显示“段错误”的解决方法
		第一次在Liunx上(liunx mint 17)使用gcc编译c文件,竟然提示“找不到stdio.h",经过google后发现执行 sudo apt-get install build- ... 
- 创建Web项目运行时出小错误及解决方法
		1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language=" ... 
- win10下安装VS2005运行程序出现0x000007b错误的解决方法
		项目工程一运行就报错...真心坑... 方法如下: 1.安装DirectX 9.0c 形成原因是因为DirectX 9.0被损坏, 只需要安装即可. 如果有电脑管家的.在电脑管家里面搜索“Direct ... 
- eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法
		进入项目包下的.settings目录,找到org.eclipse.wst.common.project.facet.core.xml文件,用记事本打开后才发现这句话有问题:<runtime na ... 
- HUE下载HDFS文件时报ERR_CONNECTION_TIMED_OUT错误的解决办法
		1.故障描述 这是运行在公有云上的一套Hadoop集群,有一个公网IP将部分服务的端口映射出来供办公室访问. 数据分析师报告说:在HUE上面浏览HDFS文件,点击"download" ... 
随机推荐
- Linux下汇编语言学习笔记64 ---
			这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ... 
- HDU——1150 Machine Schedule
			Machine Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- Mybatis 最强大的动态sql <where>标签
			<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHER ... 
- mysql利用timestamp来进行帖子排序
			select * from table order by timestamp descorder by 该列 desc timestamp字段也可以用来排序,对应Java类型的.net.timesta ... 
- Python学习系列之文件操作
			Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的 ... 
- Android应用程序安装过程浅析
			我们知道在android中.安装应用是由PackageManager来管理的,可是我们发现PackageManager是一个抽象类.他的installPackage方法也没有详细的实现. 那在安装过程 ... 
- JSP自己定义标签入门实例具体解释
			JSP自己定义标签主要能用到的两个包 javax.servlet.jsp.*;javax.servlet.jsp.tagext.*; 自己定义标签<userInfo:showUserInfo/& ... 
- STL之关联容器的映射底层
			STL的关联容器有set, map, multiset, multimap.用于实现它们的底层容器有划入标准的rb_tree和待增加标准的hashtable. 底层容器rb_tree为上层容器提供了一 ... 
- form 表单序列化 serialize
			在开发中有时需要在js中提交form表单数据,就需要将form表单进行序列化. jquery提供的serialize方法能够实现. $("#searchForm").seriali ... 
- openstack (1)----- NTP 时间同步服务
			一.标准时间 1.地球分为东西十二个区域,共计24个时区 2.格林威治作为全球标准时间即(GMT时间),东时区以格林威治时区进行加,而西时区则进行减 3.地球的轨道并非正圆,在加上自传速度逐年递减,因 ... 
