003、Nvidia Jetson Nano Developer KIT(b01)-深度学习环境配置

之——深度学习环境

杂谈

        网上到处淘金,pytorch、opencv、torchvision。


正文

1.各种依赖库

1.1 pytorch的底层依赖库
sudo apt install build-essential make cmake cmake-curses-gui -y

sudo apt install git g++ pkg-config curl -y

sudo apt install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y

sudo apt install libhdf5-serial-dev hdf5-tools -y

sudo apt install nano locate screen -y

sudo apt install libfreetype6-dev -y

sudo apt install protobuf-compiler libprotobuf-dev openssl -y

sudo apt install libssl-dev libcurl4-openssl-dev -y

sudo apt install cython3 -y

        这些命令用于安装PyTorch的依赖库和一些开发工具。PyTorch是一个深度学习框架,需要一些特定的依赖项以确保其正常运行。以下是这些命令的作用:

  1. apt install build-essential make cmake cmake-curses-gui -y

    • 安装构建工具,包括makecmake以及cmake-curses-gui等,这些工具在编译和构建软件时非常有用。
  2. apt install git g++ pkg-config curl -y

    • 安装版本控制工具git,C++编译器g++pkg-config工具,以及curl工具。这些工具通常在构建和安装软件时需要使用。
  3. apt install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y

    • 安装线性代数库ATLAS的开发文件,Fortran编译器gfortran,以及用于支持图形用户界面的库。
  4. apt install libhdf5-serial-dev hdf5-tools -y

    • 安装HDF5库的开发文件和工具,HDF5是一种用于处理科学数据的库,经常在深度学习中使用。
  5. apt install nano locate screen -y

    • 安装文本编辑器nano、用于快速查找文件的locate工具,以及用于多路复用终端会话的screen工具。
  6. apt install libfreetype6-dev -y

    • 安装FreeType库的开发文件,FreeType用于处理字体和字形。
  7. apt install protobuf-compiler libprotobuf-dev openssl -y

    • 安装Protocol Buffers编译器protobuf-compiler,以及与Protocol Buffers相关的开发库。这些库通常用于序列化和反序列化数据。
  8. apt install libssl-dev libcurl4-openssl-dev -y

    • 安装OpenSSL库的开发文件和CURL的OpenSSL支持库,这些库对于安全通信和网络请求非常重要。
  9. apt install cython3 -y

    • 安装Python的Cython库的Python 3版本。Cython是一个用于编写Python扩展模块的工具,通常在深度学习框架的构建中使用。

        这些依赖项和工具是PyTorch的构建和运行所需的一部分,确保它可以在系统上正常运行。


1.2 opencv依赖

        jpack已经自带了opencv,在终端查询是:

opencv_version

        也可以python里import cv2验证。

        但还是装一些依赖拓展:

sudo apt install build-essential -y

sudo apt install libgtk2.0-dev pkg-config -y

sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y

sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y

sudo apt install libxvidcore-dev libx264-dev -y

sudo apt install libatlas-base-dev gfortran -y

sudo apt install ffmpeg -y

        这些命令是用于在Ubuntu或类似的Linux系统中安装一些开发所需的软件包和依赖项。让我解释一下这些命令:

  1. apt install build-essential -y

    • 这个命令安装了构建软件包所需的基本工具,包括gcc编译器、g++编译器和其他一些必要的工具。
  2. apt install libgtk2.0-dev pkg-config -y

    • 这个命令安装了用于GTK+图形用户界面开发所需的开发库和工具。
  3. apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y

    • 这个命令安装了Python开发所需的一些库和依赖项,以及用于处理图像和多媒体数据的库。其中还包括了针对图像处理的JPEG、PNG、TIFF等格式的库。
  4. apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y

    • 这个命令安装了用于音视频处理的库,包括FFmpeg的编解码器库和格式处理库,以及用于图像处理的一些其他库。
  5. apt install libxvidcore-dev libx264-dev -y

    • 这个命令安装了Xvid和x264编码器的开发库,这些编码器常用于视频编码和解码。
  6. apt install libatlas-base-dev gfortran -y

    • 这个命令安装了ATLAS线性代数子程序库的开发文件以及Fortran编译器。
  7. apt install ffmpeg -y

    • 这个命令安装了FFmpeg多媒体处理工具,它是一个强大的开源多媒体框架,用于处理视频、音频和其他多媒体数据。

        这些命令通常是为了在系统上设置开发环境,以便进行各种软件开发工作,特别是与图像处理、多媒体处理和科学计算相关的工作。


