deeplabv3+开源代码运行

源代码参考地址:https://github.com/tensorflow/models/tree/master/research/deeplab

测试安装参考地址:https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/installation.md

测试与安装

将models文件夹从github上clone到 anaconda3/lib/python3.6/site-packages/tensorflow

cd anaconda3/lib/python3.6/site-packages/tensorflow
git clone git://github.com/tensorflow/models

测试是否成功安装好Tensorflow DeepLab

cd tensorflow/models/research/
python deeplab/model_test.py

 但是会出现报错:ModuleNotFoundError: No module named 'nets'

解决办法:修改配置文件,在配置文件中加入

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

重新测试就显示成功

继续进入deeplab文件夹中,运行 PASCAL VOC 2012数据集上的代码,进行测试

cd deeplab
sh local_test.sh

在PASCAL VOC 2012数据及上运行Deeplab

运行Deeplab参考地址:https://github.com/tensorflow/models/tree/master/research/deeplab

下载数据集,将数据集转换为TFRecord

在datasets文件夹下有script脚本,来下载转换数据集

cd datasets
sh download_and_convert_voc2012.sh

解压报错:

 删除pascal_voc_seg文件夹后,重新执行sh命令

训练和评估的推荐路径

+ datasets
  + pascal_voc_seg
    + VOCdevkit
      + VOC2012
        + JPEGImages
        + SegmentationClass
    + tfrecord
    + exp
      + train_on_train_set
        + train
        + eval
        + vis

在数据集PASCAL VOC 2012上训练Deeplab时, train/eval/vis 结果存在文件夹train_on_train_set中。 

运行train/eval/vis

1.运行train.py

使用xception_65进行本地训练:

报错:ModuleNotFoundError: No module named 'nets'

解决办法:

将nets的存储路径加入配置文件中,首先找到nets的存储路径

vi ~/.bashrc

#加入
export PYTHONPATH=$PYTHONPATH:"/home/bxx-mct/anaconda3/lib/python3.6/site-packages/tensorflow/models/research/slim"

esc
:wq

#退出后
source ~/.bashrc
#保存

 

# From tensorflow/models/research/
python deeplab/eval.py \
    --logtostderr \
    --eval_split="val" \
    --model_variant="xception_65" \
    --atrous_rates=6 \
    --atrous_rates=12 \
    --atrous_rates=18 \
    --output_stride=16 \
    --decoder_output_stride=4 \
    --eval_crop_size=513 \
    --eval_crop_size=513 \
    --dataset="pascal_voc_seg" \
    --eval_logdir='./train_log'\  #保存训练的中间结果的路径,该文件夹为手动创建,如果之前的训练结果不要想重新训练,直接清空该文件夹
    --dataset_dir='./deeplab/datasets/pascal_voc_seg/tfrecord'  #第二步生成的tfrecord的路径

${PATH_TO_INITIAL_CHECKPOINT}是初始checkpoint,通常是ImageNet 预训练checkpoint,${PATH_TO_TRAIN_DIR} 是训练checkpoints和写进events的路径,${PATH_TO_DATASET} 是PASCAL VOC 2012数据集所在的路径。

开始训练

对 {train,eval,vis}.py的提示:

  1.  为了重现我们的结果,需要使用large batch size (> 12),并设置fine_tune_batch_norm = True。在这里,我们只是在训练期间使用small batch size来进行演示。如果用户的GPU内存有限,请从我们提供的已训练了批处理规范参数的checkpoints进行微调,并使用fine_tune_batch_norm = False来使用较小的学习率。
  2. 如果output_stride=8,将atrous_rates 从 [6, 12, 18] 变为 [12, 24, 36]。
  3. 如果不想使用decoder,可以跳过decoder_output_stride

2.运行eval.py,输出MIOU的值

 

 

3.运行vis.py,查看可视化结果

 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip 基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip 基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip 基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip 基于DeeplabV3+Xception+Unet实现遥感图像的语义分割python源码+项目说明(毕业设计).zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值