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

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创