Inter开发板实验汇总

背景

产品型号:AIxBoard-N5105

开发公司:蓝蛙智能

蓝蛙智能成立于2018年,2021年成为英特尔OpenVINO官方技术伙伴,2023年推出英特尔数字化开发套件爱克斯板AIxBoard-N5105。

资源

类型

网站

备注

产品介绍

​​产品介绍 - 英特尔数字化开发套件​​

案例分析

​​案例分享 - 英特尔数字化开发套件​​

硬件资源

​​硬件资源 - 英特尔数字化开发套件​​

AI应用开发(OpenVINO)

本地gitlab:

​​http://10.8.59.16/Code/openvino_note​​

公网github:

https://github.com/openvinotoolkit/openvino_notebooks(一系列可立即运行的 Jupyter 笔记本,用于学习和试验 OpenVINO™ 工具套件)

​​https://github.com/openvinotoolkit/open_model_zoo(预训练的深度学习模型和演示)​​

ftp资料目录

ftp://10.8.59.196/EUMS/IntelAI/AIxBoard/

OpenCV学习

  • ​​Intel OpenCV课程​​Intel官方的OpenCV免费认证课程,实战导向,由浅入深

  • ​​OpenCV官方课程​​OpenCV社区的官方认证课程

  • ​​OpenCV学堂​​
  • ​​OpenCV4 快速入门视频30讲​​知名开发者贾志刚的OpenCV课程,多所学校及企业特聘讲师,课程接地气,贴近应用。

  • ​​51OpenLab-一OpenCV初级认证课程​​
  • ​​51OpenLab-一OpenCV高级认证课程​​

AI预训练模型

  • ​​Hugging Face​​机器学习界的github,共享超过100000个与训练模型,10000个数据集,涵盖了 NLP、计算机视觉、语音、时间序列、生物学、强化学习等领域,以帮助科学家和相关从业者更好地构建模型,并将其用于产品或工作流程。

  • ​​Intel Open Model Zoo​​英特尔OpenVINO工具套件的预训练模型库,包含商业级模型及公开模型,可快速应用于项目

免费学习资源

  • ​​英特尔AI开发者社区​​英特尔AI开发者中文社区,包含视频教程,案例教程,行业应用

开发板资料

该套件预装了英特尔OpenVINO™工具套件、模型仓库和演示案例,便于您轻松快捷地开始应用开发。

套件主要接口与Jetson Nano(由NVIDIA推出的一款小型AI开发板,带有GPU:384-core NVIDIA Volta GPU with 48 Tensor Cores)载板兼容,GPIO与树莓派兼容,能够最大限度地复用成熟的生态资源。这使得套件能够作为边缘计算引擎,为人工智能产品验证和开发提供强大支持;同时,也可以作为域控核心,为机器人产品开发提供技术支撑。

注:NVIDIA Volta(伏特)架构是NVIDIA 定义的架构类型;Tensor Core(张量计算核心)是由NVIDIA研发的新型处理核心,可实现混合精度计算,并能根据精度的升降动态调整算力,在保持准确性的同时提高吞吐量。

主要参数

  • 11代英特尔赛扬处理器N5105 2.0GHz (Intel(R) Celeron(R) N5105 @ 2.00GHz)
  • 板载LPDDR4x内存,最高支持8GB,2933MHz, 4GB/6GB/8GB(目前开发板为DDR4 8G)
  • 板载64GB eMMC存储
  • 1个千兆以太网口, 4个USB3.0
  • 板载WiFi6模块 Intel AX201
  • 1个M.2存储扩展槽,支持SATA&NVME协议
  • 1路DP接口, 1路HDMI接口,支持双显
  • Typc-C PD供电, DC 12V供电
  • 系统支持 Ubuntu20.04 LTS、Winodws 10/11
  • 英特尔N5105处理器显卡是基于第 11 代(GEN11-LP GT1)显卡内核架构,能够大幅提升性能和降低功耗。

AI推理单元

借助OpenVINO工具,能够实现CPU+iGPU(同时拥有CPU和GPU功能的处理器,被称为集成图形处理器或IGPU。IGPU是在CPU上集成的GPU,用于对计算机系统进行图形处理和图像渲染。随着技术的进步,现在的主板通常都会配备IGPU)异构计算推理,iGPU算力约为0.6TOPS

Cpu、Gpu、Npu的区别

CPU(中央处理器):CPU是计算机系统中最重要的处理器,它被用于执行通用计算任务,例如操作系统、办公软件、浏览器等。CPU通常包含几个核心,每个核心可以执行多个线程。CPU的特点是普适性强,适用于广泛的处理任务,但相对于GPU和NPU而言,在执行大量浮点运算时性能较差。

GPU(图形处理器):GPU最初是为了图形渲染而开发的,随着计算机的发展,GPU也被用于执行大量的并行计算任务,例如深度学习、机器学习、加密货币挖矿等。GPU具有众多的核心,可以同时处理大量的数据,特别是浮点运算。GPU的优势在于可以高效地执行大量的并行计算任务,但相对于CPU而言,其通用性较差。

NPU(神经网络处理器):NPU是专门用于执行神经网络计算任务的处理器,其设计目的是为了提高深度学习模型的训练和推理速度。NPU通常采用定制化的硬件架构和算法,以满足神经网络计算的特殊需求。NPU的优势在于可以高效地执行神经网络计算任务,但相对于CPU和GPU而言,其通用性更低,只适用于特定的应用场景。

格式

解码级别

编码级别

H.265/HEVC

M10P @ L5.1 8b/10b Up-to 4kp60 (3480x2160); (420) Up-to 4kp30 (3480x2160);(444)

M10P @ L5.1 8b/10b Up to 4kp60 (3480x2160); (420) Up-to 4kp30 (3480x2160); (444)

VP9

Profile 0,1,2,3 8b/10b Up-to 4kp60 (3480x2160);(420) Up-to 4kp30 (3480x2160);(444)

Profile 0,1,2,3 8b/10b Up-to 4kp60 (3480x2160);(420) Up-to 4kp30 (3480x2160); (444)

H.264

MP, HP, CBP L5.2 8b/ Up-to 4kp60 (3480x2160); (420)

MP, HP, CBP 8b/ Up-to 4kp60 (3480x2160); (420)

WMV9/VC1

SP ML/MP HL/AP L4 and up to 4Kp60 (3480x2160); AP L3 Up-to 1920x1080p24 AP L4 Up to 2048x1536p24 MP HL Up to 1920x1080p30 SP ML Up to 352x288p15

Not Supported

MPEG-2