1.3 torchvision0.9.0依赖
sudo apt install libopenmpi2 -y

sudo apt install libopenblas-dev -y

sudo apt install libjpeg-dev zlib1g-dev -y

        这些命令用于安装一些额外的依赖库,通常用于并行计算、线性代数运算和图像处理等方面的任务。让我为您解释这些命令的作用:

  1. apt install libopenmpi2 -y

    • 这个命令安装了OpenMPI的库版本2,OpenMPI是一个用于支持分布式并行计算的开源消息传递界面(MPI)库。它允许多个计算节点协同工作,用于高性能计算和并行编程。
  2. apt install libopenblas-dev -y

    • 这个命令安装了OpenBLAS库的开发文件。OpenBLAS是一个开源的基础线性代数子程序库,用于执行高性能的线性代数运算,通常在数值计算和科学计算中使用。
  3. apt install libjpeg-dev zlib1g-dev -y

    • 这个命令安装了用于JPEG图像处理的开发库libjpeg-dev,以及用于数据压缩的zlib1g-dev库的开发文件。这些库对于图像处理和数据压缩非常有用,通常在计算机视觉和多媒体应用中使用。

        这些依赖项通常在深度学习、科学计算、图像处理和高性能计算等领域的项目中使用。它们提供了支持各种复杂计算任务的功能和性能。


2.安装pytorch

        Jetson Nano上的linux系统ubuntu18.04是类似手机的ARM架构,这也就导致它的很多包和普通的linux上的不是通用的。pytorch官网下载的包,在实际使用时无法调用开发板的显卡。这里的pytorch以及接下来的torchvision等包都需要安装Nvidia官网给出的版本。

        可以参考博主的:Jetson Nano

        也可以直接下1.8的torch和0.9的torchvision: 百度网盘 请输入提取码 提取码:zpsa

        或者这个https://download.csdn.net/download/IamYZD/21027946

        下载好后,进入目录下,安装whl,这个有点久:

sudo pip3 install xxx.whl

         python下import torch测试安装:


 3.安装torchvision

cd torchvision # 进入到这个包的目录下

export BUILD_VERSION=0.9.0

sudo python3 setup.py install # 安装(半小时) 

        测试torchvision,没有报错即成功:


小结

        基础环境配置完毕。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java图像编程之:Graphics

一、概念介绍 1、Java图像编程的核心类 Java图像编程的核心类包括: BufferedImage:用于表示图像的类,可以进行像素级的操作。Image:表示图像的抽象类,是所有图像类的基类。ImageIcon:用于显示图像的类&a…

计算机中丢失msvcr120.dll文件怎么修复?找不到msvcr120.dll五种完美修复方案

今天我想和大家分享的是关于“msvcr120.dll丢失的问题的5个解决方法”。在我们日常的工作生活中,或许大家都曾遇到过这样的问题,那么,了解它的解决方法是非常必要的。 首先,让我们来了解一下msvcr120.dll是什么文件。简单来说&am…

“艾迪-东软杯”第六届武汉理工大学新生程序设计竞赛

A.Capoos Acronym Zero 题目描述 yz 和他的朋友 ea 和 zech 一起养了一群 Capoo。 这些 Capoo 非常聪明,但不知道为什么,它们并没有从三人那里学到怎么写算法题,而是出于某种原因开始研究语言学,并发明了一套自己的暗语。这门暗语…

二分图判定和二分图最大匹配

1.二分图的定义 二分图是一种特殊的无向图,它的节点可以被划分为两个互不相交的集合,使得同一集合中的任意两个节点之间没有边相连,而不同集合中的节点之间都有边相连。 换句话说,如果一个无向图可以被划分为两个集合&#xff0…

Keil文本对齐

摘要:通常我们写代码的时候,尤其是缩进和{}的使用,很多都需要自己手动去调整,如果有一个自动格式化代码的工具,每次编辑完代码,然后一键给将代码格式化,即省时又美观。为了解决这个问题&#xf…

面向对象高级

本期对应知识库:(持续更新中!) 面向对象高级 (yuque.com) ​​​​​​​尚硅谷_宋红康_对象内存解析.pptx static 适用于公用变量 开发中,变量 经常把一些常量设置为静态static 例如 PI 方法 经常把工具类中的方…

Deepsort项目详解

一、目标追踪整体代码 代码目录如下图所示: 、 追踪相关代码: 检测相关代码和权重 调用 检测 和 追踪的代码: 首先代码分为三个部分: 目标追踪的相关代码和权重目标检测相关代码和权重,这里用的是yolov5.5目标检…

