zoukankan      html  css  js  c++  java
  • Jetson TX1安装pyTorch

    安装步骤:

    1. 配置SSD或者SD卡启动

    详细步骤参考:https://www.cnblogs.com/haiyang21/p/10780827.html

    注意:(1)SD卡在格式化的时候可能会出现ext4格式无法格式化的情况,可以选择只格式化Partition分区,我的情况是重新刷机后,只格式化了Partition分区,结果可行,并为验证是哪个原因引起的。

    (2)设置开机SD卡启动,只需要修改SD卡中的/boot/extlinux/extlinux.conf文件,这样如果出现问题,可以拔出SD卡,系统会重新从emmc启动。

    (3) SSD启动时无法开机自动挂在,所以在配置extlinux.conf文件时,需要修改emmc卡内的文件

    2. 配置swapfile

    如果不配置的话会由于空间不足导致错误:c++: internal compiler error: Killed (program cc1plus)

    git clone https://github.com/jetsonhacks/postFlashTX1.git
    cd postFlashTX1
    ls
    $ sudo ./createSwapfile.sh -d [directory location] -s [size in gigabytes] –a
    [directory location]: 为swapfile创建的路径
    [size in gigabytes]: 为swapfile创建的大小
    -a:为开机启动
    
    eg. sudo ./createSwapfile.sh -d /media/nvidia/JetsonUSB/ -s 8 -a

    注意:我选择的时在usb上创建swapfile,格式化的方式与步骤1相同

    3. 安装依赖库

    sudo apt install libopenblas-dev libatlas-dev liblapack-dev
    sudo apt install liblapacke-dev checkinstall # For OpenCV
    sudo apt-get install python3-pip
     
    pip3 install --upgrade pip3==9.0.1
    sudo apt-get install python3-dev
     
    sudo pip3 install numpy scipy # 这个花费的时间略长,20分钟到30分钟左右
    sudo pip3 install pyyaml
    sudo pip3 install scikit-build
    #sudo apt-get -y install cmake
    sudo apt install libffi-dev
    sudo pip3 install cffi
    sudo pip3 install protobuf

    注意:cmake直接安装可能会由于版本过低导致安装pytorch失败,我选用的是编译源码方式安装指定版本

    如果已经安装低版本,可以先卸载

    sudo apt-get autoremove cmake

    重新编译安装

    wget https://cmake.org/files/v3.9/cmake-3.9.6.tar.gz
    tar -zxvf cmake-3.9.6.tar.gz
    cd cmake-3.9.6/
    ./bootstrap
    make
    make install

    4. 配置cudnn路径

    sudo gedit ~/.bashrc
    export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu
    export CUDNN_INCLUDE_DIR=/usr/include
    source ~/.bashrc

    5. 下载pytorch源码

    git clone http://github.com/pytorch/pytorch
    cd pytorch
    sudo pip3 install -U setuptools
    sudo pip3 install -r requirements.txt
    git submodule update --init --recursive

    6. 配置NCCL为false以免编译过程中出现编译错误

    CMakeList.txt中设置NCCL=False
    setup.py中添加NCCL=False

    install NCCL

    https://github.com/NVIDIA/nccl

    https://developer.nvidia.com/nccl

    7. 编译安装

    sudo python setup.py build develop
    sudo python setup.py install

     8. 验证安装是否成功

    # Verify CUDA (from python interactive terminal)
    import torch
    print(torch.cuda.is_available())
    a = torch.cuda.FloatTensor(2)
    print(a)
    b = torch.randn(2).cuda()
    print(b)
    c = a + b
    print(c)

    需要注意的是使用jetson pack3.3重新刷机,避免编译错误。因为pytorch1.0需要cudnn7.0,编译过程中

    可能会遇到protobuf找不到的问题,可以执行 pip install protobuf安装,再重新编译即可,同时需要关闭NCCL,在CMakeList.txt中将NCCL=False,

    并且在setup.py中添加 USE_NCCL=False。

    参考链接:

    https://www.ncnynl.com/archives/201705/1629.html

    https://blog.csdn.net/qq_36302589/article/details/88306550

    环境配置:设置swap大小,清理空间,避免编译时出现空间不足导致编译错误

    https://github.com/jetsonhacks/postFlashTX1

    https://blog.csdn.net/hit2015spring/article/details/62217289

  • 相关阅读:
    es6的解构赋值
    防抖
    resources saver 实现资源批量下载
    flutter了解
    export, export default 和 import的使用
    5,vue过滤和高阶函数
    4,v-for循环
    3,v-if的使用
    2,v-on绑定事件和修饰符
    怎样统一管理vue项目中的大量api和异步操作
  • 原文地址:https://www.cnblogs.com/haiyang21/p/10708196.html
Copyright © 2011-2022 走看看