Jetson Nano安装pytorch 基于torch1.6和torchvision0.7

2023-11-11

需要注意的是,博主使用的是win10主机,通过局域网连接的jetson nano, 其中jetson nano的预制CUDA版本为10.2 Jetpack 4.1.1

分别执行以下命令,即可查看自己的jetson nano 预搭载的CUDA版本

sudo pip3 install jetson-stats

sudo jtop

基础安装教程

1.基础连接

1、基础部件安装

在这里插入图片描述

在这里插入图片描述

基础的系统烧录等可以参考这篇博文
Nvidia Jetson Nano入门与使用

2、远程桌面连接

可以参考这篇博文,使用Xshell和Xftp,对于没有屏幕的用户比较友好,另外,jetson nano开启屏幕连接会占用一定量的CPU和GPU资源,远程连接可节省之。

另外,连接上Xftp后可以使用其实现文件传输,在jetson nano不便于下载某些文件时,可以通过主机下载后再传过去

下面这篇博文对于Xshell使用介绍非常详细,这里不再赘述,同样的,Putty也可以连接,方法更为简单,但功能略微弱于 Xshell 可自行百度之。
https://blog.csdn.net/u013617229/article/details/89715667

不过,需要提醒的是,博主下面的操作,虽然都是在命令行完成的,但是博主连接了屏幕,所以如果直接是远程桌面连接,有一定可能性出现博文中未出现的情况

2.环境配置

1.关于CUDA的环境变量导入

jetson nano是原装了CUDA的,但是需要用户导入环境变量(导入相关的路径)才可以使用,只有环境变量导入成功后,方可在命令行使用 nvcc -V
在命令行输入 sudo gedit ~/.bashrc
(类似于文本编辑器,需要连接显示器,如果没有显示器,需要自行百度vim的方法来添加环境变量)
在最后添加这三行 (注意,输入变量时,是usr,不是user,linux小白当时差点没注意这点细节)

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH

保存后退出,执行 source ~/.bashrc,使得环境变量生效

在命令行输入 nvcc -V 如果正常输出,说明CUDA路径配置成功,对于CUDA10.0版本,方法或许与博文有出入,请自行百度之。

在这里插入图片描述

2.安装pytorch torch1.6和torchvison0.7.0

下述步骤安装的是 PyTorch v1.6 + torchvision v0.7.0-rc2
需要注意的是,博主的jetson nano搭载的是CUDA10.2版本,因此强烈建议使用1.6版本的pytorch,其他版本的pytoch安装后会出现各种问题
详情可参考这位博主的经历
同时本博主也是参考这位博主的方法安装的

前往nvidia官网下载pytorch,Pytorch在arm64架构上需要自己编译安装。

Nvidia提供了在Nano上的预编译的pytorch安装包,直接下载需要科学上网,因此建议将下载链接复制到迅雷以便加速下载。

