|
本帖最后由 chun2495 于 2020-10-13 13:03 编辑
看大家热情这么高,这一节开始出干货。
先把流程写下俩,方便大家理清思路。后面章节会按照这个流程来进行。
1. 搭建deeplab环境。
2. 制作自己的训练数据。
3. 用自己的数据训练网络并测试。
4. 将训练好的网络转换为IOS能够识别的格式。
5. 编写iPhone App,导入模型进行测试。
6. 补充内容。
好了,让我们开始第一项吧!
介绍下我的系统,因为要开发ios app,所以我用的是苹果电脑,当然linux系统是最佳选择,因为大部分神经网络都是先支持linux,再移植支持mac和windows的。用windows的,也可以进行开发,只是一些小地方需要注意。
一、配置环境
1.1 配置信息
系统:macOS Catalina 10.15.5
python版本:Python3.6.4
tensorflow版本: tensorflow——cpu 1.13.rcl
(由于tensorflow1.2以上版本macos不支持GPU,这里我选择安装tensorflow-CPU 1.13.0rc1 但是这样效率极低,对于batch_size=12 crop_size=[321,321]的训练尺寸依旧需要67.573 sec/step。)
!!! 这里我要重点说一下:我之前都是用这个版本来训练的,但是到后面发现ios提供的转换器只能支持1.14.0以上的版本,所以我后面应用到app上的实际是1.14.0版本,但是前期学习或者不用ios的可以不用管这个。后面有需要的坛友我会补充的。
Deeplab版本:Deeplab_V3+ r1.13.0
1.2 环境搭建
Mac对于内存管理要求很严格,如果不创建一个虚拟环境可能会导致出现一个错误后所有的库都无法正常运行。所以先要搭建一个虚拟环境来分隔开:
1)先安装anaconda(官网:https://www.anaconda.com),接下来需要利用conda来创建一个虚拟环境。anaconda的Mac版安装非常简单,一直next就可以了。
2)在anaconda安装好后重新打开终端,可以看到在用户名前出现了(base)的的提示,这说明anaconda安装成功,基本的环境已经有了。
接下来我们需要创建一个新的环境,输入在终端输入命令:
- conda create -n deeplab python=3.6.4
复制代码
(这里deeplab是我的环境名称,可以自己随意选择名称;python版本最好不要超过3.7,因为Mac版的tensorflow超过3.7会出现无法安装的情况,这也是我刚一开始搭建环境遇到的问题);在运行命令后可能会出现安装不成功的问题,这是因为原来的下载源连接速率比较慢,我们可以选择更改conda源为清华源:在终端输入命令
- conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- conda config --set show_channel_urls yes
复制代码
这样再创建环境就成功了。
3)这里我们需要激活刚才所创建的环境,终端输入下面命令来激活环境。
终端输入下面命令来退出环境。
激活后刚才的(base)就变成了(deeplab),这样环境搭建就基本完成了。
4)安装所需要的基本程序和库:这里推荐使用pip安装,conda安装后可能会出现ModuleNotFoundError。
a.首先需要安装Numpy:在终端输入
- pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
b.接着同样的方法安装pillow:在终端输入
- pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
c.Jupyter notebook : 在终端输入
- pip install Jupyter notebook -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
d.Matplotlib:在终端输入
- pip install Matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
e.需要注意的是Tensorflow安装我们需要安装1.13.0版本,1.13以上的版本可能会无法识别,进而会出现ModuleNotFoundError,所以这里需要安装tensorflow1.13.0:在终端输入
- pip install tensorflow==1.13.0rc0 -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
到此环境搭建完成。
f.这里特别要说一下,tensorflow1.13.0安装完后,默认安装的tensorflow_estimator版本是不对的,在后面运行model_test.py时会出现“ImportError: cannot import name 'model_utils'”错误,博客(https://blog.csdn.net/sozzled_1993/article/details/97117445)介绍了发生错误的原因,所以必须降低版本到1.13.0,输入
- pip install tensorflow_estimator==1.13.0
复制代码
来安降低版本就可以了。
1.3源码准备
在deeplab官网https://github.com/tensorflow/models下载分支r1.13.0。由于model-master增加了对tensorflow2.0以上的支持,在Mac上运行会出现诸多错误,困难太多了所以我们放弃model-master版本。所以选择branch r1.13.0来下载。这里说明一下,我自己下载下来的源码大概有440MB,速度很慢。几次都下载出错了。这里推荐一个网站,通过在这里来加速下载很快就下载好了(https://toolwa.com/github/)
1.4环境配置
按照官方安装说明安装必要库:Numpy、Pillow 1.0、tf Slim (which is included in the “tensorflow/models/research/” checkout)、Jupyter notebook、Matplotlib、Tensorflow,这些库我们已经在1.2的最后一个环节安装过了。
这里的tf Slim已经在research文件夹里了,所以每次运行前需要添加python路径,在终端里进入到research文件夹后运行命令
- export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
复制代码
依旧在research文件夹里运行测试命令(由于是cpu运行,这里我用了15s,而gpu则会快很多)
- python deeplab/model_test.py
复制代码
会出现错误:“AssertionError: First sequence is not a list: dict_keys(['merged_logits'])”
修改“model_test.py”第140行
- self.assertListEqual(scales_to_model_results.keys(),
复制代码
为
- self.assertListEqual(list(scales_to_model_results.keys()),
复制代码
就可以了。
再次输入命令就可以了,贴一张成功的截图
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|