做机器训练有段时间了,从Windows到Mac再到Unbuntu,一直在搭建tensorflow机器训练环境。在工作中逐步找到最快捷的搭建方式,这次就以Mac为例记录下在Mac中搭建tensorflow机器训练环境(Ubuntu搭建流程是一样的)。
首先,由于多年来养成的IDE编程习惯,就想着如果有合适的IDE用于开发tenforflow以及对依赖库的管理,那应该是件不错的事情。通过各种实践发现Pycharm很适合我们的需求,采用工程项目的方式对我们的机器训练项目进行管理,可能是本人开发Android时比较青睐AndroidStudio,所以对JetBrains的IDE都有一种好感。所有的一切都在Pycharm中完成,那么我们就切入正题,开始搭建tensorflow平台吧。
1、下载并安装Mac版的Pycharm:
Pycharm官网:https://www.jetbrains.com/pycharm/download/#section=mac
下载Mac社区免费版即可。
下载完成后直接安装,然后打开Pycharm,新建一个Python的工程就可以了。
2、设置Project Interpreter:Python环境
由于Mac自带Python,我们先直接使用Mac的Python环境,也可以自行安装Python或升级本机Python,在Project Interpreter设置里进行Python关联即可。
新建py_project工程,打开设置页面:command + ,(快捷键)
点击设置按钮进行Python环境的关联。上图可以看到依赖库的管理,在这里我们可以添加和删除依赖库,点击左下角的“+”进行添加,点击“-”进行删除。
我们先依次安装以下依赖库:
(1)tensorflow 训练平台 : pip install tensorflow==1.8.0 or pip install tensorflow-gpu==1.8.0
(2)tensorboard 训练结果可视化分析
(3)protobuf 训练模型时需要
(4)pycocotools 评估模型时需要
(5)opencv-python 处理样本图片时需要
3、下载record文件制作项目raccoon_dataset:
tensorflow训练的样本数据都是record文件,而我们的样本数据往往都是xml标签和jpg图片,那么我们可以用raccoon_dataset制作我们的训练record文件。
raccoon_dataset下载地址:https://github.com/datitran/raccoon_dataset
下载完成后将raccoon_dataset-master复制到我们新建的py_project同级目录下。
4、下载tensorflow-model模型训练项目:
这个项目是我们训练我们模型的依托项目,我们所有的机器训练都在这个项目中完成。
下载地址:https://github.com/tensorflow/models
下载完成后将model-master复制到我们新建的py_project同级目录下。
5、关联项目raccoon_dataset和tensorflow-model:
将刚才下载的两个项目关联到我们工程中,这样我们就可以直接使用这两个项目。
关联完成后我们还需要关联一些必要的目录:
model-master/research 和 model-master/research/slim
在Pycharm的左边的project视图中找到上面两个目录并右击选择:Markd directory as -> Sources Root
标记完后可以看到这两个文件夹变成了蓝色。
6、安装Protoc:
protoc是google的文件存储和通信协议的格式工具。
下载地址:https://github.com/google/protobuf/releases
下载后bin目录下会有一个protoc二进制文件,覆盖到对应目录:
cp bin/protoc /usr/local/bin/protoc
我们打开终端输入: protoc --version
版本号3.5.1,安装成功。
7、编辑tensorflow-model项目:
虽然我们关联上tensorflow-mode项目,但是在训练中我们需要用的一些api还是要通过编译这个项目生成的,所以我们现在就写个编译的脚本,很简单的两行代码就可以了。
我们在py_project项目下新建一个python文件compile_object_detection.py:
# -*- coding:utf-8 -*-
import os
'''
编译object_detection API
'''
if __name__ == "__main__":
build = "python ../models-master/research/object_detection/builders/model_builder_test.py"
os.system(build)
直接运行,提示OK即编译成功:
8、验证环境:
所有环境安装完毕,接下来我们就可以进行自己的模型训练了。