arm架构下torch环境的安装(主要是conda,torch,torchvision以及tensorflow)

该文章已生成可运行项目,

以前装过arm架构下的深度学习环境还是有点麻烦的,在此记录一下
参考:https://blog.youkuaiyun.com/condom10010/article/details/128139401?ops_request_misc=&request_id=&biz_id=102&utm_term=orin%E5%B9%B3%E5%8F%B0%E6%9E%B6%E6%9E%84%E9%85%8D%E7%BD%AEtorch%E7%8E%AF%E5%A2%83&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-128139401.142v100control&spm=1018.2226.3001.4187

https://blog.youkuaiyun.com/qq_58728069/article/details/136292802?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171759001916800227447557%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171759001916800227447557&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-6-136292802-null-null.142v100control&utm_term=orin%E5%B9%B3%E5%8F%B0%E6%9E%B6%E6%9E%84%E9%85%8D%E7%BD%AEtorch%E7%8E%AF%E5%A2%83&spm=1018.2226.3001.4187
arm架构下torch环境的安装

1. 查看arm域控 cuda 版本

nvcc -V
出现cuda版本cuda已完成安装

2. 下载archconda

    a) 命令sh Archiconda3-0.2.3-Linux-aarch64.sh
    b) 可能bash会报错 sudo gedit ~/.condarc 查看 将export行显示conda安装路径留着把报错的行删掉
    c) 可能需要换源
    d) 创建虚拟环境 conda create -n 环境名 python=3.8
    e) 激活 conda activate 环境名
    f) 禁用初始bash环境自启conda config --set auto_activate_base false

3. 选用适合的pytorch版本

    a) 网址[https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048](https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048)
    b) 推荐选择python3.8对应的torch版本
    c) 在虚拟环境下 运行pip install torch----------

4. 选择合适的torchvision版本

    **a) 由于pip install torchvision==版本号 不支持arm架构 所以需要编译torchvision源码**
    b) 查看torch和torchvision对应关系 网址[https://pytorch.org/get-started/previous-versions/](https://pytorch.org/get-started/previous-versions/)
    c) 然后去对应github上下载对应版本[https://github.com/pytorch/vision/tree/v0.13.0](https://github.com/pytorch/vision/tree/v0.13.0)
    d) 下载完成解压后进入目录 安装依赖包
        i. sudo apt-get install libopenblas-base libopenmpi-dev
        ii. pip install Cython  注意要在虚拟环境下安装
        iii. export BUILD_VERSION=0.13.0    
        iv. python setup.py install –user  注意编译过程很漫长 会报warning 但是不用介意
        v. 编译完成即可

环境检查的程序:
使用对应的python环境,然后:

import torch
 
class check_all:
    """
    检测当前设备torch、tensorflow安装状态
    """
    def __init__(self):
        """
        常量
        """
        torchvision = __import__("torchvision")
        tf          = __import__("tensorflow")
        self.tensorflow_version = tf.__version__
        self.tensorflow_is_gpu  = tf.test.is_built_with_cuda
        self.torch_version = torch.__version__
        self.cuda_version = torch.version.cuda
        self.torchvision_version = torchvision.__version__
        self.use_device = torch.cuda.current_device()
        p = torch.cuda.get_device_properties(self.use_device)
        self.gpu_size = int(p.total_memory/ 1024 ** 3)
        self.device_number = torch.cuda.device_count()
        self.gpu_name = torch.cuda.get_device_name(self.use_device)
        self.gpu_capability = torch.cuda.get_device_capability(self.use_device)
 
    def check(self):
        """
        检测输出
        """
        print("tensorflow版本{}".format(self.tensorflow_version))
        print("tensorflow是否为CUDA显卡驱动:{}".format("是"if self.tensorflow_is_gpu else "不是"))
        print("CUDA版本:{}".format(self.cuda_version))
        print("pytorch版本:{}\ntorchvision版本:{}".format(self.torch_version,self.torchvision_version))
        print("pytorch是否为CUDA显卡驱动:{}".format("是" if torch.cuda.is_available() else "不是"))
        print("当前设备显卡数量为:{},使用设备编号为:{}".format(self.device_number,self.use_device))
        print("当前使用的设备显卡名称为:{}".format(self.gpu_name))
        print("当前显卡算力为:{}\n当前显卡的内存大小为:{}GB".format(self.gpu_capability,self.gpu_size))
 
 
 
if __name__ == '__main__':
    check = check_all()
    check.check()

这里也在检查tensorflow,也可以使用源码安装,直接就能安装(在对应的python环境下)

pip install tensorflow-2.8.0+nv22.4-cp38-cp38-linux_aarch64.whl
本文章已经生成可运行项目
### 在ARM架构上编译和安装PyTorchARM架构下编译并安装PyTorch需要考虑设备的硬件性能以及软件环境的适配性。以下是详细的步骤说明: #### 1. 环境准备 确保目标设备运行的是支持ARM64架构的操作系统,例如Ubuntu 20.04或更高版本。此外,需要安装必要的依赖库以支持PyTorch的编译过程[^1]。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y git cmake build-essential libopenblas-dev libblas-dev \ liblapack-dev gfortran libjpeg-dev libpng-dev libtiff-dev libavcodec-dev \ libavformat-dev libswscale-dev python3-pip python3-dev python3-numpy ``` #### 2. 安装CUDA(可选) 如果目标设备支持GPU加速并且有相应的CUDA驱动程序,则可以安装CUDA以提升性能。需要注意的是,PyTorch官方并未提供针对ARM架构的预编译CUDA版本,因此可能需要手动配置或寻找第三方支持[^4]。 ```bash # 假设使用Jetson Nano作为示例设备 wget https://developer.nvidia.com/compute/cuda/11.4/Prod/local_installers/cuda_11.4.3_linux_aarch64_sbsa.run sudo sh cuda_11.4.3_linux_aarch64_sbsa.run --silent --toolkit ``` #### 3. 克隆PyTorch源代码 从GitHub仓库克隆最新的PyTorch源代码,并切换到适合的分支(通常是`master`或特定的稳定版本)[^1]。 ```bash git clone --recursive https://github.com/pytorch/pytorch.git cd pytorch git submodule update --init --recursive ``` #### 4. 安装依赖库 根据PyTorch的构建需求,安装所需的Python包和其他依赖项。 ```bash pip3 install -r requirements.txt ``` #### 5. 配置和编译 使用`setup.py`脚本进行编译配置。可以根据具体需求调整编译选项,例如是否启用CUDA支持。 ```bash python3 setup.py build develop ``` 对于CUDA支持的设备,可以通过设置环境变量来启用GPU加速[^4]。 ```bash export USE_CUDA=1 export TORCH_CUDA_ARCH_LIST="5.3" python3 setup.py build develop ``` #### 6. 测试与验证 完成编译后,可以通过运行官方提供的测试用例来验证安装是否成功[^1]。 ```bash pytest test ``` 如果一切正常,可以尝试加载一个简单的神经网络模型以进一步确认功能完整性。 ```python import torch print(torch.__version__) x = torch.rand(5, 5) y = torch.rand(5, 5) z = x + y print(z) ``` --- ### 注意事项 - 编译PyTorch是一个资源密集型任务,尤其是对于计算能力较弱的ARM设备(如树莓派)。建议使用高性能ARM设备(如NVIDIA Jetson系列)以减少编译时间。 - 如果不想从源代码编译,可以尝试使用第三方提供的预编译版本或Docker镜像[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值