同时,这里提供了pytorch 1.6.0的已经编译好的wheel安装包,下载后重命名为torch-1.6.0-cp36-cp36m-linux_aarch64.whl,并将文件放在用户目录下,这样可以直接打开。
链接:https://pan.baidu.com/s/1bjMHIg1KDJ0HMB37HB_DzQ
提取码:c3z2
(此处的资源连接转载自博文

安装 torch1.6 在命令行执行

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install torch-1.6.0-cp36-cp36m-linux_aarch64.whl

由于我们安装的是pytorch1.6因此,我们只能知用torchvisionv0.7.0,但是去官方找,最多只到0.6.0
在这里插入图片描述

随后安装torchvision 0.7.0

sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.7.0 https://gitee.com/zero-one-game/vision torchvision   
# 鉴于国内网络环境,博主提供gitee码云加速下载,直接使用github会因出现网络问题而无法进行
#这行命令是将源代码下载到了用户目录下的torchvision,如果torchvision已经存在,需要删除,如果提示permission denied
#命令行使用sudo su 进入管理员模式,  执行 rm -r torchvision ,或者也可以自行查找更安全的删除方法


cd torchvision   

#进入用户目录下的torchvision,执行源代码编译工作,需要一定的时间,大概十多分钟

sudo python3 setup.py install
cd ../  # attempting to load torchvision from build dir will result in import error
pip3 install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

更多详细的安装步骤,可以参考以下博文

https://www.pianshen.com/article/41791665147/
https://www.pythonf.cn/read/135121
https://www.cnblogs.com/cumtchw/p/13273753.html
https://www.cnblogs.com/cumtchw/p/13279051.html

编译并安装完成后,命令行输入python3,启动python3.6.9,进入交互式命令行

>>> import torch
>>> print(torch.__version__)
# 输出 1.6.0
>>> print('CUDA available: ' + str(torch.cuda.is_available()))
>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))
>>> a = torch.cuda.FloatTensor(2).zero_()
>>> print('Tensor a = ' + str(a))
>>> b = torch.randn(2).cuda()
>>> print('Tensor b = ' + str(b))
>>> c = a + b
>>> print('Tensor c = ' + str(c))
>>>> import torchvision
>>> print(torchvision.__version__)
# 输出 0.7.0

3.安装虚拟环境,隔离真实环境
参考博文,后续将详细补充相关用法
https://www.cnblogs.com/kekeoutlook/p/13511212.html

linux下,把文本从其他GUI程序复制到终端用 ctrl+shift+v

4.好像有朋友遇到了git出问题,下载不了,我这里直接给出前面的torchvision0.7.0的zip包,有需要的自取,蓝奏分享链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson Nano安装pytorch 基于torch1.6和torchvision0.7 的相关文章

