1.环境配置

2.数据集获取

3.训练集获取

4.训练

5.调用测试训练结果

6.代码讲解

  本文是第一篇,环境配置篇。

先打开tensorflow object detection api 看看需要什么配置。

当然,我写的教程不是很详细,详细的请看官方的教程:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md

Tensorflow Object Detection API depends on the following libraries:

  • Protobuf 3.0.0
  • Python-tk
  • Pillow 1.0
  • lxml
  • tf Slim (which is included in the "tensorflow/models/research/" checkout)
  • Jupyter notebook
  • Matplotlib
  • Tensorflow (>=1.9.0)
  • Cython
  • contextlib2
  • cocoapi

在安装之前,我们先把这个object detection model 给git下来,在任意目录下,命令行输入以下命令。

git clone https://github.com/tensorflow/models.git

完成之后就能看到一个model文件夹,当然,git命令使用的基础是你已经安装了git,怎么安装git自己百度吧。。

下一步安装tensorflow,安装过的可以直接跳过。

# 如果你要用CPU,就用下面的代码
pip install tensorflow
#如果你用GPU,就用这里的代码
pip install tensorflow-gpu

当然,pip命令使用的基础是你已经安装了pip,如果你不会安装,请自行百度。

我默认你已经完成了上面的操作,下面就开始安装其他东西。

sudo apt-get install protobuf-compiler python-pil python-lxml python-tk
pip install --user Cython
pip install --user contextlib2
pip install --user jupyter
pip install --user matplotlib

命令行里输入以上的命令,完成Cython等库的安装。

下一步至关重要,你需要安装COCOAPI。

在任何一个目录下将cocoapi 给git下来,进入python api目录,编译。

然后进入之前输入make之后的指令,清注意将<path_to_tensorflow>替换为models之前的绝对路径。

git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
make
cp -r pycocotools <path_to_tensorflow>/models/research/

这里你已经完成了很多工作,从models/research执行以下命令

# From tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=. #From tensorflow/models/research/
wget -O protobuf.zip https://github.com/google/protobuf/releases/download/v3.0.0/protoc-3.0.0-linux-x86_64.zip
unzip protobuf.zip # From tensorflow/models/research/
./bin/protoc object_detection/protos/*.proto --python_out=.

这段代码完成了对protobuf的编译工作,这只适用于linux。

接下来就是将pythonpath添加进path

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

接下来就是测试是否安装成功了。

python object_detection/builders/model_builder_test.py

输入以上指令,如果出现

.....................
----------------------------------------------------------------------
Ran 21 tests in 0.074s OK

表明你安装成功了。准备下一步吧。

[神经网络]一步一步使用Mobile-Net完成视觉识别(一)的更多相关文章

  1. 一步一步理解word2Vec

    一.概述 关于word2vec,首先需要弄清楚它并不是一个模型或者DL算法,而是描述从自然语言到词向量转换的技术.词向量化的方法有很多种,最简单的是one-hot编码,但是one-hot会有维度灾难的 ...

  2. 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单

    阅读目录 前言 解决数据一致性的方案 回到DDD 设计 实现 结语 一.前言 之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍.现在来到了这最后一个环节,提交订单.单从业务上看,这个 ...

  3. 如何一步一步用DDD设计一个电商网站(十三)—— 领域事件扩展

    阅读目录 前言 回顾 本地的一致性 领域事件发布出现异常 订阅者处理出现异常 结语 一.前言 上篇中我们初步运用了领域事件,其中还有一些问题我们没有解决,所以实现是不健壮的,下面先来回顾一下. 二.回 ...

  4. NLP(二十九)一步一步,理解Self-Attention

      本文大部分内容翻译自Illustrated Self-Attention, Step-by-step guide to self-attention with illustrations and ...

  5. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  6. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  7. 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车

     阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...

  8. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文

    阅读目录 前言 明确业务细节 建模 实现 结语 一.前言 上一篇我们已经确立的购买上下文和销售上下文的交互方式,传送门在此:http://www.cnblogs.com/Zachary-Fan/p/D ...

  9. 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文

    阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...

  10. 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发

    阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...

随机推荐

  1. C++类型起别名的方式

    C++给类型起别名的方式: #include <iostream> using namespace std; #define DString std::string //! 不建议使用!t ...

  2. Mujin Programming Challenge 2017A - Robot Racing【思维题】

    题意: 给你n个人的位置,每个人能往后跳一格或两格到无人的位置,跳到0位置,这个人消失,n个人消失组成一个排列,问有多少种排列. 思路: 额,搞了一整场这个A...代码也巨挫了. 处理成1,3,5,7 ...

  3. ue4 碰撞检测测试

    记录几条物理相关 测试条件,1使用setActorLocation移动,3使用控制器的移动 1 moveCube  2 targetCube  3 Character 两个Cube的碰撞事件 1和2的 ...

  4. Unite 2017 | 基于Animation Instancing的大规模人群模拟

    在Unite 2017的国内技术专场,Unity技术团队为参会者们带来了Unity引擎功能相关的技术分享.今天这篇文章,将由Unity技术支持工程师金晓宇为大家分享基于Animation Instan ...

  5. mysql联合查询(UNION)

    SECLET USER_NAME FROM USERS UNION [ALL] SECLET GNAME FROM SCORES 可以把多条查询语句所产生的结果纵向连接为一体 ALL关键字可以显示全部 ...

  6. sql server添加sa用户和密码

    昨天给网站“搬家”(更换服务器),我是在win7上安装的 sql server2012,安装过程很顺利,用“Windows 身份验证” 也可正常访问.但是用sa用户访问数据库出现了 错误:18456. ...

  7. oracle merge 目标表以及源表存在重复列的问题(转)

    SQL> select * from t_source;                                                                      ...

  8. Unable to load EJB module

    http://stackoverflow.com/questions/12414526/unable-to-load-ejb-module

  9. JavaWeb案例: 文件下载 基于tomcat8 默认编码为UTF-8

    package cn.itcast.download; import javax.servlet.ServletException; import javax.servlet.ServletOutpu ...

  10. Eclipse中各图标含义

    Eclipse中定义很多小图标,在平时的开发工作中,熟悉这些小图标还是很有意义的.那具体意义大家又知道多少呢? 首先,通过在搜索“eclipse icon meaning”,找到了一个比较有用的链接, ...