【语义分割】Tensorflow deeplab的train,eval, vis,export_model

版权声明:本文为博主原创文章,未经作者允许请勿转载。 https://blog.csdn.net/heiheiya https://blog.csdn.net/heiheiya/article/details/88394039

系统:Ubuntu16.04

环境:CUDA 9.0

           CUDNN v7.0.5

           Python 3.6

首先clone tensorflow models的源码。我clone的时候的commit id 是8cf8446b6cb0ba360a687e885c58a623c68de3ed。提到这个commit id是和后面一个bug有关。

git clone [email protected]:tensorflow/models.git

安装依赖项。

sudo apt-get install python-pil python-numpy
pip install jupyter
pip install matplotlib

将slim的路径添加到~/.bashrc中。

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

在models/research/目录下执行如下命令,测试tensorflow 的deeplab是否配好。

python deeplab/model_test.py

说明环境已经ok。

tensorflow提供了一个脚本在PASCAL VOC 2012数据集上快速运行train,eval,vis,export_model。

扫描二维码关注公众号,回复: 5493328 查看本文章

进入models/research/deeplab目录。

sh local_test.sh

这个时候会出现Waiting for new checkpoint at xxx/models/research/deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train无限循环等待,即issue6275

这时候将分支切换到提交树的r1.12.0。

git checkout r1.12.0

再次运行sh local_test.sh,会报如下错误:

issue5898

这时候需要将model_test.py的140行

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

改为

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

重新运行sh local_test.sh。

在models/research/deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/export目录下已经生成了frozen_inference_graph.pb。

在models/research/deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/vis/segmentation_results目录下有一系列的预测分割结果。

猜你喜欢

转载自blog.csdn.net/heiheiya/article/details/88394039