1080p60 (MP@HL and MP@ML)

Not Supported

VC-1

AP L3 8b/ Up to 1080p30

Not Supported

JPEG/MJPEG

850Mpps (420), 640Mpps (422), 428Mpps (444)

800Mpps (420), 600Mpps (422)

CPU框图

Audio Codec 音频编解码器

开发板使用的音频编解码器。本开发板使用的是ALC269高清音频编解码器,集成了 2+2 声道 DAC、4 声道 ADC 和 D 类扬声器放大器。 2+2 声道 DAC 同时支持两个独立的立体声输出。 4 通道 ADC 集成了两个立体声和独立的模拟声音输入。

  • ​​RTL Audio Codec ALC269​​
  • 本地手册位置:\\10.8.59.196\data\EUMS\IntelAI\AIxBoard\硬件资源\ALC269.PDF

Pin No.

Function

Linux GPIO

1

3V3 VCC

2

5V VCC

3

I2C1_SDA

4

5V VCC

5

I2C1_SCL

6

GND

7

GPIO(GP_D04)

gpio880

8

UART_TX

ttys4

9

GND

10

UART_RX

ttys4

11

GPIO(GP_H19)

12

GPIO(GP_D13)

gpio889

13

GPIO(GP_D17)

gpio893

14

GND

15

GPIO(GP_E01)

gpio973

16

GPIO(GP_D06)

gpio882

17

3V3 VCC

18

GPIO(GP_D22)

gpio898

19

SPI0_MOSI

20

GND

21

SPI0_MISO

22

GPIO(GPPC_H11)

gpio855

23

SPI0_SCL

24

SPI0_CS0

25

GND

26

SPI0_CS1

27

I2C0_SDA

28

I2C0_SCL

29

GPIO(GP_D23)

gpio899

30

GND

31

GPIO(GPPC_H13)

32

GPIO(GP_D05)

gpio881

33

GPIO(GP_D07)

gpio883

34

GND

35

GPIO(GP_D12)

gpio888

36

GPIO(GP_H16)

gpio860

37

GPIO(GP_H18)

gpio862

38

GPIO(GP_D14)

gpio890

39

GND

40

GPIO(GP_D15)

gpio891

连接外设

  1. 通过 接口6/7 USB口连接鼠标键盘
  2. 通过 接口8 DP或HDMI接口连接显示器

下载操作系统

下载Ubuntu20.04LTS操作系统。这里使用的是Canonical为Intel优化的版本

  • ​​官网下载​​
  • ​​云盘下载​​

​​制作U盘启动盘​​

  • AI镜像:

适用于专注AI Edge应用的开发者

  1. 操作系统

-- Ubuntu20.04 LTS

  1. 预置软件

-- OpenVINO(OpenVINO™工具套件是英特尔出品的一款开源的神经网络推理加速工具。)

注:神经网络是一种计算模型,灵感来源于人类神经系统的结构和功能。它是人工智能(AI)领域中重要的一部分,用于处理复杂的数据输入并进行模式识别、分类、预测和优化等任务。神经网络通常用于机器学习和深度学习。

这种模型的核心组成部分是神经元(或称为节点或单元)。神经元接收输入数据,对其进行加权处理,并应用激活函数产生输出。神经元之间的连接带有不同的权重,这些权重在训练过程中通过学习来调整,从而使网络能够适应特定的任务。

-- OpenCV(OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,OpenCV支持多种编程语言,包括C++、Python、Java和MATLAB等,并可以在多个操作系统上运行,例如Windows、Linux和macOS。OpenCV包含许多现成的计算机视觉算法实现,包括图像处理、目标检测、人脸识别、姿态估计、立体视觉和运动估计等。这些算法可以被广泛应用于各种应用程序,例如视频分析、医学图像处理、智能交通、机器人技术和安全监控等。) -- OpenMV(OpenMV是一个开源,低成本,功能强大的机器视觉模块。) -- VS Code -- VLC(VLC多媒体播放器) -- Netron Netron是一种用于神经网络、深度学习和机器学习模型的可视化工具,它可以为模型的架构生成具有描述性的可视化(descriptive visualization) -- git

  1. 案例资源

-- OpenVINO Notebooks案例环境 -- OpenCV Zoo案例环境 -- yolov5项目环境

  1. 下载链接

即将发布

  • ROS镜像

适用于专注ROS机器人的开发者

  1. 操作系统

-- Ubuntu20.04 LTS

  1. 预置软件

-- ROS Noetic -- ROS2 foxy -- VS Code -- VLC -- git -- Nomachine -- foxglove studio -- moveit

  1. 下载链接

即将发布

  • AI ROS镜像

AI镜像与ROS镜像的合集,包含以上全部工具软件,适用于ROS与AI融合的开发者 下载链接:即将发布

零编码体验一个AI示例

​​ https://github.com/openvinotoolkit/open_model_zoo.git​​

开发Demo实验

​​https://github.com/openvinotoolkit/open_model_zoo/tree/master/demos​​

中英文实验对照表单

演示案例

说明

备注

3d_segmentation_demo/python

本主题演示如何运行 3D 分割演示,该演示使用 3D 卷积网络分割 3D 图像。

C

action_recognition_demo/python

动作识别 Python演示,对输入视频上执行的动作进行分类:例如驾驶、打电话等(400 个动作)模型。

B

background_subtraction_demo

背景扣除演示。

B

bert_named_entity_recognition_demo

BERT 命名实体识别演示,应用程序从给定 URL 的 HTML 页面读取文本,为每个句子输出识别的命名实体( ​​LOC​​​ - 位置、 ​​PER​​​ - 人员、 ​​ORG​​​ - 组织、 ​​MISC​​ - 其他)到文本中。

C

bert_question_answering_demo

BERT 问答演示,使用 Squad-tuned BERT 模型进行推理的问答演示应用程序。

C

bert_question_answering_embedding_demo/python

嵌入式BERT问答演示

备注:

1、使用的维基百科网页,百度页面无法使用;

2、启动后,可执行,但是会出现卡死;

A4

classification_benchmark_demo

分类基准 C++ 演示,展示OpenVINO 在图像分类神经网络推理,及性能演示

C

classification_demo

分类演示,使用 Python模型 API 和异步管道进行分类网络的推理。

C

colorization_demo

着色演示:使用神经网络对灰度图像或视频进行着色的示例

B

crossroad_camera_demo

Crossroad 相机 C++ 演示,用于人员检测、识别和重新识别的推理管道。

B

deblurring_demo

图像去模糊 Python演示

B

face_detection_mtcnn_demo

