SegNet-tensorflow编译小结

本文总结了SegNet-tensorflow的编译过程,包括从github下载代码、安装依赖库,特别是解决tensorflow版本兼容问题。同时,详细介绍了数据集CamVid的下载及放置,并提供了训练前的配置步骤,如创建Logs文件夹、修改配置文件路径。在训练过程中,强调了路径正确性对避免OutOfRangeError错误的重要性,以及处理GPU设备名问题的建议。
部署运行你感兴趣的模型镜像

代码及相关库的下载

  1. 从github上下载SegNet-tensorflow的代码,命令如下:
$git  clone https://github.com/tkuanlun350/Tensorflow-SegNet.git SegNet
  1. 安装readme中要求的库。
$pip install tensorflow-gpu==1.10
$pip install pillow
$pip install scikit-image

scikit-image 需要其他库如matplotlib等,如果装的时候遇到问题,按提示信息把依赖的库都装上就行。

注意:这里的tensorflow版本一定要适配,不然会出现loaded runtime CuDNN library:7.1.4 but source was compiled with 7.2.1 这样版本不兼容的问题。
3. 下载训练用数据集CamVid
下载地址:https://github.com/alexgkendall/SegNet-Tutorial
下载其中的Camvid文件夹,然后放在SegNet目录下。

编译SegNet-tensorflow代码

  1. 进入下载的SegNet的代码根目录下,新建一个Logs的文件夹用来存放日志。
$mkdir Logs
  1. 用 gedit 打开 example.sh,把train那一行的注释号取消掉,分别修改log_dir, image_dir和test_dir为相应的路径,保存退出。

  2. 用gedit打开CamVid下的train.txt, test.txt 和 val.txt, 使用查找和替换功能将/SegNet 统一替换成安装的路径。
    注意:这里的路径最好使用绝对路径,如直接安装在home下,使用/home/用户名/SegNet/Logs这样的路径。路径不对可能会出现OutOfRangeError的错误,可能出现的错误信息如下:

OutOfRangeError (see above for traceback): RandomShuffleQueue '_3_shuffle_batch_1/random_shuffle_queue' is closed and has insufficient elements (requested 3, current size 0)  
  [[Node: shuffle_batch_1 = QueueDequeueManyV2[component_types=[DT_FLOAT, DT_UINT8], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](shuffle_batch_1/random_shuffle_queue, shuffle_batch_1/n)]]  

出现这个错误时需要先确认所有设置的路径是否正确。

训练数据集

全部配置好之后,直接在SegNet根目录下运行 example.sh 就可以开始训练了。

bash example.sh

PS: 如果出现找不到/GPU:0这样的错误,首先确认tensorflow-gpu是否安装正确,其次检查GPU设备名是否正确。如果不想指定运行的设备名,可在文件夹中的 Utils.py 中注释掉如下行代码:

with tf.device('/gpu:0'):

如果想在cpu上跑,也可直接改成‘/cpu:0’。但是…时间上就不好说了…

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值