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 **
-
如果出现不报错,但输出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的安装与使用
相关文章:

Ubuntu配置carla docker环境
前言: 本文只在以下设备成功运行, 其他设备不保证能成功, 可以参考在自己设备进行配置 环境 ubuntu 20.04carla 0.9.15gpu 3060(notebook) 安装显卡驱动&nvidia-container-toolkit 显卡驱动 安装完成系统后直接在’软件和更新->附加驱动’直接选择470(proprietary…...

超越sd3!比肩Midjourney-v6?AI绘画大模型FLUX1.0详细评测与本地部署方法(附安装文件)
FLUX.1模型是什么? FLUX模型是一个开源的AI图像生成模型,由黑森林工作室研发。 堪比sd3以及Midjourney-v6 背景/backdrop 黑森林工作室(Black Forest Labs)由前Stability AI核心成员团队成立,专注于开发高级生成式…...

帆软填报报表单元格根据其它单元格内容决定另外的单元格可筛选什么值
效果图: 方法有三种: 方法一: 添加链接描述...

一键浪漫的回忆:微软开源的修复工具!!【送源码】
项目介绍 “Bringing-Old-Photos-Back-to-Life”是一款由微软开发的创新软件解决方案,它利用人工智能技术来修复和增强老旧照片的质量。这款工具可以解决老旧照片中常见的问题,如褪色、低分辨率以及物理损坏(如划痕和撕裂)。通过采…...

力扣-240.搜索二维矩阵(2)
刷力扣热题–第二十七天:240.搜索二维矩阵(2) 新手第二十七天 奋战敲代码,持之以恒,见证成长 1.题目简介 2.题目解答 这道题的想法就是,整体遍历,在遇到比target还大的,就停止这行的遍历,然后转过去继续遍历下一行,如果有一行的开头大于target,直接返回…...
Python推导式和生成器表达式
Python推导式 Python推导式是一种可以从一个数据序列构建另一个新的数据序列的结构体。 除了列表推导式 (list comprehension) 以外,还有字典(dict)、集合(set)推导式。它们的语法格式如下: # 列表:使用方括号 [expression for item in it…...

比较支持向量机、AdaBoost、逻辑斯谛回归模型的学习策略与算法
(1)支持向量机:SVM 是一种监督学习算法,用于分类和回归任务。 学习策略:间隔最大化 算法:最大间隔法、软间隔算法。 参数学习:参数学习过程是要最小化目标函数,通常通过优化算法(如SMO&#x…...
Android顶部标题栏自定义,添加按钮
1. 先写一个标题栏的layout, 放在工程的res/layout下,如下: <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_par…...

Spring Boot 整合 Dubbo3 + Nacos 2.4.0【进阶】+ 踩坑记录
上一篇文章中,Spring Boot 整合 Dubbo3 Nacos 2.4.0 进行了简单的集成使用,此文简单进阶并记录踩坑日常; Nacos 2.4.0 增加鉴权的配置Nacos 2.4.0 配置 MySQLNacos2.4.0 的热更新Dubbo3 自动负载Dubbo3 的重试和超时机制踩坑记录 一、Nacos…...
浙江省食品安全管理员题库及答案
1、《中华人民国食品安全法》从(C)起施行。 A.2009年1月1日 B.2009年5月1日 C.2009年6月1日 D.2009年10月1日 2、《中华人民国食品安全法》包括 (D). A.九章共一百零一条 B.十章共一百零一条 C.九章共一百零四条 D.十章共一百零…...

C++ 几何算法 - 求两条直线交点
一:算法介绍 1. 首先定义两条直线方程: 2. 解方程,求出x, y坐标 3. 如果x分母的行列式等于0, 说明两条直线平行或方向相反 4. 如果x,y分母的行列式都等于0,说明两条线重叠 二:代码实现: #include <cmath> #include <iostream>class Point2D { public:doubl…...

Linux操作系统简介
今天给伙伴们分享一下Linux 操作系统简介,希望看了有所收获。 我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步…...

【Python机器学习】回归——缩减系数来“理解”数据
如果数据特征比样本点还多,是不可以使用线性回归的,因为在计算的时候会出错。 如果特征比样本点还多(n>m),也就是说输入数据的矩阵x不是满秩矩阵。非满秩矩阵在求逆时会出问题。 为了解决上述问题,可以…...

组件设计原则
state数据结构设计 用数据描述所有内容数据要结构化,易于程序操作(遍历、查找)数据要可扩展,以便增加新的功能 组件设计组件通讯 从功能上拆分层次尽量让组件原子化容器组件(只管理数据)& UI组件&am…...

简单搭建vue项目
1.先安装node.js和vite,具体参考: 2.管理员身份运行cmd,跳转到node安装目录: 输入: npm create vitelatest 输入项目名称,选择vue和JavaScript 2.VisualStudioCode打开(可能需要管理员权限)创建的文件夹,点…...

ctfhub Bypass disable_function
LD_PRELOAD url 蚁剑连接 选择插件 点击开始 查看到此文件名编辑连接拼接到url后面重新连接 点击开启终端 在终端执行命令 ls / /readfile ShellShock url CTFHub 环境实例 | 提示信息 蚁剑连接 写入shell.php <?phpeval($_REQUEST[ant]);putenv("PHP_test() { :…...

【Qt】探索Qt网络编程:构建高效通信应用
文章目录 前言:1. Qt 网络编程介绍1.1 什么是网络编程?1.2 Qt的模块 2. UDP Socket2.1 核心 API 概述2.2 写一个带有界面的 Udp 回显服务器2.3 写一个带有界面的 Udp 客户端 3. TCP Socket3.1 核心 API 概述3.2 代码: 4. HTTP Client4.1 核心…...

【Android Studio】原生应用部署第三方插件(探针)
一、本地引入包流程 (一)本地引入包内容 (二)本地引入包操作步骤 将 【probe-android-sdk】目录里面所有的aar包复制到嵌码项目工程(App级别)的 libs 目录下 二、添加插件 (一)…...
嵌入式学习之路 15(C语言基础学习——指针操作一维字符型数组)
字符型数组的定义和初始化 char s[] "hello";:在栈上开辟空间并初始化。const char *p "hello";:指针 p 指向字符串常量区的 "hello",只能读取不能修改。 指针变量的类型确定 指针变量的类型由其所指向的数据…...

C++ STL专题 list的底层实现
目录 1.模拟实现list 2.节点模板讲解 3.迭代器模板讲解 3.1为什么template 有三个类型参数 (1).class T (2).class ref (3).class ptr 3.2 *重载 3.3 ->重载 3.4 前置和后置的重载 3.5 前置--和--后置的重载 3.6 和!的重载 4. list模板讲解 4.1 begin()函数 …...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...