You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu AWS EC2实例中Yolov5调用Torch Hub报错求助

问题描述

我在Ubuntu系统的AWS EC2实例中按以下命令安装Torch和OpenCV:

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu

pip install opencv-python

随后运行以下代码:

import torch

# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')

# Image
im = 'car.jpg'

# Inference
results = model(im)

results.pandas().xyxy[0]

但出现如下错误:

Using cache found in /home/ubuntu/.cache/torch/hub/ultralytics_yolov5_master
Traceback (most recent call last):
  File "/home/ubuntu/web/lib/objd/objd.py", line 4, in <module>
    model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
  File "/home/ubuntu/web/myenv/lib/python3.10/site-packages/torch/hub.py", line 542, in load
    model = _load_local(repo_or_dir, model, *args, **kwargs)
  File "/home/ubuntu/web/myenv/lib/python3.10/site-packages/torch/hub.py", line 572, in _load_local
    model = entry(*args, **kwargs)
  File "/home/ubuntu/.cache/torch/hub/ultralytics_yolov5_master/hubconf.py", line 93, in yolov5s
    return _create('yolov5s', pretrained, channels, classes, autoshape, _verbose, device)
  File "/home/ubuntu/.cache/torch/hub/ultralytics_yolov5_master/hubconf.py", line 33, in _create
    from models.common import AutoShape, DetectMultiBackend
  File "/home/ubuntu/.cache/torch/hub/ultralytics_yolov5_master/models/common.py", line 18, in <module>
    import cv2
  File "/home/ubuntu/web/myenv/lib/python3.10/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/home/ubuntu/web/myenv/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

该代码在本地计算机可正常运行,请问如何解决这个错误?

解决方案

错误根源是AWS EC2的Ubuntu服务器实例默认未预装OpenCV依赖的系统级图形库,libGL.so.1属于OpenGL核心库,无法通过pip安装,需要通过系统包管理器补充:

  1. 更新系统包索引:
sudo apt update
  1. 安装缺失的依赖库:
sudo apt install -y libgl1-mesa-glx libglib2.0-0

安装完成后重新运行你的Python代码,即可正常导入OpenCV并加载YOLOv5模型。

本地计算机能正常运行是因为桌面版Ubuntu默认预装了这些图形相关的系统组件,而EC2服务器版为了轻量化省略了这类库。

内容的提问来源于stack exchange,提问作者Lintang Gilang Pratama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:56:07