人脸检测演示

说明:检测输入的图像或者视频是否是人脸,并在图像中标注出人脸特征点(将嘴角,眼角等人脸特征抽象为一个点)

B

face_recognition_demo

人脸识别演示

说明:检测输入的视频或图像中的人脸是谁(人脸识别技术用于门禁系统、刷脸支付、无人超市等场景中)

A5

formula_recognition_demo

公式识别演示,识别数学公式

B

gaze_estimation_demo

视线估计演示,展示了注视估计模型的工作,估计检测到的面部、眼睛状态。

C

gesture_recognition_demo

手势识别演示说明:对人手做出的不同动作进行识别(如,表示打电话的手部动作,表示ok的手部动作,表示数字3的手部动作等)

C

gpt2_text_prediction_demo

GPT-2 文本预测演示

异常情况:

1、可以启动,但是问答无返回; 可能是某个组件编译错误,需定位;

A3

handwritten_text_recognition_demo

手写文本识别演示

C

human_pose_estimation_3d_demo

人体姿势估计 Python演示

任务是检测输入视频中每个人的姿势:身体骨骼,由关键点及其之间的连接组成。该姿势最多可包含 18 个关键点:耳朵、眼睛、鼻子、颈部、肩膀、肘部、手腕、臀部、膝盖和脚踝。该算法的一些潜在用例是动作识别和行为理解。

B

human_pose_estimation_demo

人体姿势估计 C++演示

检测输入视频中每个人的身体姿势;

B

image_inpainting_demo

图像修复 Python 演示

B

image_processing_demo

图像处理 C++ 演示

B

image_retrieval_demo

图像检索 Python 演示

C

image_translation_demo

图像翻译演示:

使用神经网络根据示例图像合成逼真图像的示例。

B

instance_segmentation_demo

实例分割 Python演示:将图像中的每个物体实例(instance)分割成像素级的区域,从而在图像中准确地识别和定位每个物体。

C

interactive_face_detection_demo

交互人脸检测演示:

人脸检测与年龄/性别、头部姿势、情绪和面部标志检测器相结合。支持视频和摄像头输入。

B

machine_translation_demo

机器翻译 Python演示:

程序输出从源语言到目标语言的翻译句子。

A6

mask_rcnn_demo

使用Mask R-CNN深度学习模型,TensorFlow对象检测进行分割对象演示

C

monodepth_demo

MonoDepth 演示应用程序,该应用程序为给定的输入图像生成视差图。

C

mri_reconstruction_demo

MRI 重建演示,与数据压缩相关

C

multi_camera_multi_target_tracking_demo

多相机多目标 Python 演示

说明:多相机多目标指的是利用多个摄像头对多个目标进行跟踪,

例如,在足球比赛中使用多个相机拍摄的视频,追踪球员在球场的3d位置,达到分析运动员轨迹和比赛策略的目的。

A7

multi_channel_common

多通道公共文件

C

multi_channel_face_detection_demo

多通道人脸检测 C++ 演示说明:根据代码的readme来看,多通道指的是将多个摄像头采集到的数据作为输入数据,使用openCv进行人脸检测

B

multi_channel_human_pose_estimation_demo

多通道人体姿态估计 C++ 演示

通过 OpenCV* 最多 16 个摄像头作为输入;

检测输入视频中每个人的身体姿态;

说明:

1 根据代码的readme来看,多通道指的是将多个摄像头采集到的数据作为输入数据

2 人体姿态估计指的是图像或视频中人体关节(也称为关键点,例如肘部,手腕等)的定位问题

B

multi_channel_object_detection_demo_yolov3

多通道目标检测 Yolov3 C++ 演示:Yolov3 一种深度学习目标检测算法。

说明:根据代码的readme来看,多通道指的是将多个摄像头采集到的数据作为输入数据,使用openCv进行目标检测。目标检测:找出图像或视频中感兴趣的目标(物体),同时确认它们的类别和位置(例如,找出一张图片中所有的人)

A8

noise_suppression_demo

噪声抑制演示,读取用户提供的混合了语音和一些噪音的声音文件,输出具有清晰语音的音频。

已完成;

A2

object_detection_demo

对象检测演示:

目标对象进行检测,生成的边界框、文本标签(来自标签文件)或类号的可视化

说明:对象检测是指利用​​图像处理​​​与​​模式识别​​等领域的理论和方法,检测出图像中存在的目标对象,确定这些目标对象的语义类别,并标定出目标对象在图像中的位置。

C

pedestrian_tracker_demo

行人跟踪器 C++ 演示

从输入视频序列中读取帧,检测帧中的行人,并以逐帧的方式构建行人的运动轨迹。

C

place_recognition_demo

地点识别 Python* 演示:

应用程序搜索图像库中的数据,以确定图库中的哪张图像,与该图像最相似。

B

security_barrier_camera_demo

安全屏障摄像头 C++ 演示,展示了车辆和车牌检测。

B

segmentation_demo

图像分割演示。

single_human_pose_estimation_demo

单个人体姿势估计演示(自上而下的管道),展示了对视频或图像进行人体姿势估计的自上而下的流程。任务是预测帧上每个人的 边界框,然后预测每个检测到的人的姿势。该姿势最多可包含 17 个关键点:耳朵、眼睛、鼻子、肩膀、肘部、手腕、臀部、膝盖和脚踝

B

smart_classroom_demo

智能课堂演示:联合使用多个神经网络来检测学生动作的示例

C

smartlab_demo

带有 smartlab 对象检测和 smartlab 动作识别算法的演示应用程序

C

social_distance_demo

社交距离 C++ 演示

C

sound_classification_demo

​​sound_classification_demo​​

声音分类演示

看python源码,是根据加载模型的label,对源声音数据按匹配label进行分类。

A9

speech_recognition_deepspeech_demo

语音识别DeepSpeech演示

说明:读取标准化音频信号,输出解码的文本。(英文,使用Mozilla* DeepSpeech 0.8.2 模型)

C

speech_recognition_quartznet_demo

语音识别 QuartzNet演示

说明:读取标准化音频信号,输出解码的文本。(英文,使用Wav2Vec 模型) 轻量型适合边缘计算

已完成:

仅支持 16 位、16 kHz、单通道 WAVE 音频文件。

原文:

Sometimes there's things a man cannot know

Gears won't turn and the leaves won't grow

解析如下:

A1

speech_recognition_wav2vec_demo

语音识别 Wav2Vec演示

说明:读取标准化音频信号,输出解码的文本。(英文,使用QuartzNet 模型)

同时测试下,比较效果。。。加载200M模型失败

