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 的公共密钥。

  
我们通过使用不受认证的ssl链接解决:
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运行、文件说明与错误(路径)解决的更多相关文章

  1. 关于SSIS批量抽取Excel文件报0x80004005错误的解决办法

    原文:关于SSIS批量抽取Excel文件报0x80004005错误的解决办法 标题: Microsoft Visual Studio ------------------------------ Pa ...

  2. Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法

    Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法 在用tomcat运行WEB项目,并且使用了StringUtils包的时候,会出现 jav ...

  3. 无法写入预编译头文件,由于 IO 设备错误,无法运行此项请求的错误的解决

    作者:朱金灿 来源:http://blog.csdn.net/clever101 早上查看服务器每日构建的情况,发现出现一个诡异的错误: fatal error C1085: 无法写入预编译头文件:& ...

  4. vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称"错误的解决方法

    根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示 npm : 无法将"n ...

  5. WordPress中"无法将上传的文件移动至"错误的解决方法

    #chown -R www:www /wwwroot 今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /home/wwwroot/wp-content/uploads/2013/”,郁闷 ...

  6. gcc编译通过,运行却显示“段错误”的解决方法

    ​第一次在Liunx上(liunx mint 17)使用gcc编译c文件,竟然提示“找不到stdio.h",经过google后发现执行 sudo apt-get install build- ...

  7. 创建Web项目运行时出小错误及解决方法

    1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language=" ...

  8. win10下安装VS2005运行程序出现0x000007b错误的解决方法

    项目工程一运行就报错...真心坑... 方法如下: 1.安装DirectX 9.0c 形成原因是因为DirectX 9.0被损坏, 只需要安装即可. 如果有电脑管家的.在电脑管家里面搜索“Direct ...

  9. eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法

    进入项目包下的.settings目录,找到org.eclipse.wst.common.project.facet.core.xml文件,用记事本打开后才发现这句话有问题:<runtime na ...

  10. HUE下载HDFS文件时报ERR_CONNECTION_TIMED_OUT错误的解决办法

    1.故障描述 这是运行在公有云上的一套Hadoop集群,有一个公网IP将部分服务的端口映射出来供办公室访问. 数据分析师报告说:在HUE上面浏览HDFS文件,点击"download" ...

随机推荐

  1. AtCoder Grand Contest 011 E - Increasing Numbers(灵性乱搞)

    题意: 当一个整数高位数字总不小于低位数字,或者说写成字符串之后单调不下降,称之为上升数.求一个整数最少能表示为多少个上升数的和.(n<=1e500000) 分析: 考虑那些不下降的数字,一定可 ...

  2. Git push时报错 ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to......

    今天在使用Git回退到之前某个版本的代码时,进行push时出现如下错误: ! [remote rejected] master -> master (pre-receive hook decli ...

  3. Eclipse 搭建tomcat+动态项目完整版

    1. Tomcat搭建 1.新加服务器,右击控制台的server目录->new->server->选择本地tomcat 2.配置tomcat属性(如果更改失败,将tomcat下的项目 ...

  4. SVG :可缩放矢量图形(Scalable Vector Graphics)。

    SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 使用 XML 格式定义图像. SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 SVG 使用 XML ...

  5. 第三课 MongoDB 数据更新

    1.课程大纲 本课程主要解说 MongoDB 数据更新的相关内容.包含文档插入 insert 函数.文档删除 remove函数以及文档更新update函数的基本使用.除此之外.还会介绍 MongoDB ...

  6. 黑马day16 aptana插件的安装

    aptana: eclipse或者myeclipse中的javaScript,html,css的代码提示功能非常差...因此我们选择了这个框架. aptana的安装步骤: 1.须要下载aptana的插 ...

  7. java 翻页工具类

    Pagination类 package com.paic.bics.core.mybatis.page; import java.util.List; @SuppressWarnings(" ...

  8. Python爬虫【第3篇】【多线程】

    一.多线程 Python标准库提供2个模块,thread是低级模块,threading是高级模块 1.threading模块创建多线程 方式1:把1个函数传入并创建Thread实例,然后调用start ...

  9. Vijos 1523 贪吃的九头龙 【树形DP】

    贪吃的九头龙 背景 安徽省芜湖市第二十七中学测试题 NOI 2002 贪吃的九头龙(dragon) Description:OfficialData:OfficialProgram:Converted ...

  10. Robot Framework 初学者上手资料

    首先要声明一下这是从http://www.cnblogs.com/yufeihlf/p/5949984.html拷贝的. 在这里只是自己的一个笔记,方便日后添加.修改内容. 总结下Robot Fram ...