本文是【马悦宁老师】指导完成的山东大学引航计划公益人工智能科研实训项目。
注:本文所用代码皆已上传至Github上。
采集数据流程和要求:
网页控制:开发板烧入car_html_manager,摄像头烧入IP_camera_and_record,将摄像头连到开发板上,开发板连上电源、电机和舵机。电脑/手机连上开发板热点后,通过网页(192.168.4.1)设置摄像时长及间隔时间,点击start/stop record进行摄像,start/stop stream为展示实时视频流(不需要),操控小车在跑道上行驶。可在(192.168.4.5)上查看拍摄的图片信息。
打标签及图像处理:
用EasyData网页—立即使用—创建数据集—标注类型为图像分割—标注模板为语义分割:
下载文件放到"./1_segmentation/datasets/下—运行mask_rgb_to_gray.py程序将RGB转为灰度图—灰度图存放在Masks文件夹中。
where conda
没有找到的话,电脑设置—搜索环境变量—点击编辑系统环境变量—环境变量/用户、系统变量—新建PATH—C:\ProgramData\Anaconda3\condabin。在VScode中安装插件python,打开设置,将刚安装的python路径即第一个粘贴在用户和工作区中(新版输入 python interpreter),见下图:
E:\Softwera\Anaconda\envs\torch_1_12\python.exe
安装Markdown Preview Enhanced插件:
创建python环境:
conda create -n torch_1_12 python=3.7
激活torch环境:
conda activate torch_1_12
pip install G:\torch-1.12.0+cpu-cp37-cp37m-win_amd64.whl
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
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
注:解决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,见下图:
生成灰度图像保存在Masks文件中,道路(0,0,0);草(1,1,1);:背景(2,2,2):
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
命令,见下图:
注:如果权限不够,则输入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
1、初始化conda环境:
~/anaconda3/bin/conda init
source ~/.bashrc
2、创建并激活环境:
conda create -n pytorch-1.9 python=3.6
conda activate pytorch-1.9
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/
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
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
3、shh远程登录申请的服务器名:
ssh i02r1n10
4、进入环境:conda activate torch_1_12
,运行./submit.sh,可修改代码中参数进行调试。
出错则把train.py里的import wandb注释掉,把num_workers改成0。