C

text_detection_demo

文本检测 C++ 演示

说明:根据输入的图片,检测图片中是否有文字

C

text_spotting_demo

文本识别 Python演示

说明:根据输入的图片,识别图片中的文字是什么

C

text_to_speech_demo

文本转语音 Python* 演示

B

time_series_forecasting_demo

时间序列预测演示,时间序列预测的目标是根据过去的数据模式和趋势,预测未来一段时间内的数值。

A10

whiteboard_inpainting_demo

白板修复演示,演示重点关注与人重叠的白板文本,使白板上的所有文本都可见

C

语音识别

AI应用开发

speech_recognition_quartznet_demo

语音识别 QuartzNet演示

说明:读取标准化音频信号,输出解码的文本。(英文,使用Wav2Vec 模型) 轻量型适合边缘计算

已完成:

仅支持 16 位、16 kHz、单通道 WAVE 音频文件。

原文:

Sometimes there's things a man cannot know

Gears won't turn and the leaves won't grow

解析如下:

A1

noise_suppression_demo

噪声抑制演示,读取用户提供的混合了语音和一些噪音的声音文件,输出具有清晰语音的音频。

已完成;

A2

gpt2_text_prediction_demo

GPT-2 文本预测演示

异常情况:

1、可以启动,但是问答无返回; 可能是某个组件编译错误,需定位;

A3

bert_question_answering_embedding_demo/python

嵌入式BERT问答演示

备注:

1、使用的维基百科网页,百度页面无法使用;

2、启动后,可执行,但是会出现卡死;

A4

face_recognition_demo

人脸识别演示

说明:检测输入的视频或图像中的人脸是谁(人脸识别技术用于门禁系统、刷脸支付、无人超市等场景中)

已完成;

A5

machine_translation_demo

机器翻译 Python演示:

程序输出从源语言到目标语言的翻译句子。

已完成;

A6

multi_camera_multi_target_tracking_demo

多相机多目标 Python 演示

说明:多相机多目标指的是利用多个摄像头对多个目标进行跟踪,

例如,在足球比赛中使用多个相机拍摄的视频,追踪球员在球场的3d位置,达到分析运动员轨迹和比赛策略的目的。

已完成;

A7

multi_channel_object_detection_demo_yolov3

多通道目标检测 Yolov3 C++ 演示:Yolov3 一种深度学习目标检测算法。

说明:根据代码的readme来看,多通道指的是将多个摄像头采集到的数据作为输入数据,使用openCv进行目标检测。目标检测:找出图像或视频中感兴趣的目标(物体),同时确认它们的类别和位置(例如,找出一张图片中所有的人)

A8

sound_classification_demo

​​sound_classification_demo​​

声音分类演示

看python源码,是根据加载模型的label,对源声音数据按匹配label进行分类。

已完成:

每秒检查,推理出类型class和概率。推测结果class 52为人声。

A9

time_series_forecasting_demo

时间序列预测演示,时间序列预测的目标是根据过去的数据模式和趋势,预测未来一段时间内的数值。

已完成。电力数据推理预测

A10

实验过程

1 speech_recognition_quartznet_demo

语音识别 QuartzNet演示

说明:读取标准化音频信号,输出解码的文本。(英文,使用Wav2Vec 模型) 轻量型适合边缘计算

仅支持 16 位、16 kHz、单通道 WAVE 音频文件

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/speech_recognition_quartznet_demo/python/

(2)使用下面命令运行python程序

python3 speech_recognition_quartznet_demo.py -m ./public/quartznet-15x5-en/FP16/quartznet-15x5-en.xml -i stay_alive.wav

python程序的参数说明如下:

usage: speech_recognition_quartznet_demo.py [-h] -m MODEL -i INPUT [-d DEVICE]

optional arguments:
  -h, --help            Show this help message and exit.  //显示帮助信息
  -m MODEL, --model MODEL  //必须的参数,.xml训练好的模型的路径
                        Required. Path to an .xml file with a trained model.
  -i INPUT, --input INPUT  //必须的参数, 16 位、16 kHz、单通道 WAVE 音频文件路径
                        Required. Path to an audio file in WAV PCM 16 kHz mono format
  -d DEVICE, --device DEVICE  //可选的参数,使用CPU还是GPU进行推理
                        Optional. Specify the target device to infer on, for
                        example: CPU or GPU or HETERO. The
                        demo will look for a suitable OpenVINO Runtime plugin for this
                        device. Default value is CPU.

(3)实验结果

输出识别结果如下

原文:

Sometimes there's things a man cannot know

Gears won't turn and the leaves won't grow

实际输出:

thesys u the li in ao sometimes ther things a man cannotknow gite place too lon an nosanwath wteteinto the so seerin a a vili a coe o e o iae ethese days with ha ligh on a the coastolfa e yo empty e nothingdream an e wolcachain walcom there is a trutin sonor sa gorners cominnp look into the sord as o

2 noise_suppression_demo

噪声抑制演示,读取用户提供的混合了语音和一些噪音的声音文件,输出具有清晰语音的音频。

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/noise_suppression_demo/python/

(2)依次使用下面命令运行程序

#1.修改音频音频码率为64k,采样率为16000,因为该程序支持的码率为64k,采样率为16000
ffmpeg -i noise_p232_007.wav -aframes 100 -b:a 64k -ar 16000 -ac 2  noise_16000.wav
#2. 运行程序得出结果        
python3 noise_suppression_demo.py --model=./intel/noise-suppression-denseunet-ll-0001/FP16/noise-suppression-denseunet-ll-0001.xml --input=noise_16000.wav --output=clean007.wav

参数说明

python3 noise_suppression_demo.py \
        // 指定模型的路径
        --model=<path_to_model>/noise-suppression-poconetlike-0001.xml \
        // 指定输入的音频路径
        --input=noisy.wav \
        // 指定输出的音频路径
        --output=cleaned.wav
3 gpt2_text_prediction_demo

GPT-2 文本预测演示

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/gpt2_text_prediction_demo/python/

(2)使用下面命令运行程序

python3 gpt2_text_prediction_demo.py --model=./public/gpt-2/FP16/gpt-2.xml --vocab=./public/gpt-2/gpt2/vocab.json --merges=./public/gpt-2/gpt2/merges.txt

参数说明

python3 gpt2_text_prediction_demo.py
            //指定模型的路径
            --model=<path_to_model>/gpt-2.xml
            //指定带有标记的词汇文件的路径
            --vocab=<models_dir>/models/public/gpt-2/gpt2/vocab.json
            // 指定合并文件的路径,
            --merges=<models_dir>/models/public/gpt-2/gpt2/merges.txt

