jetson orin nano 配置lerobot环境(内含重装torch/torchvision步骤)

1.安装miniforge/ Miniconda

bash 复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
chmod +x Miniconda3-latest-Linux-aarch64.sh
./Miniconda3-latest-Linux-aarch64.sh
source ~/.bashrc

或者安装miniforge(二选一即可)这个更支持jetson的arm64架构

bash 复制代码
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

2. 创建并激活一个新的 conda 环境用于 lerobot

由于jetson的torch只能支持到python=3.10;所以这里不安装官网推荐的3.12以上

bash 复制代码
conda create -y -n lerobot python=3.10 
conda activate lerobot

3. 安装ffmpeg

注意官方文档写得暂时不支持8.x及以上

bash 复制代码
conda install ffmpeg=7.1.1 -c conda-forge
ffmpeg -version  # ffmpeg 8.X is not yet supported !

4. 克隆 Lerobot 仓库

bash 复制代码
git clone https://github.com/huggingface/lerobot.git
cd lerobot

5. 安装带有 feetech 电机依赖的 LeRobot:

包含 feetech 额外依赖

bash 复制代码
pip install -e ".[feetech]"

6. 执行此步前,确认已经安装了jetpack

由于Jetson对于opencv,numpy等有自己的版本要求,所以重新

bash 复制代码
# 重新安装opencv
conda install -y -c conda-forge "opencv>=4.10.0.84"  # 通过 conda 安装 OpenCV 和其他依赖,仅适用于 Jetson Jetpack 6.0+
conda remove opencv   # 卸载 OpenCV,这里主要是为了留依赖项
pip3 install opencv-python==4.10.0.84  # 使用 pip3 安装指定版本 OpenCV
# 重新安装numpy
pip uninstall numpy
pip3 install numpy==1.26.0  # 该版本需与 torchvision 兼容

7. 重新安装Pytorch 和 Torchvision

7.0 删除原来的torch和torchvision

bash 复制代码
pip uninstall torch torchvision

7.1 查看JetPack版本

bash 复制代码
cat /etc/nv_tegra_release

这里的R36 在后面选择torch和torchvision版本会用到

7.2 确保系统包是最新的

bash 复制代码
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

7.3 (可跳过)安装(必要)依赖

具体到底哪些有用哪些没用我也不知道,也可以先不装,等有问题了再回过头来装

bash 复制代码
# 1. 安装 mamba(更快的包管理器,可选但推荐)
conda install mamba -y

# 2. 使用 mamba 安装 Pinocchio 及其 Python 绑定
#    Pinocchio 是用于机器人动力学计算的高效库,常用于仿真与控制
mamba install -c conda-forge pinocchio pinocchio-python -y

# 3. 安装 PyTorch 所需的系统级依赖(用于 GPU 加速和并行计算)
#    - libopenblas-base: 高性能线性代数库
#    - libopenmpi-dev / libomp-dev: 并行计算支持(MPI 和 OpenMP)
sudo apt-get update  # 先更新包列表,确保能获取最新版本
sudo apt-get install -y python3-pip python3-dev libopenblas-base \
    libopenmpi-dev libomp-dev

# 4. 安装 TorchVision 及其他图像/视频处理所需的底层库
#    这些库用于处理摄像头数据、视频编码解码等任务
sudo apt-get install -y libjpeg-dev zlib1g-dev libpython3-dev \
    libavcodec-dev libavformat-dev libswscale-dev

7.4 安装torch和torchvison

官网下载链接,这里建议开梯子,不然非常慢:https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048

选择对应版本,下载whl后pip install即可,torch和torchvision都是

bash 复制代码
cd [到你下载的包的文件夹下]
pip install torch-2.3.0-cp310-cp310-linux_aarch64.whl
pip install torchvision-0.18.0a0+6043bc2-cp310-cp310-linux_aarch64.whl

7.5 验证CUDA和torch和torchvision

复制代码
python -c "import torch; print(torch.cuda.is_available())"
python -c "import torchvision; print(torchvision.__version__)"

现在环境就配置好了!

常见问题解决方案

Jetson设备内存有限,编译时可能出现内存不足的问题; 增加交换空间相当于在硬盘上划出一块区域(这里是4G)当临时内存用,能有效避免这个问题。如果你的板子还没设置过,可以这么操作:

bash 复制代码
# 创建交换空间
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永久添加交换空间(可选)
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
相关推荐
碧海银沙音频科技研究院24 分钟前
基于炬芯ATS308X内置音乐铃声与扫频音频功能实现
单片机·嵌入式硬件
硅基造物主43 分钟前
18.从 IP 到 MQTT:STM32 用 AT 指令驱动 ESP-12F 上云的完整链路(含全套实战代码 + 踩坑清单)
网络·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
HRTOS1 小时前
HRTOS 4.0 实测:时间片模式与调度位模式的任务切换性能对比
经验分享·单片机·嵌入式硬件·51单片机
深圳市恒锐丰科技杨生1 小时前
LR048N10SM3 / LR046N10SM2 N 沟道 SGT‑MOSFET|Long‑Tek 龙夏电子
嵌入式硬件·硬件工程
独孤九剑打醒他1 小时前
【原创开源·2.0 版】太阳能水闭环氢能源汽车:动态制氢、动能回收与副产物商业闭环
前端·嵌入式硬件·汽车·硬件工程·能源
我先去打把游戏先1 小时前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
木子n12 小时前
车载以太网与SOME/IP服务化通信实战-03.事件通知与丢包语义:三类丢包模型、AoI时效账与缺口检测阈值
嵌入式硬件·网络协议·车载系统·车载以太网·some/ip
一个风轻云淡2 小时前
扒开系统调用的三层皮:从 getpid 到手写 int 0x80
stm32·单片机·嵌入式硬件
SKH.2 小时前
Linux驱动-I2C子系统驱动
嵌入式硬件
HRTOS2 小时前
HRTOS 4.0 实测:8051 中断响应延迟与中断嵌套性能测试
单片机·嵌入式硬件·51单片机