004、Nvidia Jetson Nano Developer KIT(b01)-代码环境配置

之——自己的demo

杂谈

        这是关于自己的demo要移植到jetson nano上,缺啥补啥的过程。


正文

1.pycuda

        极其容易:

pip3 install pycuda==2021.1

PyCUDA是一个用于Python编程语言的库,它为开发者提供了在GPU(图形处理单元)上执行通用计算的能力。它是一个Python绑定,允许开发者使用Python来编写GPU加速的代码,而无需直接编写底层的CUDA C/C++代码。

以下是PyCUDA的一些主要特点和功能:

  1. GPU加速:PyCUDA允许开发者在GPU上执行通用计算,从而提高计算性能。这对于需要大规模数据并行计算的应用非常有用,例如科学计算、机器学习和深度学习

  2. 直接访问CUDA:PyCUDA提供了对NVIDIA的CUDA平台的底层访问,允许开发者编写直接与CUDA API交互的代码,从而更好地控制GPU计算。

  3. NumPy集成:PyCUDA与NumPy(Python的数值计算库)集成良好,允许开发者轻松地在CPU和GPU之间传输数据,并使用NumPy数组来处理数据。

  4. 灵活性:PyCUDA允许开发者编写自定义的GPU核函数,以实现各种计算任务,而不受限于预定义的算法。

  5. 开源:PyCUDA是开源项目,可在许多操作系统上使用,因此它具有广泛的可移植性。

PyCUDA是一个强大的工具,可以帮助开发者充分利用GPU的并行计算能力,加速各种计算密集型任务,特别是在科学和工程领域中。它结合了Python的易用性和CUDA的性能,使GPU编程更加可访问和可行。


2.dtw

sudo pip3 install dtw 

 DTW代表"Dynamic Time Warping",是一种用于比较时间序列数据相似性的算法。DTW库通常是指用于实现这一算法的工具、函数或库。Dynamic Time Warping 算法的目的是衡量两个时间序列之间的相似性,即使它们的时间轴略微不同或存在时间偏移。

DTW算法的主要应用领域包括语音识别、手写识别、生物信息学、运动分析、音乐信息检索和时间序列数据挖掘等。这个算法的核心思想是通过将两个时间序列之间的数据点进行非线性对齐,找到最佳的对应点,以便测量它们之间的相似性。

DTW库通常提供了计算DTW距离或相似性的函数,以及可视化工具来帮助分析和理解时间序列数据的相似性。这些库可以用于各种应用,例如识别语音、匹配手写字符、检测生物学序列的相似性等。


3.skimage

        依赖:

sudo apt-get install liblapack-dev gfortran

sudo apt-get install python3-pip
sudo pip3 install -U pip
sudo pip3 install Cython numpy

 sudo pip3 install scikit-image

        "skimage"通常是指 scikit-image,是一个用于图像处理的 Python 库。它建立在 NumPy、SciPy 和 Matplotlib 等库的基础上,提供了一套丰富的图像处理工具和算法。scikit-image 的目标是提供一个简单而高效的图像处理库,适用于各种应用,包括计算机视觉、医学图像处理、生物学图像分析等。

一些 scikit-image 提供的功能包括:

  1. 图像读取和保存: 支持多种图像格式,可以方便地读取和保存图像。

  2. 基本图像处理: 提供了常见的图像处理操作,如平滑、锐化、边缘检测等。

  3. 图像变换: 包括旋转、缩放、仿射变换等操作。

  4. 分割和特征提取: 提供了用于图像分割和特征提取的算法,有助于分析图像中的对象。

  5. 形态学操作: 支持基本的形态学运算,如腐蚀、膨胀、开运算和闭运算等。

  6. 颜色空间转换: 提供了常见颜色空间(如RGB、HSV等)之间的转换方法。

  7. 滤波器和卷积: 包含了各种滤波器和卷积操作,可用于图像增强和去噪。

  8. 图像测量: 提供了测量图像中对象的面积、周长、凸包等工具。


