【问题标题】:Installing PyTorch on Jetson Nano Ubuntu 18在 Jetson Nano Ubuntu 18 上安装 PyTorch
【发布时间】:2021-04-08 00:12:35
【问题描述】:

我正在尝试在 Jetson Nano Ruining Ubuntu 1804 上安装 PyTorch。我的参考是 https://dev.to/evanilukhin/guide-to-install-pytorch-with-cuda-on-ubuntu-18-04-5217

当我尝试以下命令时,我得到了:

(my_env) crigano@crigano-desktop:~$ python3.8 -m pip install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing
Collecting numpy
  Using cached numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl (12.7 MB)
Collecting ninja
  Using cached ninja-1.10.0.post2.tar.gz (25 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting pyyaml
  Using cached PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl (818 kB)
ERROR: Could not find a version that satisfies the requirement mkl
ERROR: No matching distribution found for mkl

【问题讨论】:

    标签: python ubuntu installation pytorch


    【解决方案1】:

    如果您只想在裸机 Jetson Nano 上使用 PyTorch,只需使用 NVIDIA's pre-compiled binary wheel 安装即可。其他包可以在Jetson Zoo找到。

    MKL 由英特尔开发,“用于优化当前和未来几代 英特尔® CPU 和 GPU 的代码。” [PyPI]。显然,它确实可以在 AMD 等其他基于 x86 的芯片上运行(尽管英特尔历来故意削弱非英特尔芯片库[Wikipedia]),但不出所料,英特尔对支持 ARM 设备不感兴趣,也没有将 MKL 移植到 ARM 架构。

    如果您的目标是在 numpy 中使用 MKL 进行数学优化,那么 openblas 是 ARM 的可行替代方案。 libopenblas-base:arm64libopenblas-dev:arm64 预装在 NVIDIA 的 "L4T PyTorch" Docker images 上。您可以使用numpy.__config__.show() 确认numpy 检测到它们。这就是我在l4t-pytorch:r32.5.0-pth1.6-py3 图像上的 python 3.69 中使用 numpy 1.12 得到的结果:

    blas_mkl_info:
      NOT AVAILABLE
    blis_info:
      NOT AVAILABLE
    openblas_info:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib/aarch64-linux-gnu']
        language = c
        define_macros = [('HAVE_CBLAS', None)]
    blas_opt_info:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib/aarch64-linux-gnu']
        language = c
        define_macros = [('HAVE_CBLAS', None)]
    lapack_mkl_info:
      NOT AVAILABLE
    openblas_lapack_info:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib/aarch64-linux-gnu']
        language = c
        define_macros = [('HAVE_CBLAS', None)]
    lapack_opt_info:
        libraries = ['openblas', 'openblas']
        library_dirs = ['/usr/lib/aarch64-linux-gnu']
        language = c
        define_macros = [('HAVE_CBLAS', None)]
    

    所以大概它会使用openblas 代替 MKL 进行数学优化。如果您的用例也用于numpy 优化,您同样可以使用openblas 并且不应该需要MKL ......这是幸运的,因为它无论如何都不可用。 ?

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 2020-12-28
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      相关资源
      最近更新 更多