(3)实验结果

输入 the 进行预测

输出结果:

生成的序列:“theberryy+1”

4 bert_question_answering_embedding_demo/python

嵌入式BERT问答演示

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/bert_question_answering_embedding_demo/python/

(2)使用下面命令运行程序

python3 bert_question_answering_embedding_demo.py
            --vocab=<models_dir>/models/intel/bert-small-uncased-whole-word-masking-squad-0002/vocab.txt
            --model_emb=<path_to_model>/bert-large-uncased-whole-word-masking-squad-emb-0001.xml
            --input_names_emb="input_ids,attention_mask,token_type_ids,position_ids"
            --model_qa=<path_to_model>/bert-small-uncased-whole-word-masking-squad-0002.xml
            --input_names_qa="input_ids,attention_mask,token_type_ids,position_ids"
            --output_names_qa="output_s,output_e"
            --input="https://baike.baidu.com/item/2022%E5%B9%B4%E6%9D%AD%E5%B7%9E%E4%BA%9A%E8%BF%90%E4%BC%9A/18420947?fr=aladdin"
            --input="https://baike.baidu.com/item/%E6%9D%AD%E5%B7%9E%E5%B8%82/200167?fromtitle=%E6%9D%AD%E5%B7%9E&fromid=147639"
            -c

参数说明

Options:
  -h, --help            Show this help message and exit. //显示帮助信息
  -i INPUT, --input INPUT  //必须的参数,指向具有上下文的 Wiki 页面的 URL
                        Required. Urls to a wiki pages with context
  --questions QUESTION [QUESTION ...] //可选的参数,准备好的问题
                        Optional. Prepared questions
  --best_n BEST_N       Optional. Number of best (closest) contexts selected //可选参数,选择的最佳(最接近)上下文数
  -v VOCAB, --vocab VOCAB  //必须的参数,带有标记的词汇文件的路径
                        Required. Path to vocabulary file with tokens
  -m_emb MODEL_EMB, --model_emb MODEL_EMB  //必须的参数,指定训练模型路径
                        Required. Path to an .xml file with a trained model to
                        build embeddings
  --input_names_emb INPUT_NAMES_EMB // 网络中输入的名称MODEL_EMB。例如“input_ids,attention_mask,token_type_ids”,“pos”ition_ids'
                        Optional. Names for inputs in MODEL_EMB network. For
                        example 'input_ids,attention_mask,token_type_ids','pos
                        ition_ids'  
  -m_qa MODEL_QA, --model_qa MODEL_QA //可选参数,具有经过训练的模型的 .xml 文件的路径,以给出准确的答案
                        Optional. Path to an .xml file with a trained model to
                        give exact answer
  -d DEVICE, --device DEVICE //可选参数,指定使用CPU还是GPU进行推理,默认使用CPU
                        Optional. Specify the target device to infer on; CPU
                        is acceptable. The demo will look for a suitable plugin
                        for device specified. Default value is CPU
  -c, --colors          Optional. Nice coloring of the questions/answers. //可选参数,指定问答文本颜色
                        Might not work on some terminals (like Windows* cmd
                        console)

(3)实验结果

实验失败

使用的维基百科网页,但国内无法正常访问。百度页面无法使用;

5 face_recognition_demo

人脸识别演示

说明:检测输入的视频或图像中的人脸是谁(人脸识别技术用于门禁系统、刷脸支付、无人超市等场景中)

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/face_recognition_demo/python/

(2)使用下面命令运行程序

python face_recognition_demo.py -i head-pose-face-detection-female-and-male.mp4 -m_fd ./intel/face-detection-retail-0004/FP16/face-detection-retail-0004.xml -m_lm ./intel/landmarks-regression-retail-0009/FP16/landmarks-regression-retail-0009.xml -m_reid ./intel/face-reidentification-retail-0095/FP16/face-reidentification-retail-0095.xml

参数说明

usage: face_recognition_demo.py [-h] -i INPUT [--loop] [-o OUTPUT] [-limit OUTPUT_LIMIT] [--output_resolution OUTPUT_RESOLUTION] [--no_show] [--crop_size CROP_SIZE CROP_SIZE] [--match_algo {HUNGARIAN,MIN_DIST}] [-u UTILIZATION_MONITORS]
                                [-fg FG] [--run_detector] [--allow_grow] -m_fd M_FD -m_lm M_LM -m_reid M_REID [--fd_input_size FD_INPUT_SIZE FD_INPUT_SIZE] [-d_fd {CPU,GPU,HETERO}] [-d_lm {CPU,GPU,HETERO}] [-d_reid {CPU,GPU,HETERO}] [-v]
                                [-t_fd [0..1]] [-t_id [0..1]] [-exp_r_fd NUMBER]

optional arguments:
  -h, --help            show this help message and exit  //显示帮助信息

General:  //通用参数
  -i INPUT, --input INPUT //必填项,指定输入,输入必须是单个图像、图像文件夹、视频文件或摄像机id
                        Required. An input to process. The input must be a single image, a folder of images, video file or camera id.
  --loop                Optional. Enable reading the input in a loop. //可选参数,启用循环读取输入。
  -o OUTPUT, --output OUTPUT
                        Optional. Name of the output file(s) to save. //可选参数,输出文件的名称
  -limit OUTPUT_LIMIT, --output_limit OUTPUT_LIMIT //可选参数,要存储在输出中的帧数。如果设置为 0,则存储所有帧。
                        Optional. Number of frames to store in output. If 0 is set, all frames are stored.
  --output_resolution OUTPUT_RESOLUTION
                         // 可选参数,以(宽 x 高)格式指定最大输出窗口分辨率。示例:1280x720。默认使用的输入帧大小。
                        Optional. Specify the maximum output window resolution in (width x height) format. Example: 1280x720. Input frame size used by default.
  --no_show             Optional. Don't show output. //可选参数,不展示输出结果
  --crop_size CROP_SIZE CROP_SIZE
                          //可选参数,将输入流裁剪为此分辨率。
                        Optional. Crop the input stream to this resolution.
Faces database:
  -fg FG                Optional. Path to the face images directory. //可选参数,人脸图片文件夹
                        // 可选参数,使用人脸检测模型在人脸图像上查找人脸,否则使用完整图像。
  --run_detector        Optional. Use Face Detection model to find faces on the face images, otherwise use full images.
