Jetson Nano 系统刻录

2024-03-05 07:10
文章标签 系统 jetson nano 刻录

本文主要是介绍Jetson Nano 系统刻录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Jetson Nano 系统刻录

简介

NVIDIA® Jetson Nano™ 开发者套件是一款专为创客、学习者和开发者打造的小型 AI 计算机。学习此简要指南后,您将能开始构建实用 AI 应用程序、炫酷的 AI 机器人以及其他精彩作品。

必备硬件:

Jetson Nano板:

 

MicroSD卡:Jetson Nano 开发者套件将 microSD 卡用作启动设备和主存储器。请务必为项目准备一个至少 32GB UHS-I 卡。并根据您使用的计算机类型(Windows、Mac 或 Linux)以刷写形式向您的 microSD 卡写入镜像。

 

网线,读卡器

1、工具下载

1.1、Nano系统下载和解压缩:

1.1.1、NVIDIA DLI Jetson Nano SD卡镜像下载

路径:NVIDIA DLI Jetson Nano SD卡镜像 或:\192.168.1.251\1项目-0教育-1机器视觉\Nano实验板\0_实验系统\jetson-nano-jp451-sd-card-image.zip

选择自己的Nano板所需的NVIDIA DLI Jetson Nano SD卡镜像系统。

 

1.1.2、Nano解压缩

 

1.2、在Windows上格式化MicroSD卡

使用 SD 协会的 SD Memory Card Formatter 格式化 microSD 卡。

 

a、下载安装并启动Windows 版 SD Memory Card Formatter

b、选择卡驱动器

c、选择”Quick format“(快速格式化)

d、将“Volume label”(卷标)留空

e、单击”Format“(格式化)开始格式化,然后在警告对话框中单击Yes(是)

1.3、balenaEtcher刻录系统工具下载安装

a、下载路径:balenaEtcher  或:\192.168.1.251\1项目-0教育-1机器视觉\Nano实验板\0_实验系统\balenaEtcher-Setup-1.5.45.exe

点击下载并安装:

 

b、安装:

点击我同意后一路安装成功。

 

1.4、刻录系统

双击打开balenaEtcher依次选择如下步骤:

 

第一步选择.img文件

 

第二步选择需要刻录的SD卡

 

第三步点击Flash:

烧录过程开始:

 

正在烧录进SD卡

 

等待一会后完成,Etcher 操作完成后,Windows 可能会提示您它不知如何读取 SD 卡。此时只需单击“Cancel”(取消),然后删除 microSD 卡。

 

1.5、首次启动

a、接通电源和插入网线

b、将MicroSD卡插入Jetson Nano板子

 

c、使用HDMI连接显示器,将鼠标、键盘插入Jetson Nano板页面显示如下:

 

d、下载NoMachine 或 \192.168.1.251\1项目-0教育-1机器视觉\Nano实验板\0_实验系统\nomachine_6.11.2_1_arm64_ubuntu.deb 并安装

2、开始使用Jetson Nano(B01)

2.1、删除无用的一些软件,依次在终端执行以下命令:

sudo apt-get purge libreoffice*
sudo apt-get clean
sudo apt autoremove

2.2、更换下载源为国内源

2.2.1、备份source.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2.2.2、修改

sudo gedit /etc/apt/sources.list

2.2.3、替换

弹出如上窗口后替换为如下内容后点击右上角Save。

(若出现无法更新情况,点击链接copy后,重新写入:【Jetson-Nano】jetson_nano安装环境配置及tensorflow和pytorch的安装_牛andmore牛的博客-CSDN博客)

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

2.2.4、更新

在终端输入如下命令:

sudo apt-get update 

 

结束后接着输入如下命令:

sudo apt-get full-upgrade

 

2.3、CUDA

输入nvcc -V 查看是否具备CUDA

 

此时是查询不到CUDA的(实际jetson nano 是已经具备CUDA的,但需要把CUDA的路径写入环境变量),需要依次进行以下操作:

