将Carla和代码全部摆设到云服务器上,实现carla在服务器上运行。 ...

打印 上一主题 下一主题

主题 513|帖子 513|积分 1549

一、为什么要这样做?

这样做的目标是能够让Carla在服务器上跑,主要的解决问题如下:
1.1 多台机器同时运行

Carla由于是以客户端的情势将数据与代码进行交互,假如想实现多个Carla窗口的启动,通常在启动Carla的时候要设置差别的端口来实现差别的Client连接。以上的操作要求电脑主机的配置需要非常高,且每个任务需要平衡性能分配,避免占用爆表导致程序中断。
但是通常每每一个任务就已经占据了电脑的大部门性能,导致无法实现多开。而通过租赁服务器,可以将Carla和代码全部上传到服务主机当中,实现每台云服务模仿一个主机,这样想开多少客户端就开多少客户端。
1.2 弥补硬件不足

使用Carla并进行相关的场景设置大概任务训练需要一个相当庞大的硬件支持,由于目前绝大多数科研工作者使用的是条记本电脑大概性能不高的台式机,就会导致注入情况过慢或训练速度过慢等问题。而试想,假如把所有的代码都传到一个高性能的主机上面,这样不就可以轻松弥补了么?当我需要的时候我就上传到服务器上运行,不需要的时候就不运行,确实很方便。
1.3 个人主机可以开展其他工作

由于我是搞深度强化学习的,在我的代码训练过程中,根本上是会把个人电脑的性能拉满。但这就会导致我无法正常使用我的个人电脑,假如我开了一个其他软件(需要硬件加快)大概看视频、编译东西等等,就会有大概导致代码中断。因为内存大概显卡的显存被利用到了很高的程度,当其他程序或软件的参加,就会超出电脑的内存,同样显存也是,假如出现了这些问题大概就会使程序中断。
假如将所有代码上传到服务器上运行,这样的问题就不会出现,而且也不会耽误我们正常使用个人主机去办公等一系列操作,这也很方便。
以上只是我个人为什么要使用服务器进行运行的原因,但是想必你也肯定会碰到其他问题从而选择使用服务器运行程序,假如附和的话,那就可以继续往下看,反之则可以关闭该帖子了。
二、选择云服务器类型是关键

注意,不是市面上所有的AI服务器算力租赁商都支持Carla运行的。因为Carla需要先启动客户端引擎后,才气将代码注入进去并执行相关的命令,固然Carla官方也给出了docker无表现模式的启动方法,但我没有进行相关的尝试,所以这里就不讨论docker的方法。
图形化界面是你所租赁的服务器主机必须要有的,再次跟大家重复一下,假如没有该功能就会导致无法启动Carla。不管您是使用Ubuntu照旧Win也好,虚拟机照旧物理机也好,只要它能实现图形化界面(你可以不用图形化界面,但是它不能没有),这条路就走的通。
这里要说一下,假如云服务器是虚拟机的话,需要更改虚拟表现模式和视频缓冲区大小,视频缓冲区的大小会影响相关的执行性能。而物理机因为自带有表现器(只要能让显卡正常工作)就不需要虚拟机的操作。
以下是常出现的问题:
问题1:world.tick() 连接超时:假如第一次与Carla客户端能够连接上,后面注入程序时,碰到频繁的world.tick()连接超时,这意味着虚拟表现模式是有问题的,需要更改。将虚拟表现模式更改为virtio,详细怎样更改请参考这里。
问题2:opengl4.3不支持:需要更换显卡驱动,显卡驱动不支持。
问题3:Segmentation fault (core dumped):系统的显卡驱动问题,没有安装乐成大概驱动掉了。
问题4:libGL error: failed to load driver: swrast:请看三、下载MobaXterm软件章节的介绍。
这里我保举的两种方式是:
1、租赁物理机,途径渠道可以是某宝、某鱼。
2、通过智星云AI服务器租赁商(它家我实现了该功能,假如你发现了其他租赁商业能实现,也可以),但对于以docker容器为实例的云服务器,只能以VScode通过SSH情势连接无图形化界面的服务器是不能实现的,这里要牢记,划重点。
三、下载MobaXterm软件

假如您是使用Ubuntu系统,程序中用到了相关的渲染,如pygame,您假如想直接在服务器上表现的话,还需要安装相关渲染的情况。否则就会报错:
  1. libGL error: failed to load driver: swrast
  2. X Error of failed request: BadValue (integer parameter out of range for operation)
  3. Major opcode of failed request:152(GLX)
  4. Minor opcode of failed request:3(X LXCreatecontext)
  5. Value in failed request:x
  6. Serial number of failed request: 167
  7. Current serial number in output stream:168
复制代码
但还有另外一种方法,不使用VNC连接,选择以SSH连接,还需要通过MobaXterm软件,它可以将pygame通过SSH直接表如今你的本机电脑上,神奇吧!!!这样你就不需要在服务器上安装pygame的渲染编译情况,而且还不会报错。
结果如下: (pygame的黑点问题我怀疑是由于网络传输的问题,但我没做查验,这里大家自行斟酌)

四、脚本摆设

在这里起主要感谢智星云的大佬-追风,他给予了相关的技术支持,并贴心的写了一个自动化的ubuntu摆设脚本(包括更改显卡驱动,调整视频缓冲区等等)。
该脚本是以ubuntu 20.04.4LTS为版本编写的,至于其他版本的ubuntu是否支持,大家需要自行测试。
脚本下载所在请点这里。
下载后用unzip命令解压,然后执行该脚本即可。
五、末了

假如大家想关闭本机的命令窗口,可以通过nohup实现配景运行,大家可以自行了解该命令的功能,这里就不再赘述。
欢迎大家在评论区里积极的讨论和交换,有不对的地方恳请大家品评指正,我会实时的更改。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表