蓝鸥旗下品牌: 鸥课学院
全国咨询电话:13152008057
石家庄
您的位置: 首页 > 最新资讯 > 0基础建自己的图像识别系统

0基础建自己的图像识别系统

2017-07-17 蓝鸥
1328人 浏览:

  有些人会使用IBM Watson来建立自己的图片识别系统,但是Watson虽然使用方便,但其定制化的能力就比较弱了。对于希望能给构建的图像识别系统增加更多灵活性的同学来说。TensorFlow是个不错的选择。

  到底选哪个合适呢?

  Watson和Tensorflow没法直接比较。Watson是一系列已经构建好的API;而Tensorflow是一个library。如果你知道怎么用的话,可以根据项目的需求,做出各种各样的调整。甚至做一个Tensorflow版的水货Watson。

  下面的案例,就是我们通过利用谷歌的Inception v3 network来做一个翻版。

  在开始之前,你需要先安装一个Docker。

  Docker地址——https://www.docker.com/products/docker-toolbox

  

1.png


  然后,创建一个 tf_files的文件夹 ,作为项目的主文件目录

  在 tf_files下面,再创建test_set 和 training_set两个文件夹

  然后在training_set 里创建maul 和 vader这两个需要识别的图片分类。

  将下载的图片文件都复制到这两个分类文件夹里

  2.png

目录结构

  然后打开docker的终端

  用cd命令进入tf_files目录下

  输入这条命令

  下载下面这个Python Script

  有了这个Script你之后就可以假装是个码农了

   curl -L https://goo.gl/tx3dqg > label_image.py

  然后启动 docker

  docker run -it -v $PWD:/tf_files gcr.io/tensorflow/tensorflow:latest-devel

  Tips

  Docker run命令介绍

  http://www.lupaworld.com/article-250439-1.html

  到此准备工作就结束了

  可以开始训练模型了

  惊喜不惊喜?

  意外不意外?

  重新训练

  再用cd命令

  切换到 /tensorflow文件目录下

  把最新的内容更新 

  cd /tensorflow
  git pull

  更新完成后,运行一下命令

  重新训练模型

    python tensorflow/examples/image_retraining/retrain.py \ 
     
    --bottleneck_dir=/tf_files/bottlenecks \ 
     
    --how_many_training_steps 500 \  
    
    --model_dir=/tf_files/inception \  
    
    --output_graph=/tf_files/retrained_graph.pb \  
    
    --output_labels=/tf_files/retrained_labels.txt \  
    
    --image_dir /tf_files/training_set

  在机器正在忙着训练的时候,你要是等不及,可以玩一局王者荣耀,等你打完,模型应该训练好了

  然后你就可以运行刚才下载的Python Script来进行测试了

   python /tf_files/label_image.py /tf_files/test_set/my_test_photo.jpg

  如果没有什么问题,

  你应该会得到差不多这样的反馈

    maul (score = 0.99071)  

    vader (score = 0.00929)

  请注意

  Tensorflow返回的数值是经过标准化之后的数值

  他们相加等于1

  所以这数字对于某些情况下

  可能会误导你

  其实实际并没有数值显示的那么高

  结论

  总的来说,Watson用起来比Tensorflow要简单得多。如果你有钱,项目又不复杂,尽量用Watson。

  但是如果想要骗到妹子,让她觉得你不仅仅会修电脑,或者在不懂行的投资人面前装装逼,那Tensorflow就太适合了。

  用Tensorflow搭建的分类器可以放在你自己的服务器或者本机上,这样就不用付服务器费用了,以尽可能小的成本装逼是我的一贯行为准则。

  1. 广告1
  2. 广告2
  3. 广告3
  4. 广告4