window环境下进行deeplab_tensorflow实验之第一阶段

window环境下进行deeplab_tensorflow实验之第一阶段

第一阶段,安装,配置环境

deeplab源代码已经被谷歌集成在GitHub中tensorflow/models

之后我会持续更新讲解整个deeplab源代码中各个文件、代码和文档,以及对源代码的详细注释讲解。

本文不设计deeplab理论,因此就算不了解deeplab原理和模型结构的读者仍可操作。

step1. 下载tensorflow/models

deeplab文件目录图如下(Note:此处需下载官方github上最新的models文件,很多网上的较老的models中会缺少不少的文件)

step2. 安装依赖库

deeplab 依赖以下的一些库:(此处官方github上也有介绍,见https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/installation.md)

  • Numpy
  • Pillow 1.0
  • tf Slim (which is included in the “tensorflow/models/research/” checkout)
  • Jupyter notebook
  • Matplotlib
  • Tensorflow

Special Note:

先讲一下tensorflow_gpu,cudacudnn三者之间的版本对应关系:

tensorflow_gpu1.5/1.6/以上 —— cuda9.0 —— cudnn7.0
tensorflow_gpu1.3/1.4 —— cuda8.0 —— cudnn6.0/5.0

而deeplab要求tensorflow1.6以上,即电脑,工作站或服务器上cuda一定要是v9.0.

step3. Windows系统中添加tf.slim的路径至系统

在 deeplab/g3doc/installation.md 中提到,安装deeplab需要将 research/slim 路径加入 PYTHONPATH 中去,官方给出的方法是在每次运行之前都执行,但仅在linux系统中起作用

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

windows 系统下的解决方案为:在py脚本中动态添加地址

将 deeplab 文件夹下的 train.pyeval.pyvis.py, export_model.py 和model_test.py这5个脚本的开头加语句,没错四个文件都要加(必须加在 import deeplab 语句之前)。

import sys
sys.path.append(r'D:\Code\tf-models\research')
sys.path.append(r'D:\Code\tf-models\research\slim')  # 以上两处的路径请按照真实的路径添加

step4. 本地环境测试

在tensorflow/models/research/下运行model_test.py

# From tensorflow/models/research/
python deeplab/model_test.py

如果环境正确,则提示:

Ran 5 tests in 10.758s

发生错误1:
在这里插入图片描述

解决1(来自github中tensorflow/models/issues/5523)
因为作者使用python2写的源代码,而我使用python> = 3.0,因此model_test.py的第140行的代码无效,因为在python2中dict.keys()返回的是列表,而在python3中dict.keys()返回的是迭代器。即:

self.assertListEqual(scales_to_model_results.keys(),
                               expected_endpoints)

改为:

self.assertListEqual(list(scales_to_model_results.keys()),
                               expected_endpoints)

Note1:源代码中的类似filename_test.py(文件名带有_test)的格式文件都是用来测试filename.py所需要的环境是否正确。如

Note2:(如果有必要)

local_test.sh: 测试整个有关deeplab训练voc2012数据集的代码是否能正常运行,默认为xception模型

local_test_mobilenetv2.sh: 测试mobilenetv2模型时,整个deeplab模型代码是否能够正常运行

此处.sh文件可在git bash上运行,不同于linux系统,具体在tensorflow/models/research/deeplab/文件下:

# From tensorflow/models/research/deeplab
# local_test_mobilenetv2.sh同理
./local_test.sh 

结论

到此,第一阶段结束,deeplab环境配置成功

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值