本地环境
Ubuntu20.04 + anaconda + tensorflow-gpu1.3.0 + cudatookit8.0 +
cudnn6.0 + protobuf3.14.0(protobuf用3.2.0会报错)
1. protobuf文件解释
protobuf是google的一个开源的用来做数据通信的库,在avod/protos文件中有很多.proto文件,这些文件定义了通信用的数据内容和格式,但是想在程序中使用他们,得使用protobuf对他们进行编译,给每个.proto文件生成一个python文件。执行中之后会提示有语法错误,只需看avod/protos文件中是否生成了python文件,生成即可。
2. 配置环境变量
工程是基于python编写的,定义了很多模块,这些模块之间需要互相调用,但各个模块又是相对独立的,所以需要把各个模块的路径添加到python的环境变量中,以方便他们之间互相调用。不配置环境变量导致调用包的时候报错
在终端输入以下指令打开设置环境变量的文件,添加绝对路径(没有gedit用vim)
gedit ~/.bashrc
export PYTHONPATH=/path/to/your/avod:/path/to/your/avod/wavedata:$PYTHONPATH
source ~/.bashrc
3. 准备数据集
原作者使用KITTI数据集,其中说明一下附加数据文件,包括以下两部分:
trainval.txt、train.txt、val.txt:这三个文件帮助程序把训练数据又重新分为训练集和验证集
planes:这个是作者自己生成的路面平面拟合参数。
最后把下载好的Kitti数据集调整至如下格式:
4. 生成min-batch
mini-batch 是 RPN 所需要的东西,执行成功后会在avod/data/
下生成如下两个文件夹label_clusters
和mini_batches
5. 训练
执行python avod/experiments/run_training.py
若只有单块GPU, 将run_training.py
中的default_device
改成0
6. 训练后查看tensorboard
7. 查看结果
执行demos/show_predictions_2d.py
会产生结果图,图片自动存放在文件夹avod/data/outputs/pyramid_cars_with_aug_example/predictions/images_2d/predictions/val/120000/0.1
中
来源:oschina
链接:https://my.oschina.net/u/4348352/blog/4773742