0. 简介
关于UCloud(优刻得)旗下的compshare算力共享平台
UCloud(优刻得)是中国知名的中立云计算服务商,科创板上市,中国云计算第一股。
Compshare GPU算力平台隶属于UCloud,专注于提供高性价4090算力资源,配备独立IP,支持按时、按天、按月灵活计费,支持github、huggingface访问加速。
使用下方链接注册可获得20元算力金,免费体验10小时4090云算力
https://www.compshare.cn/?ytag=GPU_lovelyyoshino_Lcsdn_csdn_display
最近读了秦通大佬的最近的端到端的论文《ParkingE2E: Camera-based End-to-end Parking Network, from Images to Planning》,对应的代码也在Github上开源了。这里最近受到优刻得的使用邀请,正好解决了我在大模型和自动驾驶行业对GPU的使用需求。UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费磁盘空间。暂时已经满足我的使用需求了,同时支持访问加速,独立IP等功能,而且关机不收费,项目搭建后可以快速的重启来完成代码运行。
而且在使用后可以写对应的博客,可以完成500元的赠金,完全可以满足个人对GPU的需求。
对应的环境搭建已经在《如何使用共享GPU平台搭建LLAMA3环境(LLaMA-Factory)》和《从BEVDET来学习如何生成trt以及如何去写这些C++内容》介绍过了。这一章节我们来看一下怎么在平台上运行秦通大佬最新的项目。
1. 环境安装
首先先安装miniconda和ros,之前ros讲过很多遍安装了,这里不展开讲了,这个项目主要依赖conda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
然后如果不存在conda则需要再bashrc中新增对应的path
然后下载代码并安装虚拟环境
git clone https://github.com/qintonguav/ParkingE2E.git
cd ParkingE2E
conda env create -f environment.yaml
然后进入conda,这里的python需要指向的是E2E的python版本
conda activate ParkingE2E
export PARKINGE2E_PYTHON_PATH=/home/ubuntu/miniconda3/envs/ParkingE2E/bin/python
cd catkin_ws
catkin_make -DPYTHON_EXECUTABLE=${PARKINGE2E_PYTHON_PATH}
source devel/setup.bash
如果出现下面的问题
则需要单独安装catkin_pkg
pip install catkin_pkg
# 除此以外还需要安装一下opencv等包,用于训练,可视化使用
pip install opencv-python tqdm pyquaternion netifaces click Cryptodome pytorch_lightning loguru shapely timm efficientnet-pytorch scipy tensorboardX
2. 运行程序
在开始运行之前,您需要下载预训练模型和测试数据。首先,下载这些文件后,您需要在 ./config/inference_real.yaml
中修改推理配置的 model_ckpt_path
。
接下来,运行驱动程序:
roslaunch core driven_core.launch
当您第一次执行该命令时,会出现一个进度条(用于计算畸变图)。在四个(鱼眼相机)进度条完成后,您就可以进行后续操作。
首先,您需要下载预训练模型和测试数据。接着,您需要在 ./config/inference_real.yaml 文件中修改推理配置的 model_ckpt_path。使用 E2E 算法开始推理:
conda activate ParkingE2E
python ros_inference.py
首次执行该命令时,将下载 EfficientNet 预训练模型。
运行测试演示:
unzip demo_scene.zip
cd demo_scene
# scene_index = 1, 2, 3, 4, 5, 6, 7。例如:sh ./demo.sh 1
sh ./demo.sh ${scene_index}
在 rviz 中,您还可以通过 rviz 面板上的 2D 导航目标选择停车目标。
3. 训练模型
我们提供了演示 rosbag,以便您创建一个小型数据集并训练模型。
3.1 生成数据集
首先,您需要创建数据集:
python toolkit/dataset_generation.py --bag_file_path ${DEMO_BAG_PATH} --output_folder_path ./e2e_dataset
如果您使用自己的 rosbag,请确认 ./catkin_ws/src/core/config/params.yaml
中的 rosbag 主题,并修改相机配置。
3.2 训练您的模型
python train.py --config ./config/training_real.yaml
您可以在 ./config/training_real.yaml
中修改训练配置。