Models:
                        // 必须的参数,人脸检测模型文件路径
  -m_fd M_FD            Required. Path to an .xml file with Face Detection model.
                         //必须的参数,具有面部特征点检测模型的.xml文件的路径
  -m_lm M_LM            Required. Path to an .xml file with Facial Landmarks Detection model.
                         // 必须的参数,具有人脸重新识别模型的.xml文件的路径
  -m_reid M_REID        Required. Path to an .xml file with Face Reidentification model.
  --fd_input_size FD_INPUT_SIZE FD_INPUT_SIZE
                         // 可选参数,指定用于整形的检测模型的输入大小。示例:500 700。
                        Optional. Specify the input size of detection model for reshaping. Example: 500 700.

Inference options:  // 推理选项
  -d_fd {CPU,GPU,HETERO} // 人脸检测模型的设备。默认值为 CPU
                        Optional. Target device for Face Detection model. Default value is CPU.
  -d_lm {CPU,GPU,HETERO} //面部特征点检测模型的设备。默认值为 CPU
                        Optional. Target device for Facial Landmarks Detection model. Default value is CPU.
  -d_reid {CPU,GPU,HETERO}  // 人脸识别模型的设备,默认值为 CPU
                        Optional. Target device for Face Reidentification model. Default value is CPU.
  -t_fd [0..1]          Optional. Probability threshold for face detections. // 人脸检测的概率阈值

(3)实验结果

原始视频:

人脸识别后的视频:

6 machine_translation_demo

机器翻译 Python演示:程序输出从源语言到目标语言的翻译句子。

支持英语、德语、俄语之间的互相翻译

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/machine_translation_demo/python/

(2)使用下面命令运行程序

//以下为英语翻译为德语的代码
python3 machine_translation_demo.py -d CPU   -i "a sample english text" -m ./intel/machine-translation-nar-en-de-0002/FP16/machine-translation-nar-en-de-0002.xml --tokenizer-src ./intel/machine-translation-nar-en-de-0002/tokenizer_src/ --tokenizer-tgt ./intel/machine-translation-nar-en-de-0002/tokenizer_tgt/
//以下为英语翻译为俄语的代码
python3 machine_translation_demo.py -d CPU   -i "a sample english text" -m ./intel/machine-translation-nar-en-ru-0002/FP16/machine-translation-nar-en-ru-0002.xml --tokenizer-src ./intel/machine-translation-nar-en-ru-0002/tokenizer_src/ --tokenizer-tgt ./intel/machine-translation-nar-en-ru-0002/tokenizer_tgt/

参数说明

usage: machine_translation_demo.py [-h] -m MODEL --tokenizer-src TOKENIZER_SRC
                                   --tokenizer-tgt TOKENIZER_TGT
                                   [-i [INPUT [INPUT ...]]] [-d DEVICE]
                                   [-o OUTPUT] [--output-name OUTPUT_NAME]

optional arguments:
  -h, --help            show this help message and exit //显示帮助信息
  -m MODEL, --model MODEL //必须的参数,指定训练模型的路径
                        Required. Path to an .xml file with a trained model
  --tokenizer-src TOKENIZER_SRC //必须的参数,带有 src 标记器的文件夹的路径包含 vocab.json 和 merges.txt。
                        Required. Path to the folder with src tokenizer that
                        contains vocab.json and merges.txt.
  --tokenizer-tgt TOKENIZER_TGT  //必须的参数,带有 tgt 分词器的文件夹的路径包含 vocab.json 和 merges.txt
                        Required. Path to the folder with tgt tokenizer that
                        contains vocab.json and merges.txt.
  -i [INPUT [INPUT ...]], --input [INPUT [INPUT ...]] //可选参数,需要翻译的文本或者输入的翻译的txt文件路径
                        Optional. Text for translation or path to the input
                        .txt file. 
  -d DEVICE, --device DEVICE  //可选参数,指定使用CPU还是GPU进行推理
                        Optional. Specify the target device to infer on; CPU or
                        GPU is acceptable. The demo
                        will look for a suitable plugin for device specified.
                        Default value is CPU.
   -o OUTPUT, --output OUTPUT //可选参数,指定输出的txt文件路径
                        Optional. Path to the output .txt file.

(3)实验结果

1)英文翻译为俄文

2)英文翻译为德文

7 multi_camera_multi_target_tracking_demo

多相机多目标 Python 演示,

说明:多相机多目标指的是利用多个摄像头对多个目标进行跟踪

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/multi_camera_multi_target_tracking_demo/python/

(2)使用下面命令运行程序

python3 multi_camera_multi_target_tracking_demo.py -i ./videos/people-detection.mp4 ./videos/car-detection.mp4 ./videos/head-pose-face-detection-female-and-male.mp4 --m_detector ./intel/person-detection-retail-0013/FP16/person-detection-retail-0013.xml --m_reid ./intel/person-reidentification-retail-0277/FP16/person-reidentification-retail-0277.xml --config configs/person.py

参数说明

optional arguments:
  -h, --help            show this help message and exit //显示帮助信息
  -i INPUT [INPUT ...], --input INPUT [INPUT ...]
                        //必须的参数,输入源,相机序号或者视频文件路径
                        Required. Input sources (indexes of cameras or paths
                        to video files)
  --loop                Optional. Enable reading the input in a loop //可选参数,开启输入循环
  --config CONFIG       Configuration file  //配置文件
  -m M_DETECTOR, --m_detector M_DETECTOR  //对象检测模型的路径
                        Path to the object detection model
  --t_detector T_DETECTOR  //对象检测模型的阈值
                        Threshold for the object detection model
  --m_reid M_REID       Required. Path to the object re-identification model //必须的参数,对象重新识别模型的路径
  --output_video OUTPUT_VIDEO  //可选参数,输出视频的路径
                        Optional. Path to output video
  --no_show             Optional. Don't show output //可选参数,不显示输入结果
  -d DEVICE, --device DEVICE  //选择CPU还是GPU

(3)实验结果

8 multi_channel_object_detection_demo_yolov3

多通道目标检测 Yolov3 C++ 演示:Yolov3 一种深度学习目标检测算法。

说明:根据代码的readme来看,多通道指的是将多个摄像头采集到的数据作为输入数据,使用openCv进行目标检测。

目标检测:找出图像或视频中感兴趣的目标(物体),同时确认它们的类别和位置(例如,找出一张图片中所有的人)

实验无法进行:

官方仓库中找不到README文档中的multi_channel_object_detection_demo_yolov3文件

官方仓库只有4个文件

9 sound_classification_demo

声音分类演示:看python源码,是根据加载模型的label,对源声音数据按匹配label进行分类。

