无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练

本文是【马悦宁老师】指导完成的山东大学引航计划公益人工智能科研实训项目。
注:本文所用代码皆已上传至Github上。

无人驾驶

  1. 建图(Mapping);
  2. 定位(Locating):利用摄像头、激光雷达等观察环境;利用 GPS 定位;
  3. 路径规划(path planning);
  4. 路径跟踪(path following):横向控制(左右,转向);纵向控制(前后,速
    度);
  5. 目标检测与避障。

无人驾驶系统:

  1. 看路:感知层——外界感知(毫米波雷达,超声波雷达,摄像头,激光雷
    达,传感器);
  2. 理解路面环境:认知层;
  3. 决定怎么走:决策层;
    注:在行走过程中,获取自身位置:自体感知;
    MPU6050 惯性测量模块:测角度;
    无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第1张图片

测速传感器(宽体对射式传感器):测速度。
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第2张图片

  1. 跟着路径行走:控制层、执行层。

数据采集和标注

数据采集

采集数据流程和要求:
网页控制:开发板烧入car_html_manager,摄像头烧入IP_camera_and_record,将摄像头连到开发板上,开发板连上电源、电机和舵机。电脑/手机连上开发板热点后,通过网页(192.168.4.1)设置摄像时长及间隔时间,点击start/stop record进行摄像,start/stop stream为展示实时视频流(不需要),操控小车在跑道上行驶。可在(192.168.4.5)上查看拍摄的图片信息。

数据标注

打标签及图像处理:
用EasyData网页—立即使用—创建数据集—标注类型为图像分割—标注模板为语义分割:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第3张图片

上传图片:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第4张图片

标注图片—设置英文标签—选用多边形标注框—保存返回:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第5张图片

导出图片—查看导出进度:
在这里插入图片描述

下载文件放到"./1_segmentation/datasets/下—运行mask_rgb_to_gray.py程序将RGB转为灰度图—灰度图存放在Masks文件夹中。

本地环境配置

安装Anaconda

  1. 安装Anaconda;
  2. 配置环境:若输入where conda没有找到的话,电脑设置—搜索环境变量—点击编辑系统环境变量—环境变量/用户、系统变量—新建PATH—C:\ProgramData\Anaconda3\condabin。

安装VScode

在VScode中安装插件python,打开设置,将刚安装的python路径即第一个粘贴在用户和工作区中(新版输入 python interpreter),见下图:
E:\Softwera\Anaconda\envs\torch_1_12\python.exe
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第6张图片

无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第7张图片

安装Markdown Preview Enhanced插件:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第8张图片

安装torch(两种方法)

创建python环境:
conda create -n torch_1_12 python=3.7
激活torch环境:
conda activate torch_1_12
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第9张图片

官网下载安装

  1. 打开pytorch官网:
    无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第10张图片

  2. pip3 install torchvision torchaudio命令进行安装。

下载安装torch包

pip install G:\torch-1.12.0+cpu-cp37-cp37m-win_amd64.whl
在这里插入图片描述

pip install torch-vision
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第11张图片

Unet模型训练

1、了解需要的参数:
./1_segmentation/unet_torch/README.md用VScode在侧边栏打开检查输入参数的设置格式。
2、运行程序train.py
修改train.py代码里的文件路径,在新环境中运行程序,cd到train.py所在的文件路径中执行如下命令:
python train.py -l 0.0001 -s 0.5 -e 2 -c 3

  • -l:学习率
  • -e:训练轮次

无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第12张图片

3、模型推理predict,预测数据:
运行程序predict_custom.py
python predict_custom.py -i .\test\photo_19700101_000737.jpg -n -v - m ./checkpoints/0720/checkpoint_epoch1.pth -s 0.5

  • -i:用test文件里的图片
  • -n 不保存输出
  • -v:显示图像
  • -m:用train训练出来的1_segmentation/unet_torch/checkpoints/0720/
  • -s:修改图像大小

在这里插入图片描述

无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第13张图片

注:解决resize问题(版本不一样,接口不匹配):
pip uninstall torchvision 卸载
pip install torchvision==0.13.0 重新安装
4、训练自己的数据生成灰度图像:
将自己的数据与0719文件夹并行,在数据文件夹里创建一个Masks空文件夹,跑mask_rgb_to_gray.py代码,代码要换成自己的数据;运行temp代码:读取图片。
Python读取RGB时是BGR方式读取:bgr012,草是绿色所以1,背景是红色所以2,见下图:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第14张图片

生成灰度图像保存在Masks文件中,道路(0,0,0);草(1,1,1);:背景(2,2,2):
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第15张图片

曙光云端环境配置

1、进入曙光,了解账户界面(账户名与可访问队列);
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第16张图片

2、打开命令行了解常用命令(E-Shell):
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第17张图片

安装Aanconda3:

1、官网下载Anaconda3-2022.05-Linux-x86_64.sh(点小企鹅),在E-File中新建soft/Anoconda3文件夹,将Anaconda3-2022.05-Linux-x86_64.sh上传到Anoconda3文件夹中或执行下面命令:
cd soft
cd Anaconda3
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
2、执行./Anaconda3-2022.05-Linux-x86_64.sh命令,见下图:
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第18张图片

无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第19张图片

注:如果权限不够,则输入chmod +x ./Anaconda3-2022.05-Linux-x86_64.sh命令。
3、配置conda环境变量:
cd
nano ~/.bashrc
随便空地添加export PATH=/public/home/ac3lvyny3g/anaconda3/bin:$PATH,Ctrl+X键退出,yes保存,回车,退出编辑文件。
4、安装完毕,执行命令:
source ~/.bashrc
5、查看conda安装是否成功,执行命令:
which conda
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第20张图片

安装Pytorch1.9

1、初始化conda环境:
~/anaconda3/bin/conda init
source ~/.bashrc
2、创建并激活环境:
conda create -n pytorch-1.9 python=3.6
conda activate pytorch-1.9
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第21张图片

3、安装pytorch_1.9-rocm_4.0.1,命令如下:
pip install /public/software/apps/DeepLearning/whl/rocm-4.0.1/torch-1.9.0+rocm4.0.1-cp36-cp36m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第22张图片

4、按照’/public/software/apps/DeepLearning/whl/rocm-4.0.1/'找到并下载torchvision-0.10.0a0-cp36-cp36m-linux_x86_64.whl,将其上传到用户主目录下:
在这里插入图片描述

安装:pip install torchvision-0.10.0a0-cp36-cp36m-linux_x86_64.whl
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第23张图片

5、安装其他库,opencv-python,tqdm,wandb。若无法安装则加清华镜像-i https://pypi.tuna.tsinghua.edu.cn/simple/
6、slurm脚本中添加配置MIOPEN环境变量,导入submit.sh文件,修改代码环境名。
注:conda info --envs可查找自己的torch名字

程序运行

1、上传segmentation文件夹,将submit.sh上传进去,修改环境变量名,及代码运行命令行。shell中cd到submit.sh所在目录下;
2、用salloc命令申请节点资源:
salloc -p kshdtest -N 1 --gres=dcu:4 --cpus-per-task=6
无人驾驶:数据采集和标注,本地与曙光环境安装配置pytorch,Unet模型训练_第24张图片

3、shh远程登录申请的服务器名:
ssh i02r1n10
在这里插入图片描述

在这里插入图片描述

4、进入环境:conda activate torch_1_12,运行./submit.sh,可修改代码中参数进行调试。
出错则把train.py里的import wandb注释掉,把num_workers改成0。

你可能感兴趣的:(pytorch,深度学习,人工智能)