Thinkphp8 - 连接多个数据库

// 数据库连接配置信息connections > [mysql > [// 数据库类型type > mysql,// 服务器地址hostname > 127.0.0.1,// 数据库名database > thinkphp,// 用户名username > env(DB_USER, root),// 密码password >…

layui 表格(table)合计 取整数

第一步 开启合计行 是否开启合计行区域 table.render({elem: #myTable, url: ../baidui/, page: true, cellMinWidth: 100,totalRow:true,cols: [[ //表头//{ type: checkbox },{ type: checkbox,totalRowText: "合计" },//合计行区域{ field: id, align: center,…

【0基础学Java第九课】-- 抽象类和接口

9. 抽象类和接口 9.1 抽象类9.1.1 抽象类概念9.1.2 抽象类语法9.1.3 抽象类的特性9.1.4 抽象类的作用 9.2 接口9.2.1 接口的概念9.2.2 语法规则9.2.3 接口使用9.2.4 接口特性9.2.5 实现多个接口9.2.6 接口的继承9.2.9 抽象类和接口的区别 9.3 Object类9.3.1 获取对象方法9.3.1 …

基于springboot实现驾校管理系统项目【项目源码】计算机毕业设计

基于springboot实现驾校管理系统演示 JAVA简介 JavaScript是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言&#xff0…

小H靶场学习笔记:DC-2

DC-2 Created: November 10, 2023 3:01 PM Tags: WordPress, git提权, rbash逃逸 Owner: 只会摸鱼 靶场过程 信息收集 扫描存活主机,找到靶机ip:192.168.199.131(本机是192.168.199.129) 扫描端口开放协议 发现有80端口和77…

电路设计之36V 自动断电和防浪涌电路

1. 电路图纸 2. 解释防浪涌功能怎么实现的 1. 首先当电源上电的一瞬间是 电容C1 是相当于短路的。 (电容的充电状态。电容充电相当于短路状态) 2. 当上电的一瞬间是有 浪涌的。 3.当上电的瞬间有浪涌的,此时电容C1 相当于短路,所…

Java学习_对象

对象在计算机中的执行原理 类和对象的一些注意事项 this关键字 构造器 构造器是一种特殊的方法 : 特殊之处在于,名字必须与所在类的名字一样,而且不能写返回值类型 封装 封装的设计规范:合理隐藏、合理暴露 实体类 成员变量和局部变量的区别 …

有源RS低通滤波

常用的滤波电路有无源滤波和有源滤波两大类。若滤波电路元件仅由无源元件(电阻、电容、电感)组成,则称为无源滤波电路。无源滤波的主要形式有电容滤波、电感滤波和复式滤波(包括倒L型、LC滤波、LCπ型滤波和RCπ型滤波等)。若滤波电路不仅有无…

【Redis】list列表

上一篇: String 类型 https://blog.csdn.net/m0_67930426/article/details/134362606?spm1001.2014.3001.5501 目录 Lpush LRange Rpush Lpop Rpop Lindex Ltrim Lset 列表不存在的情况 如果列表存在 Linsert ​编辑 在………之前插入 在……后面插入…

UE地形系统材质混合实现和Shader生成分析(UE5 5.2)

前言 随着电脑和手机硬件性能越来越高,游戏越来越追求大世界,而大世界非常核心的一环是地形系统,地形系统两大构成因素:高度和多材质混合,此篇文章介绍下UE4/UE5 地形的材质混合方案----基于WeightMap混合。 材质层 …

总结:利用JDK原生命令,制作可执行jar包与依赖jar包

总结:利用JDK原生命令,制作可执行jar包与依赖jar包 一什么是jar包?二制作jar包的工具:JDK原生自带的jar命令(1)jar命令注意事项:(2)jar包清单文件创建示例:&a…

Yolo自制detect训练

Install 把代码拉下来 GitHub - ultralytics/yolov5 at v5.0 然后 pip install -r requirements.txt 安装完了,运行一下detect.py即可 结果会保存在对应的目录下 Intro ├── data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验…

【Redis】set 集合

上一篇:list 列表 https://blog.csdn.net/m0_67930426/article/details/134364315?spm1001.2014.3001.5501 目录 Sadd Smembers Sismember Scard Srem ​编辑Srandomember Spop Smove 集合类 Sdiff Sinter Sunion 官网 https://redis.io/commands/?…