4.trt重构

        trt文件是针对设备的推理架构,所以移植项目更换设备了过后要重新构造。详见之前的经验:

0002、cuda与tensorrt相关-CSDN博客中的tensorrt安装与转换。、


5.ui重建

        pyqt设计基础:PyCharm安装配置PyQt5/QtDesigner/PyUic

        重构ui,出现图像显示错位与掉色,找到自己的代码: 

img = QImage(img, self.label_camera_height, self.label_camera_width,QImage.Format_RGB888)
修改为
img = QImage(img, self.label_camera_height, self.label_camera_width,self.label_camera_height*3,QImage.Format_RGB888)

        bytesPerLine 参数不能省略,否则造成Qimage数据错误,显示图片不正常,此参数设置为image的width*image.channels。 


http://www.niftyadmin.cn/n/5169260.html

相关文章

【C++优先队列使用】问题总结

说明&#xff1a; 文章内容为关于priority_queue的使用总结&#xff0c;在C中要包含头文件<queue>文章内容为个人的学习整理&#xff0c;如有错误&#xff0c;欢迎指正。 文章目录 1. 优先队列默认是大根堆2. 关于优先队列和sort的比较逻辑2.1 sort的比较逻辑2.2 优先队…

京东数据分析:2023年Q3户外鞋服市场分析报告(冲锋衣行业销售数据分析)

从露营、骑行、徒步、桨板、垂钓、飞盘、滑雪到如今的city walk&#xff0c;近两年户外运动已经成为了年轻人新的生活方式。户外运动的爆发也刺激了人们对于鞋服在穿搭、场景化、专业性功能等方向的需求&#xff0c;户外鞋服市场迎来增长。 而全国性的降温则带给目前的户外鞋服…

【入门Flink】- 08Flink时间语义和窗口概念

Flink-Windows 是将无限数据切割成有限的“数据块”进行处理&#xff0c;这就是所谓的“窗口”&#xff08;Window&#xff09;。 注意&#xff1a;Flink 中窗口并不是静态准备好的&#xff0c;而是动态创建——当有落在这个窗口区间范围的数据达到时&#xff0c;才创建对应的窗…

Go采集代理框架

代理服务器在网络爬虫、数据采集和反爬虫等场景中起着重要的作用。通过使用代理服务器&#xff0c;我们可以隐藏客户端的真实IP地址并提高访问速度。Go语言作为一种强大且可靠的编程语言&#xff0c;提供了很多库和工具来实现代理采集框架。在本文中&#xff0c;我们将介绍如何…

03【远程协作开发、TortoiseGit、IDEA绑定Git插件的使用】

上一篇&#xff1a;02【Git分支的使用、Git回退、还原】 下一篇&#xff1a;【已完结】 目录&#xff1a;【Git系列教程-目录大纲】 文章目录 一、远程协作开发1.1 远程仓库简介1.1.1 Github1.1.2 Gitee1.1.3 其他托管平台 1.2 发布远程仓库1.2.1 创建项目1&#xff09; 新…

SaaS实验室信息管理系统 SaaS LIMS系统优势

对于LIMS系统&#xff0c;大家的观念还停留在传统下载客户端的软件&#xff0c;可能不知道基于SaaS的LIMS系统是什么意思&#xff0c;它有什么特点&#xff0c;相较于客户端形式的管理系统&#xff0c;基于SaaS的LIMS管理系统有什么样的优势? 标题 SaaS版LIMS系统不仅减少了传…

maven配置自定义下载路径,以及阿里云下载镜像

1.配置文件 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org…

图论10-哈密尔顿回路和哈密尔顿路径+状态压缩+记忆化搜索

文章目录 1 哈密尔顿回路2 哈密尔顿回路算法实现2.1 常规回溯算法2.2 引入变量记录剩余未访问的节点数量 3 哈密尔顿路径问题4 状态压缩4.1 查看第i位是否为14.2 设置第i位是为1或者04.3 小结4.4 状态压缩在哈密尔顿问题中的应用 5 记忆化搜索5.1 记忆化搜索与递推区别5.2 记忆…