通过GPU服务器运行Carla
一、流程概述
-
法一:通过
ssh
命令连接服务器,指定连接端口,并创建服务器和本地的TCP
端口映射,这里carla
使用的端口为2000
和2001
。在本地配置好Python
环境(如opencv、networkx、numpy等,建议使用conda
),运行代码即可。 -
法二:通过VNC连接服务器远程桌面,直接使用服务器配置好的python环境运行代码。
推荐法二,这样client和server的之间的通信响应不会因网络问题而延迟过多,导致导航指令滞后效应明显。法二与使用一般ubuntu系统相同。
二、操作流程(法一)
以下操作可以通过
shell
或vnc
完成,其中使用vnc
可忽略第一步ssh
连接
-
ssh -p 222 -L 127.0.0.1:2000:127.0.0.1:2000 -L 127.0.0.1:2001:127.0.0.1:2001 wanghejun@10.12.120.45
通过
ssh
指定连接端口,连接用户和服务器IP,并创建端口映射; -
docker run --privileged -it --gpus all --net=host -v /tmp/.X11-unix:/tmp/.X11-unix:rw carla:0.9.13 /bin/bash
在
docker
容器内运行carla镜像,本服务器已安装最新版本0.9.13;本服务器快捷命令:launchc
; -
./CarlaUE4.sh -world-port=2000 -RenderOffScreen
运行
carla
,指定端口,模式为离屏渲染模式;
到此服务器端已配置完成,将会产生系列警告信息,为服务器显示设备和声卡设备缺失导致,请无需在意
-
定位到目标代码文件夹路径,
win
在资源管理器路径栏输入cmd
即可打开shell
,ubuntu
选择在终端打开或通过cd
命令均可; -
conda activate yourenvname
通过
conda
激活已配置好的环境yourenvname
,win
可直接activate
,本服务器快捷命令:cac
; -
python yourscript.py
python
命令运行你的代码文件,可通过pygame
或opencv
打开可视化窗口监视运行过程;
三、其他
-
如果你想将自己的数据集或其他文件上载到服务器,可以通过基于
ssh
的scp
命令实现scp -P 222 yourdocname.zip wanghejun@10.12.120.45:/data2/wanghejun/
运行命令前需定位到目标文件路径夹,建议先其打包成
.zip
文件,文件将传输到指定路径/data2/wanghejun/
下 -
通过conda配置carla所需的python环境
-
conda create -n carlaPy python=3.x.x
建议pytho版本选择3.7或以上
-
conda activate carlaPy
进入环境
-
pip install -r requirements.txt
通过pip安装PythonAPI文件夹内requirements.txt指定的packages
-
-
opencv的python环境配置请注意
- opencv版本不能过低
opencv-python
的版本需与代码中使用的opencv版本对应,否则在使用一些函数如imshow()
将报错function unimplimented
-
不同系统下运行carla,请尤其注意自己使用的PythonAPI文件夹
PythonAPI/carla/dist/~.egg
文件是否和系统对应,分别为:- ~win-amd64.egg
- ~linux-x86_64.egg
同时最好保证Client和Simulator的版本对应(即python的carla库和模拟器版本对应)
或者直接
pip install carla==0.9.x
版本对应者即可,无对应版本则应使用对应版本.egg
文件