当前位置: 首页 > news >正文

Ubuntu配置carla docker环境

前言: 本文只在以下设备成功运行, 其他设备不保证能成功, 可以参考在自己设备进行配置

环境

  • ubuntu 20.04
  • carla 0.9.15
  • gpu 3060(notebook)
    在这里插入图片描述

安装显卡驱动&nvidia-container-toolkit

显卡驱动

安装完成系统后直接在’软件和更新->附加驱动’直接选择470(proprietary, tested), 安装之前并没有禁用nouveau和关闭gdm3, 重启之后nvidia-smi 正常输出
在这里插入图片描述

nvidia-container-toolkit安装如下

【Docker】Docker及Nvidia Container Toolkit安装

Add the package repositories

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

上条命令如果输出:gpg: no valid OpenPGP data found.,可以多试几次,或者那么把命令分开执行:

curl -s -L -O https://nvidia.github.io/nvidia-docker/gpgkey #大写欧,会在本地保存一个gpgkey文件
sudo apt-key add gpgkey#会输出OK

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

该命令成功后可以查看cat /etc/apt/sources.list.d/nvidia-docker.list,文个中会有如下内容:

deb https://nvidia.github.io/libnvidia-container/stable/ubuntu16.04/$(ARCH) /  
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu16.04/$(ARCH) /  
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu16.04/$(ARCH) /  
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu16.04/$(ARCH) /  
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /  
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
#更新 使用如下安装 nvidia-container-toolkit 换成 nvidia-docker2
sudo apt-get install -y nvidia-docker2
#####################或者分开执行#########################
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
########################################################
sudo systemctl restart docker
sudo docker run --gpus all --rm nvidia/cuda:10.0-base nvidia-smi

注意一定要 sudo systemctl restart docker
如果上面的gpg key添加失败,也可以参考进行离线安装Docker离线安装Nvidia-container-toolkit实现容器内GPU调用, 注意安装完了一定要重启docker服务!

Carla

获取carla镜像

由于2024/05中国的镜像源被封了, 参考Docker Hub 镜像加速器下载carla镜像
docker pull docker.awsl9527.cn/carlasim/carla:0.9.15

启动镜像(服务端)

参考在Docker中使用CARLA

sudo docker run --privileged --gpus all --net=host -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.12 /bin/bash ./CarlaUE4.sh -RenderOffScreen
  • 注意这里如果出现 **Unknown PCM default **

    则需要在上面命令中添加-nosound

  • 如果出现不报错,但输出Killed并退出
    则可能是内存不足, 我这里是内存不足, 按照下面增大swap分区解决了

# 检查现有的Swap分区
sudo swapoff -a
# 删除旧的swap文件
sudo rm /swapfile
# 生成新的swap文件8G
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
# 设置权限
sudo chmod 600 /swapfile
# 生效
sudo mkswap /swapfile
# 确认新的Swap文件
sudo swapon /swapfile
# 为了确保在系统重启后Swap文件仍然有效,需要将其添加到`/etc/fstab`文件中
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

客户端运行

首先需要下载 carla, 配置环境, 我这里使用python版本为3.8.12
然后进入下载好的 cd ./carla/PythonAPI/examples, 再运行python automatic_control.py
在这里插入图片描述

Docker离线安装Nvidia-container-toolkit实现容器内GPU调用
【Docker】Docker及Nvidia Container Toolkit安装
Docker离线安装Nvidia-container-toolkit实现容器内GPU调用
仿真实战 | Docker版Carla的安装与使用

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 从“抠图”到“抠视频”,Meta上新AI工具SAM 2。
  • Android14音频进阶之使能内核debugfs:Adsp输出日志(七十九)
  • 【学习笔记】A2X通信的协议(三)- A2X PC5通信(一)
  • 使用visual studio2019创建dll导出自定义类
  • C语言实现浮点数或整数转成字符串
  • 【letcod-c++】128.最长连续序列
  • Visual Studio Code中跟创建运行项目有关的几个终端命令
  • 代码随想录算法训练营第七天(二)|15.三数之和 18.四数之和
  • day17-权限管理
  • IDEA左下角不显示本地修改的localChanges信息-git
  • Oracle认证1Z0-071线上考试注意事项
  • 关于keil程序无法进入main函数问题
  • 未来已来:全方位掌握【人工智能】的系统学习路线
  • 基于JSP的列车票务信息管理系统
  • sql常用语法总结
  • 分享的文章《人生如棋》
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CentOS6 编译安装 redis-3.2.3
  • Create React App 使用
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 包装类对象
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 解析 Webpack中import、require、按需加载的执行过程
  • 浅谈Golang中select的用法
  • 消息队列系列二(IOT中消息队列的应用)
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #Java第九次作业--输入输出流和文件操作
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (PADS学习)第二章:原理图绘制 第一部分
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (SpringBoot)第二章:Spring创建和使用
  • (待修改)PyG安装步骤
  • (二)丶RabbitMQ的六大核心
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (五)MySQL的备份及恢复
  • (学习日记)2024.01.19
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)我也是一只IT小小鸟
  • .Net 6.0--通用帮助类--FileHelper
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET Core 项目指定SDK版本
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 设计模式初探
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET命令行(CLI)常用命令
  • [10] CUDA程序性能的提升 与 流