2.3.1、编辑CUDA路径

通过如下命令编辑文件:

sudo gedit ~/.bashrc

在弹出的文件夹的最后面添加如下内容:

 

弹出如上窗口后替换为如下内容后点击右上角Save。

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

如上内容需要根据自己Nano板子来,在路径/usr/local中查看:

 

最后执行如下语句激活该文件:

source ~/.bashrc

 

验证cuda是否已添加进环境路径:

nvcc -V

 

出现以上内容说明CUDA已经添加进环境路径

2.3.2、运行cudnn例子验证CUDA

cd /usr/src/cudnn_samples_v8/mnistCUDNN   #进入例子目录 cudnn_samples_v8需要进行路径/usr/src中查看
sudo make     #编译一下例子
sudo chmod a+x mnistCUDNN # 为可执行文件添加执行权限
./mnistCUDNN # 执行

依次输入如上指令进行验证:

 出现如下结果表示CUDA和cudnn环境变量安装成功:

2.4、安装TensorFlow-GPU

2.4.1、安装pip

sudo apt-get install python3-pip

输入如上命令后等待完成

 完成后对pip进行升级:

sudo pip3 install -U pip testresources setuptools==49.6.0 

 2.4.2、依次安装tensorflow依赖库和python依赖库

# 此处需要按这个TensorFlow到python的依赖库顺序安装
# TensorFlow依赖库
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
# python依赖库
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11

依次输入如上命令进行安装:

 

 2.4.3、安装TensorFlow2.X版本或者1.15.版本

# TF-2.x
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow
# TF-1.15
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 ‘tensorflow<2’

 此处可能长达半个小时到一个小时!!!!!

漫长的等待之后,所有的安装包完成,开始验证TensorFlow是否完整安装:

 出现如下错误:

Illegal instruction (core dumped)

解决方案如下

第一种方案:
可以使用临时添加方法,在运行Python指令前运行:export OPENBLAS_CORETYPE=ARMV8
第二种方案:
将“export OPENBLAS_CORETYPE=ARMV8”加入到“~/.bashrc”中

第一种方案操作如下:

第二种解决方案如下:

sudo gedit ~/.bashrc

 

 输入如上命令在弹出的文件添加如下内容:

export OPENBLAS_CORETYPE=ARMV8

点击右上角保存后按如下命令更新文件:

source ~/.bashrc

验证如下:

 2.5、安装PyTorch和Torchvision

2.5.1、安装PyTorch

# 能科学上网的情况下使用以下命令行
wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl

或者:

在官网提供的路径下,下载自己所需要的PyTorch版本,注意系统能够支撑的PyTorch版本。

 

将文件传入Nano板后在该文件夹下右击打开终端输入以下命令:

pip install torch-1.6.0-cp36-cp36m-linux_aarch64.whl

安装后输入一下程序验证:

import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
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))

接着依次输入以下命令:

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

安装Torchvision

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch  https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
$ python3 setup.py install --user
$ cd ../  # attempting to load torchvision from build dir will result in import error
$ pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
PyTorch v1.0 - torchvision v0.2.2
PyTorch v1.1 - torchvision v0.3.0
PyTorch v1.2 - torchvision v0.4.0
PyTorch v1.3 - torchvision v0.4.2
PyTorch v1.4 - torchvision v0.5.0
PyTorch v1.5 - torchvision v0.6.0
PyTorch v1.6 - torchvision v0.7.0
PyTorch v1.7 - torchvision v0.8.1
PyTorch v1.8 - torchvision v0.9.0

依次输上命令行获得以下结果:

 

 

 2.6、Jupyter Lab

安装一些依赖

sudo apt install nodejs npm

安装另一些依赖

sudo apt install libffi-dev

安装jupyterLab

pip3 install jupyter jupyterlab

这篇关于Jetson Nano 系统刻录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775684

相关文章

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