每秒检查,推理出类型class和概率。推测结果class 52为人声。

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/sound_classification_demo/python/

(2)使用下面命令运行程序

python3 sound_classification_demo.py -i clean007.wav -m ./public/aclnet/FP16/aclnet.xml -d CPU --sample_rate 16000

参数说明

Options:
  -h, --help            Show this help message and exit. //显示帮助信息
  -i INPUT, --input INPUT  //必选参数,指定要处理的输入
                        Required. Input to process
  -m MODEL, --model MODEL //必选参数,指定训练模型路径
                        Required. Path to an .xml file with a trained model.
  -d DEVICE, --device DEVICE //可选参数,指定使用CPU还是GPU进行推理训练,默认使用CPU
                        Optional. Specify the target device to infer on; CPU or
                        GPU is acceptable. The demo
                        will look for a suitable plugin for device specified.
                        Default value is CPU
  --labels LABELS       Optional. Labels mapping file //可选参数,标签映射文件,指定class类
  -sr SAMPLE_RATE, --sample_rate SAMPLE_RATE 
                        Optional. Set sample rate for audio input //可选参数,设置音频输入的采样率

(3)实验结果

1)输入音频如下

输出结果:class代表不同类型的声音,前面的百分比代表准确度

2)将一段只有人声的音频输入,音频如下

使用下面命令运行程序

python3 sound_classification_demo.py -i clean007.wav -m ./public/aclnet/FP16/aclnet.xml -d CPU --sample_rate 16000

输出结果

因此可以得出class 52代表人声

10 time_series_forecasting_demo

时间序列预测演示,时间序列预测的目标是根据过去的数据模式和趋势,预测未来一段时间内的数值。

电力数据推理预测

(1)进入下面的代码目录

/home/ubuntu/xuwt/open_model_zoo/demos/time_series_forecasting_demo/python/

(2)使用下面命令运行程序

python3 time_series_forecasting_demo.py -i electricity.pickle -m ./intel/time-series-forecasting-electricity-0001/FP16/time-series-forecasting-electricity-0001.xml

参数说明

optional arguments:
  -h, --help            show this help message and exit  //显示帮助信息
  -m MODEL, --model MODEL  //必须的参数,指定训练模型的路径
                        Required. Path to an .xml file with a trained model
  -i INPUT, --input INPUT  //必须的参数, .pickle 格式的数据集文件的路径
                        Required. Path to the dataset file in .pickle format.

(3)实验结果

不指定--quantiles QUANTILES参数

  • P10 (0.1)-预计真实值将在 10% 的时间内低于预测值。
  • P50 (0.5)-预计真实值将在 50% 的时间内低于预测值。这也称作中位数的预测。
  • P90 (0.9)-预计真实值将在 90% 的时间内低于预测值。

OpenCV学习

AI预训练模型

  • ​​Hugging Face​​ 机器学习界的github,共享超过100000个与训练模型,10000个数据集,涵盖了 NLP、计算机视觉、语音、时间序列、生物学、强化学习等领域,以帮助科学家和相关从业者更好地构建模型,并将其用于产品或工作流程。
  • ​​Intel Open Model Zoo​​ 英特尔OpenVINO工具套件的预训练模型库,包含商业级模型及公开模型,可快速应用于项目
  • ​​Pytorch预训练模型​​ Pytorch预训练模型
  • ​​Tensorflow预训练模型​​ TensorFlow Hub 是一个包含经过训练的机器学习模型的代码库,这些模型稍作调整便可部署到任何设备上。您只需几行代码即可重复使用经过训练的模型,例如 BERT 和 Faster R-CNN
  • ​​飞桨预训练模型​​ PaddleHub可以便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用

开发案例

基于英特尔开发者套件及 OpenVINO分析时序数据预测通行速度

荣旭智能基于Anomalib打造智能光学字符瑕疵检测系

在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型

在AI爱克斯开发板上用OpenVINO运行GPT-2模型

自训练Pytorch模型使用OpenVINO优化并部署在AI爱克斯开发板 开发者实

​​10分钟用英特尔® 开发者套件搭建RTMP流媒体服务器并基于OpenVINO™ AI赋能视频处理​​

​​从零开始带你用英特尔开发者套件 AI 爱克斯板 + OpenVINO™ 做视频流检测 | 开发者实战​​

案例分享

  • ​​在AI爱克斯开发板上用OpenVINO™运行GPT-2模型​​
  • ​​在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型​​
  • ​​在AI爱克斯开发板上用OpenVINO加速YOLOv8目标检测模型​​
  • ​​在AI爱克斯开发板上用OpenVINO加速YOLOv8-seg实例分割模型​​
  • ​​使用AI爱克斯开发板与LabVIEW实现麦克纳母轮小车的控制​​
  • ​​自训练Pytorch模型使用OpenVINO™优化并部署在AI爱克斯开发板​​
  • ​​英特尔开发者套件爱克斯板与CODESYS实现软PLC配置并与外界程序通信​​
  • ​​在英特尔开发者套件上用OpenVINO™ 2023.0加速YOLOv8-Pose姿态估计模型​​
  • ​​10分钟用英特尔开发者套件搭建RTMP流媒体服务器并基于OpenVINO™ AI赋能视频处理​​
  • ​​基于英特尔数字化开发套件爱克斯板利用Anomalib 打造智能光学字符瑕疵检测系统​​
  • ​​基于英特尔开发者套件及 OpenVINO™ 分析时序数据预测通行速度​​

参与竞赛

  • ​​2023 EdgeX全球大学生挑战赛​​
  • ​​2023 中美青年创客大赛​​
  • ​​Robocpu Home2023​​

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

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

相关文章

华为云免费云服务器-低价云虚拟主机VPS-个人免费云服务器

华为云80款云服务产品0元试用活动&#xff0c;免费试用云服务器&#xff0c;云数据库、云速建站、云安全、CDN、OBS、Redis等云计算产品。为用户提供免费的云服务试用机会&#xff0c;帮助企业和个人轻松享受云服务。 原文&#xff1a;https://www.vpspick.com/vps/442.html …

js垃圾回收新生代和老生代以及堆栈内存详细

js 堆栈内存、新生代和老生代、垃圾回收详聊 要想了解JS内存管理就必须明白存这些js数据的内存又分为&#xff1a;栈内存和堆内存 一、 栈|堆内存(Stack|Heap) 栈(Stack)内存 原始值&#xff1a;Number、String、Boolean、Null、Undefined、Symbol和BigInt 栈内存主要存储原始…

UE5启用SteamOSS流程

