5090cuda_torch
lerobot
不用装在电脑上的cuda toolkit,网上很多教程都是
实际只需要安装conda中的cuda就可以了
conda install cuda-toolkit=12.8 cuda-nvcc=12.8 cuda-compiler=12.8 -c nvidia
在conda中安装的是阉割的cuda
cuda12.8对应torch2.7.0
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
安装错误版本会报错:
/home/ubuntu/miniconda3/envs/lerobot/lib/python3.10/site-packages/torch/cuda/__init__.py:287: UserWarning:
NVIDIA GeForce RTX 5090 D with CUDA capability sm_120 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_70 sm_75 sm_80 sm_86 sm_90.
If you want to use the NVIDIA GeForce RTX 5090 D GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
lerobot之后还会报错:
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/ubuntu/miniconda3/envs/lerobot_env/lib/python3.10/site-packages/torch/utils/data/_utils/worker.py", line 349, in _worker_loop
data = fetcher.fetch(index) # type: ignore[possibly-undefined]
File "/home/ubuntu/miniconda3/envs/lerobot_env/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 52, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ubuntu/miniconda3/envs/lerobot_env/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 52, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ubuntu/yyb/lerobot-main/lerobot/common/datasets/lerobot_dataset.py", line 739, in __getitem__
video_frames = self._query_videos(query_timestamps, ep_idx)
File "/home/ubuntu/yyb/lerobot-main/lerobot/common/datasets/lerobot_dataset.py", line 711, in _query_videos
frames = decode_video_frames(video_path, query_ts, self.tolerance_s, self.video_backend)
File "/home/ubuntu/yyb/lerobot-main/lerobot/common/datasets/video_utils.py", line 65, in decode_video_frames
return decode_video_frames_torchcodec(video_path, timestamps, tolerance_s)
File "/home/ubuntu/yyb/lerobot-main/lerobot/common/datasets/video_utils.py", line 194, in decode_video_frames_torchcodec
decoder = VideoDecoder(video_path, device=device, seek_mode="approximate")
File "/home/ubuntu/miniconda3/envs/lerobot_env/lib/python3.10/site-packages/torchcodec/decoders/_video_decoder.py", line 104, in __init__
core.add_video_stream(
File "/home/ubuntu/miniconda3/envs/lerobot_env/lib/python3.10/site-packages/torch/_ops.py", line 756, in __call__
return self._op(*args, **kwargs)
ValueError: No valid stream found in input file. Is -1 of the desired media type?
一种解决方法是在video_utils.py中不使用torchcodec,使用pyav
这样会变成警告
或者重装conda install -c conda-forge ffmpeg=6.1.1 -y
在conda环境中调整包的版本,建议先uninstall,再安装,不然其实包版本并没有改动,pip和conda安装的内容会按各自的指令卸
同时torchcodex需要手动安装对应版本
pip install torchcodec --index-url https://download.pytorch.org/whl/cu128
一开始pip install -e .安装下载的cuda和torch版本不对
这个时候应该新建环境手动下载正确版本的cuda和torch,再pip install -e .
不然在已有环境中升级是无法成功的
配置环境的时候,多克隆环境