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

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

 

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

sudo pip3 install jetson-stats

sudo jtop

基础安装教程

    • 需要注意的是,博主使用的是win10主机,通过局域网连接的jetson nano, 其中jetson nano的预制CUDA版本为10.2 Jetpack 4.1.1
    • 分别执行以下命令,即可查看自己的jetson nano 预搭载的CUDA版本
    • `sudo pip3 install jetson-stats`
    • `sudo jtop`
  • 1.基础连接
    • 1、基础部件安装
    • 2、远程桌面连接
      • 可以参考这篇博文,使用Xshell和Xftp,对于没有屏幕的用户比较友好,另外,jetson nano开启屏幕连接会占用一定量的CPU和GPU资源,远程连接可节省之。
    • `不过,需要提醒的是,博主下面的操作,虽然都是在命令行完成的,但是博主连接了屏幕,所以如果直接是远程桌面连接,有一定可能性出现博文中未出现的情况`
  • 2.环境配置
    • 1.关于CUDA的环境变量导入
    • 保存后退出,执行 `source ~/.bashrc`,使得环境变量生效
    • 在命令行输入 nvcc -V 如果正常输出,说明CUDA路径配置成功,对于CUDA10.0版本,方法或许与博文有出入,请自行百度之。
    • 2.安装pytorch torch1.6和torchvison0.7.0
    • 安装 torch1.6 在命令行执行
    • 随后安装torchvision 0.7.0

1.基础连接

1、基础部件安装

在这里插入图片描述

在这里插入图片描述

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

2、远程桌面连接

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

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

下面这篇博文对于Xshell使用介绍非常详细,这里不再赘述,同样的,Putty也可以连接,方法更为简单,但功能略微弱于 Xshell 可自行百度之。
Jetson Nano配置与使用(4)windows环境下使用Xshell6登录Jetson Nano_Damon0626的博客-CSDN博客_jetson nano windows

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

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
  • 1
  • 2
  • 3

保存后退出,执行 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,并将文件放在用户目录下,这样可以直接打开。
链接:百度网盘 请输入提取码
提取码: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
  • 1
  • 2
  • 3

由于我们安装的是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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

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

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

任何程序错误,以及技术疑问或需要解答的,请添加

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Jetson-Nano】2.Tensorflow和Pytorch的安装

文章目录 1、Tensorflow多版本安装 1.1 Protobuf 安装1.2 安装依赖包及tensorflow1.151.3 安装其它常用库1.4 测试python包是否安装成功1.5 TensorRT和Opencv的安装1.6 pycuda和onnx安装1.7 Tensorflow2.3安装2、Pytorch安装 2.1 安装pytroch和torchvision2.2 安装环境验证参考…

Spring Boot 终极清单

一、Spring Boot 终极清单诞生原因我上学那会主要学的是 Java 和 .Net 两种语言&#xff0c;当时对于语言分类这事儿没什么概念&#xff0c;恰好在2009年毕业那会阴差阳错的先找到了 .Net 的工作&#xff0c;此后就开始了漫长的 .Net 编程之旅&#xff0c;说实话最初的“编程思…

简单的喷淋实验--嵌入式实训

目录 喷淋实验--嵌入式实训 1.MQTT通信原理 2.MQTT库的移植 3.代码流程 运行视频如下: 喷淋实验--嵌入式实训 1.MQTT通信原理 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;旨在提供可靠、高效的通信…

Yolov5系列AI常见数据集(1)车辆,行人,自动驾驶,人脸,烟雾

下述所有数据可在下方二维码公众号回复&#xff1a; 数据大礼包 获得&#xff01;&#xff01;&#xff01; Fashion-MNIST图像数据集&#xff08;200.4MB&#xff09; 每个训练和测试样本都按照以下类别进行了标注&#xff1a; 标注编号描述0T-shirt/top&#xff08;T恤&…

Java核心(四)你不知道的数据集合

导读&#xff1a;Map竟然不属于Java集合框架的子集&#xff1f;队列也和List一样属于集合的三大子集之一&#xff1f;更有队列的正确使用姿势&#xff0c;一起来看吧&#xff01; Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合&#xff0c;Map并…

【Jetson-Nano】2.Tensorflow object API和Pytorch的安装

文章目录 1、Tensorflow多版本安装 1.1 Protobuf 安装1.2 安装依赖包及tensorflow1.151.3 安装其它常用库1.4 测试python包是否安装成功1.5 TensorRT和Opencv的安装1.6 pycuda和onnx安装1.7 Tensorflow2.3安装2、Pytorch安装 2.1 安装pytroch和torchvision2.2 安装环境验证参考…

Java核心(五)深入理解BIO、NIO、AIO

导读&#xff1a;本文你将获取到&#xff1a;同/异步 阻/非阻塞的性能区别&#xff1b;BIO、NIO、AIO 的区别&#xff1b;理解和实现 NIO 操作 Socket 时的多路复用&#xff1b;同时掌握 IO 最底层最核心的操作技巧。 BIO、NIO、AIO 的区别是什么&#xff1f; 同/异步、阻/非阻…

pyqt5让主窗口居中显示(显示在显示器的中间位置)