一、安装OnlineSubsystemSteam插件 1、在UE里安装OnlineSubsystemSteam 2、设置默认开始地图 3、设置DefaultEngine.ini文件&#xff1a; 打开项目根目录/Config/DefaultEngine.ini文件 打开官网的配置说明 复制并粘贴到该文件中 4、设置运行模式 5、测试 确保Steam平台已…

玩转ChatGPT:Suno制作音乐

AI开始进军音乐领域了。 一款音乐AI神器——Suno V3发布&#xff0c;它能够处理从间奏到主歌、副歌、桥段直至尾奏的完整结构&#xff0c;零门槛创作音乐。 需要科学上网&#xff0c;官方网站&#xff1a;https://app.suno.ai/ 使用GPT写个歌词&#xff0c;然后丢进Suno生成…

EMD关于信号的重建,心率提取

关于EMD的俩个假设&#xff1a; IMF 有两个假设条件&#xff1a; 在整个数据段内&#xff0c;极值点的个数和过零点的个数必须相等或相差最多不能超过一 个&#xff1b;在任意时刻&#xff0c;由局部极大值点形成的上包络线和由局部极小值点形成的下包络线 的平均值为零&#x…

聚观早报 | 小米SU7正式发布;xAI推出Grok-1.5

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月30日消息 小米SU7正式发布 xAI推出Grok-1.5 红魔9 Pro新品亮相 长城汽车2023年营收 快狗打车2023年度业绩 小…

C++心决之命名空间、重载函数和引用

目录 1. C关键字(C98) 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 3. C输入&输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C支持函数重载的原理--名字修饰(name Mangling) 6. 引用 6.1 引用概念 6.2 引用特性…

二维码门楼牌管理应用平台:构建社区信息新生态

文章目录 前言一、二维码门楼牌管理应用平台的功能优势二、信息展示与居民互动三、提升社区治理效能四、展望未来的发展方向 前言 随着信息技术的迅猛发展&#xff0c;二维码门楼牌管理应用平台逐渐崭露头角&#xff0c;成为社区管理的新宠。通过这一平台&#xff0c;居民可以…

Spring Boot 使用 Redis

1&#xff0c;Spring 是如何集成Redis的&#xff1f; 首先我们要使用jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><gro…

【docker】nexus 本地 maven配置

1、这篇文章中说明了如何搭建私服 【docker】搭建Nexus私服-CSDN博客文章浏览阅读2次。4、点击登陆&#xff08;账号&#xff1a;admin 秘密&#xff1a;在容器内 /nexus-data/admin.password 文件中)注意我的端口号是 10002&#xff0c;注意你的端口号。7、设置maven-central…

博客页面---前端

目录 主页 HTML CSS 文章详细页面 HTML CSS 登录页面 HTML CSS 文章编辑页 HTML CSS 这只是前端的页面组成&#xff0c;还没有接入后端&#xff0c;并不是完全体 主页 HTML <!DOCTYPE html> <!-- <html lang"en"> --> <head>&…

AcWing刷题-有序分数

有序分数 递归 # 求最大公约数 def gcd(a,b):return gcd(b,a%b) if b else a ans [] n int(input()) for i in range(1,n1):for j in range(0,i1):if gcd(i,j)1: # 最简形式ans.append([j,i]) ans.sort(keylambda x:x[0]/x[1]) # 按照从小到大的顺序排 for elem in ans:a,be…

逐步学习Go-Select多路复用

概述 这里又有多路复用&#xff0c;但是Go中的这个多路复用不同于网络中的多路复用。在Go里&#xff0c;select用于同时等待多个通信操作&#xff08;即多个channel的发送或接收操作&#xff09;。Go中的channel可以参考我的文章&#xff1a;逐步学习Go-并发通道chan(channel)…

PyCharm安装及Anaconda关联设置

PyCharm介绍 PyCharm 是一款专为 Python 设计的集成开发环境&#xff08;IDE&#xff09;&#xff0c;由 JetBrains 开发。它提供了一整套功能强大的工具&#xff0c;帮助开发者更高效地编写、测试和调试 Python 代码。PyCharm 有免费的社区版和付费的专业版。 PyCharm官网链接…

Linux 安装Mysql

安装源文件版本&#xff1a;mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 安装前&#xff0c;我们可以检测系统是否自带安装 MySQL: rpm -qa | grep mysql如有&#xff0c;类似 mysql-libs-5.1.52-1.el6_0.1.x86_64那可以选择进行卸载: rpm -e mysql-libs-5.1.52-1.el6_0.1…

Xinstall自动邀请代理功能,让App线上推广更高效

在移动互联网时代&#xff0c;App的推广成为了每个开发者都必须面对的问题。线上推广作为一种重要的手段&#xff0c;其效果直接关系到App的下载量、安装量以及用户活跃度。然而&#xff0c;线上推广并非易事&#xff0c;需要借助专业的工具和方法才能实现最佳效果。今天&#…

JAVAEE——多线程进阶,锁策略

文章目录 锁策略乐观锁和悲观锁乐观锁悲观锁两者的比较 读写锁重量级锁和轻量级锁重量级锁轻量级锁 自旋锁公平锁和非公平锁公平锁非公平锁 可重入锁和不可重入锁可重入锁不可重入锁 锁策略 乐观锁和悲观锁 乐观锁 什么是乐观锁呢&#xff1f;我们可以认为乐观锁比较自信&am…

树的重心——树的结构

树的重心是指对于某个点&#xff0c;将其删除后&#xff0c;可以使得剩余联通块的最大值最小。也就等价于一某个点为根的树&#xff0c;将根删除后&#xff0c;剩余的若干棵子树的大小最小。 例如下图的树的重心就是2。 性质&#xff1a; 性质一&#xff1a;重心的若干棵子树打…

代码第三十六天:需要添加的硬币的最小数量

需要添加的硬币的最小数量 题目要求&#xff1a; 解题思路 为方便描述&#xff0c;把 0 也算作可以得到的数。 假设现在得到了区间 [ 0 , s − 1 ] [0,s−1] [0,s−1] 中的所有整数&#xff0c;如果此时遍历到整数 x c o i n s [ i ] xcoins[i] xcoins[i]&#xff0c;那么…

百度云加速方法「Cheat Engine」

加速网盘下载 相信经常玩游戏的小伙伴都知道「Cheat Engine」这款游戏内存修改器&#xff0c;它除了能对游戏进行内存扫描、调试、反汇编 之外&#xff0c;还能像变速齿轮那样进行本地加速。 这款专注游戏的修改器&#xff0c;被大神发现竟然还能加速百度网盘资源下载&#xf…