随机推荐

  • 蓝桥杯JAVA B组 2022第四题 最少刷题数

    一 题目描述 二 思路分析 1 对输入的刷题数进行排序 2 分情况考虑 奇数情况下 超过中间值才能满足全班刷题比他多的学生数不超过刷题比他少的学生数 偶数情况下需要等于中间偏大的值就可以满足条件 三 代码 import java util
  • 西门子s300编程实例_plc西门子s300编程 西门子编程1000例

    西门子PLCS 200与S300 400系列编程电缆可以同意吗 西门子PLC S 200与S300 400系列编程电缆 如果是USB原装的 可以通用 价格2000元左右 西门子PLC S 200编程线型号PC PPI或者USB PPI 山寨
  • React 窗口防抖

    假如有这种需求 浏览器的窗口不断缩小变大 此时页面的布局不会自动刷新 需要手动刷新页面才会自适应大小 此时我们立马就会想到使用windows的onresize方法 window onresize gt 重新渲染画面 root render
  • 一起学nRF51xx 22 -  实现一个具体SVC调用功能的demo

    前言 上一节 一起学nRF51xx 21 蓝牙项目工程的初始化流程解读 讲到nordic的蓝牙协议栈是通过SVC来实现APP与协议栈之间通接口调用的 那么如何来实现一个具体SVC调用功能的程序呢 本节将带大家解决这个问题 示例详解 基于硬件
  • 【Python实战】数据预处理(数据清理、集成、变换、归约)

    Python实战 数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1 异常数据分析 2 异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1 实体识别 2 冗余属性 3 数据不一致 数据变换 1 使用简单的数学函数对数据进行变
  • 可验证延迟函数(VDF)

    干货 可验证延迟函数 VDF 自从以太坊将可验证延迟函数 Verifiable Delay Function VDF 列入研究计划并打算在以太坊 2 0 使用之后 VDF 得到了广泛的关注 VDF 这个概念最初由斯坦福大学密码学教授 Dan
  • osgEarth的Rex引擎原理分析(二十)osgEarth::TerrainEngineNode中setMap方法作用

    目标 十二 中的问题12 不同于派生类RexTerrainEngineNode中setMap的内容 详见 十二 在RexTerrainEngineNode执行setMap时会首先调用TerrainEngineNode的setMap 这里主要
  • NCRE网络技术知识点

    备考NCRE的三级网络技术 主要以刷题为主 考试大部分是题库中的原题 刷题的过程也要主要总结和复习 因为题库有很多重复的题目 重复的知识点 但是考试的时候记忆不清晰的话很容易重复犯错 弹性分组环 RPR 中每一个节点都执行SRP公平算法 与
  • CC攻击是怎么查看和预防的,云服务器有没有办法防止CC攻击

    网站被CC攻击后会出现访问速度很慢 影响用户体验 被搜索引擎K站 排名消失 那么 怎么排查自己被CC了呢 所谓的CC攻击 就是攻击者借助代理服务器生成指向受害主机的合法请求 从而实现DDOS和伪装 1 如果网站是动态网站 比如asp asp
  • Flask实现用户登录注册(附前后端源码)

    效果展示 登录 注册 主页面 项目结构 项目结构如下 项目采用蓝图进行视图函数的管理 每个功能被放在一个小的app中 登录和注册功能放在了app login文件夹中 后端Python代码 app login中的 init py创建了一个蓝图
  • Ubuntu20安装gcc11

    Ubuntu20默认情况下没有安装gcc和g 等工具 最近学习C 20的协程编程 需要将g cc 直接升级到11 下面介绍下方法 首先 添加安装源 sudo add apt repository y ppa ubuntu toolchain
  • C语言学习笔记(六)

    1 C语言关键字 C语言的32个基本关键字 c语言关键字 鵛的博客 CSDN博客 2 注意 define不是关键字 define是编译器的预编译指令 是编译器实现的 不是C语言的内容
  • CentOS安装TexLive2023

    这里写自定义目录标题 下载 wget https mirrors tuna tsinghua edu cn CTAN systems texlive Images texline 版本 iso wget https mirrors tuna
  • 虚函数与虚函数表详解

    虚函数的定义要遵循以下重要规则 1 如果虚函数在基类与派生类中出现 仅仅是名字相同 而形式参数不同 或者是返回类型不同 那么即使加上了virtual关键字 也是不会进行滞后联编的 2 只有类的成员函数才能说明为虚函数 因为虚函数仅适合用与有
  • Android studio 启动指定的activity

    Android studio的强大就不用多说了 今天说一下studio怎么启动到指定的Activity 场景 有如下5个Activity MainActivity Activity2 Activity3 Activity4 Activity
  • 体验一个全新的RTOS-QNX系统功能介绍

    锋影 e mail 174176320 qq com QNX的简单的介绍 这个我就很惭愧的引用一下官方的一些说法 QNX Quick Unix Unix AT T QNX 实时操作系统是由加拿大著名的QNX SOFTWARE SYSTEMS
  • PL/SQL程序设计_基本语法

    DECLARE V DATE DATE SYSDATE v var VARCHAR2 20 V VALID BOOLEAN BEGIN IF V VAR IS NULL THEN DBMS OUTPUT PUT LINE V VAR IS
  • H264(NAL简介与I帧判断)

    1 NAL全称Network Abstract Layer 即网络抽象层 在H 264 AVC视频编码标准中 整个系统框架被分为了两个层面 视频编码层面 VCL 和网络抽象层面 NAL 其中 前者负责有效表示视频数据的内容 而后者则负责格式
  • 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到 投币 领取奖励 SCHEDULE BILIBILI 是一个B站自动执行任务的工具 使用 JS AXIOS 编写 通过它可以实现B站帐号的每日自动观看 分享 投币视频
  • Jetson Nano安装pytorch 基于torch1.6和torchvision0.7

    需要注意的是 博主使用的是win10主机 通过局域网连接的jetson nano 其中jetson nano的预制CUDA版本为10 2 Jetpack 4 1 1 分别执行以下命令 即可查看自己的jetson nano 预搭载的CUDA版