博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TensorFlow---image recognition--classify_image运行、文件说明与错误(路径)解决
阅读量:5333 次
发布时间:2019-06-15

本文共 1864 字,大约阅读时间需要 6 分钟。

  tutorial系列mnist已经玩过了,这篇玩一下 classify_image,其实就是image label。模型已经训练好的了,直接下载下来在.pb文件中。

本机环境:

  Win10 + Python3.5 + 

 

调用

maybe_download_and_extract函数中的urllib.request.urlretrieve()方法出错,出现了一个证书认证的错误。

错误:

  ssl.CertificateError: hostname 

  SSL:全名

解决:

  在代码中使用非认证的ssl内容:Secure socket layer安全套接字层,是一个由第三方机构来保证用户端和服务器能够使用安全加密链接通道通信的协议。它会给受信任的服务器颁发证书CA,这份证书用来秘密传递公钥。他们都是使用公钥加密数据,然后使用各自的私钥来进行解密。

  “公共密钥可广泛使用。相反,专用密钥为特定个人所有。将公共密钥传送至用户的分发机制称为证书。证书一般由证书颁发机构 (CA) 签名,以确认公共密钥来自于要求发送公共密钥的主体。CA 是相互信任的实体。

数字认证的典型实现包括证书签名过程。该过程如下图中所示。”

fa1sn01

1.

Alice 将一个签名的证书请求发送到 CA,该证书包含有她的姓名、公共密钥以及可能的附加信息。

2.

CA 根据 Alice 的请求创建一个消息。CA 使用自己的专用密钥对消息进行签名,以创建一个单独的签名。CA 将消息和签名返回给 Alice。Alice 的证书中包含了消息和签名。

3.

Alice 将她的证书发送给 Bob,让他有权访问她的公共密钥。

4.

Bob 使用 CA 的公共密钥验证证书的签名。如果证明签名有效,则他会接受证书中的公共密钥作为 Alice 的公共密钥。

  
我们通过使用不受认证的ssl链接解决:
import sslssl._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。

 

转载于:https://www.cnblogs.com/luntai/p/6747206.html

你可能感兴趣的文章
java stringbuffer二
查看>>
[hihoCoder] 拓扑排序·一
查看>>
(转)接口测试用例设计(详细干货)
查看>>
js Math对象方法 (个人学习笔记)
查看>>
helm-chart-2-chart结构和简单模板
查看>>
转载Repository 和Unit of work的使用说明
查看>>
【译】SSH隧道:本地和远程端口转发
查看>>
win8.1安装Python提示缺失api-ms-win-crt-runtime-l1-1-0.dll问题
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
判断两个字符串是否相等【JAVA】
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
协议和代理
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法(转)...
查看>>
[转]iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用
查看>>
Spring mvc初学
查看>>
python标准库学习7
查看>>