3-基于容器安装carla
用户可以将基于CARLA发布的镜像拉到Docker容器中运行。这对于以下用户很有用:
想要运行CARLA而不需要安装所有依赖项
运行多台CARLA服务器,进行GPU映射。
运行不显示的CARLA服务器
本节解释了运行CARLA图像的要求,以及如何使用OpenGL和Vulkan图形api运行图像。
1 开始之前
您需要安装:
Docker:按照这里的安装说明操作(Install | Docker Docs)。
NVIDIA容器工具包:NVIDIA容器工具包是一个库和工具集,它将NVIDIA图形设备暴露给Linux容器。它是专门为在Linux主机系统上运行的Linux容器或在Linux的Windows子系统版本2下的Linux发行版中运行的Linux容器设计的。按照该说明(Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.16.2 documentation)安装nvidia-docker2包。
2 在容器中运行CARLA
1. 拉取CARLA镜像。
您可以提取最新的CARLA镜像或特定的发布版本。最新映像指的是最新的打包版本。要提取镜像,请运行以下命令之一:
# Pull the latest image
docker pull carlasim/carla:latest# Pull a specific version
docker pull carlasim/carla:0.9.12
2. 运行CARLA容器。
不同版本的CARLA支持不同的图形api,这可能会影响Docker镜像运行的条件:
0.9.12只支持Vulkan
0.9.7+支持Vulkan和OpenGL。
carla 0.9.12:
运行带有显示的CARLA:
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.12 /bin/bash ./CarlaUE4.sh
在非屏幕模式下(不显示)运行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
CARLA 0.9.7到0.9.11
使用Vulkan运行CARLA:
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY -e SDL_VIDEODRIVER=x11 -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.11 /bin/bash ./CarlaUE4.sh -vulkan <-additonal-carla-flags>
只要您的机器有显示器,此命令将允许您使用Vulkan运行CARLA映像。有关在非屏幕模式下运行Vulkan的信息,请参阅渲染文档(https://carla.readthedocs.io/en/0.9.13/adv_rendering_options/#off-screen-mode)。
使用OpenGL运行CARLA:
docker run -e DISPLAY=$DISPLAY --net=host --gpus all --runtime=nvidia carlasim/carla:<version> /bin/bash CarlaUE4.sh -opengl <-additonal-carla-flags>
3. (可选)配置Docker标志
上面的命令使用了一些Docker标志,可以根据你的需要进行配置:
网络:--net=host参数将允许容器共享主机的整个网络。如果希望将主机上的特定端口映射到容器端口,可以使用标志-p <host-ports>:<container-ports>。
gpu:您可以使用--gpu all来选择使用所有gpu,或者使用--gpu '"device=<gpu_01>,<gpu_02>"'来选择特定的gpu。更多信息请看这里(Resource constraints | Docker Docs)。
离屏模式
如果你在没有显示器的机器上运行CARLA, OpenGL不需要配置,但是你需要在CARLA 0.9.12之前使用Vulkan执行一些额外的步骤来做同样的事情。有关信息,请参阅相关文档(https://carla.readthedocs.io/en/0.9.13/adv_rendering_options/#off-screen-mode)。
相关文章:
3-基于容器安装carla
用户可以将基于CARLA发布的镜像拉到Docker容器中运行。这对于以下用户很有用: 想要运行CARLA而不需要安装所有依赖项 运行多台CARLA服务器,进行GPU映射。 运行不显示的CARLA服务器 本节解释了运行CARLA图像的要求,以及如何使用OpenGL和Vulkan图形api运行…...
循环程序结构课堂练习题解
A 如果药够, 则拿药, 否则记录 #include <stdio.h>int main() {int m, n, i;scanf("%d", &m);scanf("%d", &n);int ans 0;for(i 1; i < n; i ){int temp;scanf("%d", &temp);if(m > temp){m - temp;}else{ans ;}}p…...
SpringBoot搭建
第一种创建方式 第二种创建方式 第三种创建 第四种手动创建 最后把controller写好...
【ChatGPT】Python 实现计算两线段的变换矩阵
作为一个数学专家,请给出下面的这个问题的数学解法; 要求如下: 1. 给出数学推理公式 2. 给出 python 的实现方式已知条件: 1. 三维空间中,线段L1,L1 由点 A1 (ax1, ay1, az1) 与 B1 (bx1, by1, bz1) 组成&a…...
大数据Hologres(二):Hologres 快速入门
文章目录 Hologres 快速入门 一、资源领取 二、入门体验 1、创建数据库 2、创建表 3、导入示例数据 4、查询表中数据 Hologres 快速入门 一、资源领取 领取链接: 阿里云免费试用 - 阿里云 (aliyun.com) 二、入门体验 1、创建数据库 进入Hologres管理控制…...
华为仓颉语言入门(7):深入理解 do-while 循环及其应用
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 用法说明 do-while 表达式是一种控制循环的结构,它允许代码在每次循环之后进行条件判断。在这个表达式中,无论条件一开始是否满足,代码块都会被至少执行一次。 语法…...
在传销案件中数据库取证的分步指南
金字塔计划的特点是分层结构,主要由招募新成员的机制驱动。取证部门调查这些方案时,往往依靠数据库记录来分析这种结构。这些记录详细描述了上级和下级之间的关系,使调查人员能够描绘出组织的动态。在本文中,我们将探讨如何利用数…...
数据结构与算法——Java实现 21.栈
目录 一、概述 二、基于链表的栈的实现 接口 链表接口实现类 测试类 编辑 三、基于数组的栈的实现 接口 数组接口实现类 测试类 妈妈,生日快乐,希望你健康快乐没有烦恼也不会有病痛 —— 24.9.28 一、概述 计算机科学中,stack是一种线性的…...
实验一 网络基础及仿真模拟软件Packet Tracer 入门
实验一 网络基础及仿真模拟软件Packet Tracer 入门 【实验目的】 一、认识 Packet Tracer 。 二、学习使用 Packet Tracer 进行拓扑的搭建。 三、学习使用 Packet Tracer 对设备进行配置,并进行简单的测试。 【实验内容和结果】 一、拖放设备和布置线缆 二、用…...
建立分支提交代码
git分支 git branch 产看当前分支 git branch -a 查看所有分支 git checkout 分支名 切换分支 git checkout -b 分支名 建立分支(仅仅是在本地建立了,并没有关联线上) git push --set-upstream origin 分支名 把本地分支推到先线上 gti add …...
认识 Linux操作系统
前言 电脑由硬件和软件相构成,在软件中操作系统只是其中的一个分支,今天我们学习的Linux有是操作系统中的一种,不同的操作系统有自己的特点和生存生态。市面上大多数电脑自带的操作系统都是我们熟知的Windows。Linux将会为大家带来开源的新天…...
AI时代程序员的核心竞争力提升与保持之道
一、引言 ---- 随着人工智能(AI)和生成式人工智能(AIGC)技术的迅速发展,包括chatgpt、midjourney、claude等大语言模型接连不断地涌现,AI辅助编程工具在程序员社区中的普及正在悄然改变我们的工作方式。…...
状态模式原理剖析
《状态模式原理剖析》 状态模式(State Pattern) 是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。换句话说,当对象状态发生变化时,它的行为也会随之变化。 通过状态模式,可以消除通过 if-else…...
若伊(前后端分离)学习笔记
基础应用篇 1. 若伊搭建 若伊版本 若依官方针对不同开发需求提供了多个版本的框架,每个版本都有其独特的特点和适用场景: 前后端混合版本 :RuoYi结合了SpringBoot和Bootstrap的前端开发框架,适合快速构建传统的Web应用程序&…...
Elasticsearch学习笔记(2)
索引库操作 在Elasticsearch中,Mapping是定义文档字段及其属性的重要机制。 Mapping映射属性 type:字段数据类型 1、字符串: text:可分词的文本,适用于需要全文检索的情况。keyword:用于存储精确值&am…...
Vue devtools 插件
一、安装 去这下载https://chrome.zzzmh.cn/ 打开chrome的扩展程序 再打开开发模式 把刚才下载的拖到这里 然后把它固定到工具栏 就是这样了。 二、使用 程序通过open on live server后,打开开发者工具,找到vue就可以了。 这是代码 <div id"ap…...
Ubuntu 16.04安装填坑记录
一. 问题描述: (1)Ubuntu 16.04使用USB启动盘安装时,出现"try ubuntu without installation"或“install ubuntu”选择,Enter选择安装后,显示器黑屏无任何显示。 原因分析: 显示黑…...
python的pyinstaller
1、pyinstaller --onefile -w *.py 可以生成可执行文件 -w就是不需要有console窗体出现、 2、 console窗体会出现一些警告。 比如 Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-scre…...
Vue3(五) 组件通信大汇总
文章目录 一、props二、自定义事件三、mitt四、v-model1.v-model的本质2.v-model用在组件标签上3.更换modelValue4.更换modelValue时,可以在组件标签上多次使用v-model 五、$attrs六、$refs,与¥parent1. 回顾标签ref属性修改组件信息2. $refs实现父修改所…...
红队信息搜集扫描使用
红队信息搜集扫描使用 红队行动中需要工具化一些常用攻击,所以学习一下 nmap 等的常规使用,提供灵感 nmap 帮助 nmap --help主机扫描 Scan and no port scan(扫描但不端口扫描)。-sn 在老版本中是 -sP,P的含义是 P…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