原文&#xff1a;https://blog.csdn.net/zzx188891020/article/details/105940024 课程重点&#xff1a; 就是让窗口居中显示 # QDesktopWidget import sys from PyQt5.QtWidgets import QDesktopWidget,QMainWindow,QApplication from PyQt5.QtGui import QIconclass Cente…

Basic4android v3.50 发布

这次发布的主要是debug 的增强。说实话&#xff0c;在这一方面B4a 比delphi做的要好。希望delphi 在新的版本里面 能进一步加强。 Im happy to release Basic4android v3.50. This update brings major improvements to the debugging features of Basic4android. With this up…

荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc

首先是荔枝派的官方文档&#xff0c;写的不是很细&#xff0c;应当说我们必须明确几点&#xff1a; 出厂时 SPI Flash 自带了一个 U-BootLinux Kernel&#xff08;出厂的时候可能烧过了&#xff09;&#xff0c;可直接拿来用。如果希望自己烧固件&#xff0c;才需要后续步骤必…

Java提高班(六)反射和动态代理(JDK Proxy和Cglib)

反射和动态代理放有一定的相关性&#xff0c;但单纯的说动态代理是由反射机制实现的&#xff0c;其实是不够全面不准确的&#xff0c;动态代理是一种功能行为&#xff0c;而它的实现方法有很多。要怎么理解以上这句话&#xff0c;请看下文。 一、反射 反射机制是 Java 语言提…

C++ STL 四种智能指针

文章目录 0.前言1.unique_ptr2.auto_ptr3.shared_ptr 3.1 简介3.2 通过辅助类模拟实现 shared_ptr4.weak_ptr 4.1 简介4.2 用法4.3 作用5.如何选择智能指针参考文献0.前言 C 标准模板库 STL&#xff08;Standard Template Library&#xff09; 一共给我们提供了四种智能指针&…

快速傅里叶变换应用之二 hdu 4609 3-idiots

快速傅里叶变化有不同的应用场景&#xff0c;hdu4609就比较有意思。题目要求是给n个线段&#xff0c;随机从中选取三个&#xff0c;组成三角形的概率。 初始实在没发现这个怎么和FFT联系起来&#xff0c;后来看了下别人的题解才突然想起来&#xff1a;组合计数问题可以用多项式…

基于sympy的python实现三层BP神经网络算法

#!/usr/bin/python # -*- coding: utf-8 -*- """ 写一个三层的BP神经网络&#xff08;3&#xff0c;2&#xff0c;1&#xff09;,3是输入数据的维度&#xff0c;隐层设置节点数为2&#xff0c;1是因为每个观测的target都是一个标量即只有一个数&#xff1b; 1.随…

JVM(二)Java虚拟机组成详解

导读&#xff1a;详细而深入的总结&#xff0c;是对知识“豁然开朗”之后的“刻骨铭心”&#xff0c;想忘记都难。 Java虚拟机&#xff08;Java Virtual Machine&#xff09;下文简称jvm&#xff0c;上一篇我们对jvm有了大体的认识&#xff0c;进入本文之后我们将具体而详细的…

PyCharm pyqt5 python串口通信封装类SerialCommunication

""" pyqt5串口通信文件SerialCommunication.py """ import binascii import os import serial import serial.tools.list_ports from PyQt5.QtGui import QPixmap# 全局变量&#xff0c;串口是否创建成功标志 Ret False # 串口列表串口号 port_…

Fiddler利用Xposed框架+JustTrustMe抓取手机APP数据

文章目录 1. Xposed安装2. JustTrustMe安装3. 确保Fiddler在模拟器里配置 此文只是针对Fiddler抓取APP数据失败情况下的方案&#xff0c;主要想解决的是安卓手机APP抓包HTTPS报文通过MITM代理后证书不被信任的问题。网上搜索出这是使用了SSL Pinning技术&#xff0c;网上可以搜…

互动直播的视频录制与合成—支持多人离线重入

实现的效果图&#xff1a; 上图合成了2个人视频&#xff0c;中途有1个人先离开之后又重新加入了房间。 一、业务场景 业务场景是这样的&#xff1a;多个用户&#xff08;2-4人&#xff09;直播的视频&#xff0c;合成为一个视频&#xff0c;这期间要满足2个条件&#xff1a;首…

Python界面 PyQT可视化开发(python3+PyQt5+Qt Designer)

前言 以前制作一个Python窗体界面&#xff0c;我都是用GUI窗口视窗设计的模块Tkinter一点一点敲出来的&#xff0c;今天朋友问我有没有Python窗体的设计工具&#xff0c;“用鼠标拖拖”就能完成窗体设计&#xff0c;我查了查相关资料&#xff0c;果然有一款好用的工具——Qt De…

JVM(三)对象的生死判定和算法详解

好的文章是能把各个知识点&#xff0c;通过逻辑关系串连起来&#xff0c;让人豁然开朗的同时又记忆深刻。 导读&#xff1a;对象除了生死之外&#xff0c;还有其他状态吗&#xff1f;对象真正的死亡&#xff0c;难道只经历一次简单的判定&#xff1f;如何在垂死的边缘“拯救”一…