二、OpenVINO简述与构建流程

OpenVino快速落地部署教程 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。本教程适用于Yolov5-7.0,直接跑Yolov5为6FPS,使用OpenVino后为30FPS,未来将会出一系列其他模型(Paddle等)的OpenVino部署教程,测试平台——Intel Nuc 11代i5处理器 阅读详情

二、OpenVINO简述与构建流程

1 人工智能与视觉应用

1. 计算机视觉与图像处理
  • 图像: 在计算机中,每张图像是由像素构成的阵列,表示为像素值。通常在灰度图中,像素仅单个通道,每个像素值的区间为0 ~ 255,其中255表示白色,0表示黑色。而在彩色RGB图像中,每个像素由R、G、B三个通道组成,每个通道中的像素值区间均为0 ~ 255。

  • 视频: 如果说图像是多个像素构成的阵列,那么视频则是由一系列连续图像组成的序列,当图像切换速度足够快时,就形成了平滑连续的视觉效果。如在电影视频中,每秒24帧指的是视频每秒放映的画面数,一幅画面就是一帧,连续的24帧构成了视频一秒内的输出内容。至于为什么看24帧的电影毫无违和感,而60帧以下的游戏却会感觉到明显卡顿,这里就涉及到动态模糊,现实光影在记录时会因为动态模糊存在“多余”的丰富图像信息,而游戏3D实时渲染却不会存在这些动态模糊带来的“多余”信息,其间的差异就造成了观看时的卡顿感。至于动态模糊的概念,这里暂且不做过多赘述。

  • 图像处理

    • 模糊:平滑处理每个像素及其周围的8个像素值,选取其平均值作为该点的像素值,即可获得更加模糊的图像。

    • 锐化:扩大像素点与周围像素点的差异,将会得到更锐利的图像。继续进行锐化,图像将仅保留像素值的显著差异,只能看到图像中物体的边缘,可用于检测图像的角、边缘、线等

      在这里插入图片描述

    • 边缘:在RGB图像中,边缘常常存在于像素值剧烈变化处。因此常常针对这一特征进行物体边缘检测。可以检测图像中的边缘、线、角作为图像特征,由此查找真实图像

      在这里插入图片描述

2. 视频压缩技术与加速处理
  • 视频压缩技术: 假设在未经压缩的情况下,1080P 25帧视频的一帧由1920×1080个像素点组成,每个像素点有RGB三个通道,大小约3 bytes。此时一帧图像约为6.2 MB,每秒需要155 MB存储空间,那么一分钟视频约为9.3 GB。为了压缩这些数据,达到通过较少比特去呈现大量数据,同时不丢失太多信息的目的。就需要利用视频压缩,即冗余技术。

  • 冗余:

    • 空间冗余:在一系列图像内,天空区域所有像素都是相同颜色,此时无需存储每张图像中天空区域的全部像素,仅需存储该区域所有像素的平均值,在显示时应用到天空区域内每个像素上即可。

      在这里插入图片描述

    • 时间冗余:在连续帧中局部区域内目标对象像素颜色相同,位置随时间变化,此时仅需存储第一帧中该对象的像素,在后续帧中直接使用即可。

      在这里插入图片描述

    • 帧:

      • I 帧:在存储时,某些帧因包含独特信息,需要将整帧像素内容全部存储,这种帧就叫做 I 帧
      • P 帧:在两个 I 帧之间,可以用于记录两帧间的差异,这些帧就叫 P 帧。其中包含了如何从上一个 I 帧生成此 P帧的信息,数据量约为 I 帧的 1/2。
      • B 帧:存在于 I 帧与 P 帧之间,记录帧与帧之间的差值,数据量量为 I 帧的 1/4,B 帧之间的变化可以自动生成。

      在这里插入图片描述

  • 编解码器与视频加速

    • 编解码器:视频在传输与存储时应进行编码压缩,播放时需要解码还原。为保证双端一致,其间的规则为编解码技术,由编解码器对视频进行压缩和解压缩。目前常用的编解码器为H.264与AVC、H.265与HEVC等,后者的压缩速度为前者的两倍,但消耗的资源则是前者的三倍。

    • 视频文件:视频文件的本质是一个Container容器文件,以mp4文件为例,其中包含了视频流文件H.264、音频流文件mp3以及信息流元数据等。

      在这里插入图片描述

    • 视频处理任务:将视频存储在大型缓冲区中进行逐帧处理,比较并查看两帧之间发生的变化。

    • 硬件加速:基于Intel 快速视频同步技术(Quick Sync Video Technology,QSVT),Intel CPU可以完成对视频的编解码处理任务。同时Intel集成显卡包含EUs和QSVT两部分,EUs为GPU处理器单元,用于图像视频渲染任务,QSVT则负责加速视频编解码等处理任务。

      在这里插入图片描述

    • 软件加速:Intel 驱动程序 位于集成GPU上层,在其之上是 VAAPI-Libva 视频加速API,在往上则是封装好的 Media-SDK,用于提供C++/Python的API接口,帮助用户在多平台多系统下通过该软件使用Intel QSVT完成对视频的编解码以及处理任务。可通过 OpenCV、FFMPEG、GStreamer 直接访问Media-SDK API,目前OpenVINO中已包含了Media-SDK。

3. 视觉应用与神经网络加速
  • 神经网络

    • 训练:神经网络输入大量数据,改进权重,降低错误率,最终获得一个具有特定权重的神经网络的过程。
    • 推理:神经网络输入新的图像,获得答案的过程。
  • DLDT: DLDT为Intel提供的深度学习部署套件(Deep Learning Deployment Toolkit),作为OpenVINO的核心组件,DLDT提供了构建AI应用的解决方案、示例、程序以及模型下载器等。通过DLDT,用户可以将预训练模型(TensorFlow、Caffe、mxnet、ONNX)输入到模型优化器中,转换为中间表示的IR格式,随后采用推理引擎读取IR文件,在多种硬件上进行推理即可。对于PyTorch模型,需要先转化为ONNX格式,再输入到模型优化器中进行转换即可。

    在这里插入图片描述

4. 视频分析处理流程
  • 视频分析 = 视频处理 + 计算机视觉 + AI 推理

    • 解码:对压缩的视频流进行解码,可同时解码多个不同分辨率和格式的视频流
    • 预处理:通过锐化、亮度调整等操作提升图像质量;当图像尺寸过大时,可缩小图像或裁剪感兴趣区域(ROI);可选择跳过部分帧或尝试推理所有帧。
    • 推理:使用多个或单个深度学习模型进行推理,对输入图像进行检测、分类以及识别等操作
    • 发送处理:在获得处理结果后针对原始图像进行处理,如绘制检测框等
    • 编码:压缩视频以便进行传输或存储
  • 注:上述所有操作均要在每一帧上运行,但也有部分操作需要跨帧运行,以”跟踪(Tracking)“为例,对于移动状态的同一对象,无需重新连续识别浪费资源,只需跳帧识别,比较连续帧,确认是同一对象即可。

  • 组件应用情况

    • Media-SDK:编解码和预处理
    • DLDT:基于深度学习的推理加速
    • OpenCV:理论上基本可完成整个流程,但有时需要调用Media-SDK或推理引擎

    在这里插入图片描述

2 OpenVINO简述 与 AI应用构建流程

1. OpenVINO简述
  • OpenVINO Toolkit,由Intel提供的开放视觉推理与神经网络优化(Open Visual Inference and Neural Optimization)工具集,是一整套面向AI应用的Intel解决方案,提供了大量开源资源,包括预训练模型、应用示例以及场景演示等。

  • OpenVINO架构

    在这里插入图片描述

2. 模型优化器简介
  • 模型优化器(Model Optimizer):跨平台的命令行工具,支持训练和部署环境之间的转换,执行静态模型分析并自动调整深度学习模型
  • IR文件(IR):OpenVINO的中间层表示,由一个包含网络拓扑信息的xml文件和一个包含权重和偏差二进制数据的bin文件组成。
  • 推理引擎(Inference Engine):支持IR格式模型,采用模型在多种设备上运行并完成推理
  • 处理流程可采用离线方式,需要采用模型优化器将模型转为IR文件,在得到IR文件后,即可进行反复推理。

在这里插入图片描述

3. AI应用构建流程

在这里插入图片描述

  • 模型获取(Model):寻找合适的深度学习模型执行相应的任务

    • 使用OpenVINO提供的模型下载器进行下载

      ​ python downloader.py --name model_name --output path

    • 从零开始训练模型,在制作数据集时可采用CVAT进行标注

    • 从Model Zoo中下载预训练模型,这些模型均针对推理进行了优化,也可通过个人数据集进行重新训练,模型精度有FP32、FP16、INT8三种

  • 推理前准备(Prepare Inference):模型通常是在云环境中训练,采用的是浮点格式,可支持模型格式转换。

    • 模型优化器可将各种框架中训练的模型转化成中间表示IR文件,以Caffe模型为例,执行命令mo_caffe.py --input_model path --output_dir path,即可将转化后的IR文件输出到指定路径,供推理引擎进行推理。
    • IR文件为OpenVINO的中间层表示,由一个包含网络拓扑信息的xml文件和一个包含权重和偏差二进制数据的bin文件组成。

    在这里插入图片描述

  • 性能指标评测(Benchmark):在多平台使用多项优化技术和多种数据格式进行性能指标评测,最终选择符合要求的

    在这里插入图片描述

    • 在准备好用于推理的模型后,Intel提供了用于基准性能测试的试用程序,在输入IR模型后,会输出该模型的各项参数数据。

      ./benchmark_app -m /model_name.xml

    • DEV Cloud包括多种可用于对工作负载进行性能测试的硬件系统,可免费注册进行测试

    • 若要对网络进行深层调试,OpenVINO API中内置了性能计算器,可对网络的每一层数据进行查找

    • WorkBench是为深度学习模型的性能分析与调试提供可视化的web应用,DL WorkBench在生成模型性能报告时可以实现:

      • 拓扑可视化
      • 模型性能对比
      • 模型逐层分析
  • 选择系统(Select System):这是整个流程中最关键的一步,需要选取合适的系统进行任务,尽量选择异构的系统对推理进行支持,如将CPU、GPU、FPGA以及VPU等进行组合。

  • 编解码密度(Decode Density):采用Media-SDK进行编解码并处理图像,同时了解设备的编解码能力,选取合适的设备进行支持。AI应用系统通过支持尽可能多的摄像头与视频流,来降低系统的整体成本

    在这里插入图片描述

  • 模拟工作负载(Full Pipeline):为了最大限度发挥系统性能,常采用GStreamer插件模拟整个流程的工作负载,获得相应的模拟结果以选择合适工作环境,以下图为例,其具体流程为:

    在这里插入图片描述

    加载视频→解码→转换解视频输出格式→加载加载脸部检测模型进行检测→加载情绪识别模型进行识别

  • 构建AI应用(AI Application):在确认所选系统可胜任工作后,构建软件或采用OpenVINO将视频分析处理流程和推理整合到现有应用中。需要注意的是,在实际AI系统中,解码、编码以及推理工作常常一起进行。

OpenVINO模型部署(权重转化) 其中mean、scale为归一化后计算的均值方差的结果。3. 关于图像通道的问题,注意。这样在部署后图像就不需要再进行。 阅读详情

相关推荐

2 openVINO 构建示例应用程序

构建示例应用程序 在Linux *上构建示例应用程序 官方支持的Linux *构建环境如下: Ubuntu * 16.04 LTS 64位或CentOS * 7.4 64位 GCC * 5.4.0(适用于Ubuntu * 16.04)或GCC * 4.8.5(适用于CentOS * 7.4) CMake * 2.8或更高版本 要构建Linux的示例应用程序,请转到包含该build_...

1381

什么是OpenVino?以及如何使用OpenVino运行yolo

Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。Openvino内部集成了OpencvTensorFlow模块,除此之外它还具有强大的Plugin开发框架,允许开发者在Openvino之上对推理过程做优化。Openvino前端→ Plugin中间层→ Backend后端Openvino的优点在于它屏蔽了后端接口,提供了统一操作的前端API,开发者可以无需关心后端的实现,例如后端可以是。

17岁boy的博客 2万+

【手把手教学】使用cmake构建openvino推理程序——c++

系统:window11vs版本:visual studio 2022openvino包:2024版下载链接。

王尼莫的博客 1824

OpenVINO部署

OpenVINO(Open Visual Inference and Neural Network Optimization)是由英特尔开发的工具包,旨在优化和加速在各种英特尔架构(如CPU、GPU和FPGA)上的深度学习推理,特别侧重于计算机视觉任务。该工具包支持来自流行框架(如TensorFlow和PyTorch)的模型,将它们转换为适合在英特尔硬件上部署的中间表示。

weixin_42010722的博客 3994

CPU也能跑模型:OpenVINO模型部署入门教程

OpenVINO)是英特尔推出的一个用于深度学习推理的开源工具套件,旨在帮助开发人员优化和部署深度学习模型,以在各种硬件平台上实现高性能的推理。OpenVINO跨平台支持OpenVINO支持多种硬件平台,包括英特尔的CPU、集成显卡、FPGA以及神经计算棒(),这使得开发人员能够在各种设备上进行高效的深度学习推理。模型优化OpenVINO提供了一系列工具和技术,可用于优化和转换深度学习模型,以便在目标硬件上实现更高的性能和效率,这包括模型压缩、量化、剪枝等技术。推理加速OpenVINO。

DeepDriving 2813

YOLO + OpenVINO 在英特尔平台部署实战:性能调优与跨架构加速全流程指南

本篇文章聚焦如何使用 OpenVINO 在英特尔平台高效部署 YOLO 系列目标检测模型,结合当前主流的 YOLOv5 与 YOLOv8 架构,详解模型格式转换、推理接口调用、多设备异构调度与性能优化等关键流程,实测涵盖 Intel CPU(i5/i7/i9)、集成 GPU(Intel Iris Xe)、VPU(MyriadX/Neural Compute Stick 2)等典型硬件环境。内容基于 2024 年 OpenVINO 2023.3+ 版本的最新部署策略,适用于工业边缘检测、低功耗推理等实际场景。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2228

如何用 C++ 构建 OpenVINO™ 生成式 AI 应用

OpenVINO™ GenAI API 提供了一个原生的 C++ 接口,消除了对 Python 依赖的需求,使开发者可以用更高效的方式创建 AI 应用程序。下面是一个基于 Windows 操作系统的分步骤指南,手把手教你如何在 C++ 中构建 OpenVINO™ GenAI 应用程序。

英特尔开发人员专区 1609

openvino_java:构建,打包和发布适用于Java的OpenVINO

openvino_java 构建,打包和发布适用于Java的OpenVINO

OpenVINO CMake项目配置指南:从源码构建到安装

OpenVINO™工具包是Intel开发的开源AI推理优化与部署工具,支持多硬件平台加速。本文将详细介绍如何通过CMake配置、构建并安装OpenVINO项目,帮助开发者快速掌握从源码到部署的完整流程。 ## 准备工作 ### 系统要求 - **操作系统**:Ubuntu 18.04/20.04、Red Hat Enterprise Linux 8.2(64位) - **工具链**:CMake...

gitblog_00546的博客 1022

2023全球边缘计算大会深圳站(公开)PPT汇总(12份).zip

2023全球边缘计算大会深圳站(公开)PPT汇总,共12份。 实时互动内容云计算服务商 边缘计算:促进工业互联网OT与IT融合的重要抓手 多协议+QUIC:边缘计算时代的全连接架构探索实践 边缘计算平台在工业数字化转型的应用 迈向通用人工智能时代之“路”——边缘云与算力网络演进及思考 如何在边缘设备上运行与管理云原生负载 让安全成为边缘计算的基因 声网实时互动场景下的创新之路 边缘智能平台与AIGC探索 移动边缘计算案例应用 在边缘DC部署大模型:实践和加速 EdgeX + OpenVINO加速边缘人工智能项目落地

C++版Cesium实战:从OpenGL到3DTiles的全流程开发指南

本文提供了一份C++版Cesium全流程开发指南,详细阐述了如何利用OpenGL和Qt从零构建高性能、可离线部署的三维GIS应用。内容涵盖开发环境搭建、OpenGL渲染引擎初始化、Cesium核心坐标系与场景管理移植,并重点解析了3DTiles数据的解析、异步加载与渲染优化等硬核实战技术,旨在帮助开发者实现与现有C++工业软件的深度集成。

weixin_28077113的博客 164

实战精选 | 如何用 C++ 构建 OpenVINO™ 生成式 AI 应用

点击蓝字关注我们,让开发变得更有趣作者 | 武卓 英特尔 AI 软件布道师排版| 吴紫琴OpenVINO™介绍许多桌面应用程序是使用 C++ 开发的,而将生成式AI(GenAI)功能集成到这些应用程序中可能会很具有挑战性,尤其是因为使用像 Hugging Face 这样的 Python 库的复杂性。C++ 结合 OpenVINO™ Runtime 提供了一个更加简化、轻量且内存高效的解决方案,...

OpenVINO的博客 1334

LatentSync:开源数字人唇形同步技术的实战部署与优化指南

本文详细介绍了开源数字人唇形同步工具LatentSync的实战部署与优化全流程。从核心原理(潜在扩散模型与TREPA技术)解析,到手把手完成环境搭建、模型获取及首次推理。文章深入探讨了自定义素材处理、关键参数调优(如guidance_scale),并提供了显存不足、人脸检测失败等常见问题的解决方案与性能优化技巧,旨在帮助用户高效部署并提升生成效果。

9o8p7i6u5y的博客 1008

OpenVINO优化模型部署流程

博客深入解析OpenVINO模型部署架构与关键技术,涵盖模型转换、优化、推理引擎应用及端到端自动化流程,支持多硬件加速与新兴AI模型落地。

weixin_35750747的博客 946

告别单一查询!MultiQueryRetriever在LangChain中的高级用法解析

本文深入解析了LangChain中的MultiQueryRetriever高级用法,该工具通过大语言模型自动生成多样化查询,显著提升文档检索的召回率和准确性。文章详细介绍了其核心机制、高级配置调优策略以及在多语言和专业领域中的实际应用,为开发者提供了优化知识库问答系统的实用方案。

weixin_28730927的博客 271

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

GitHub热门开源项目"daily_stock_analysis"是一款AI驱动的智能股票分析工具,能自动抓取行情数据、分析新闻语义并生成结构化报告。该项目采用Python开发,通过GitHub Actions实现全自动运行,支持邮件、企业微信等多渠道推送。核心功能包括AI决策仪表盘、多数据源整合和零成本部署方案,特别适合需要自动化投研辅助的个人投资者。项目强调其仅为分析工具而非投资建议,提醒用户注意AI模型的潜在误差。该工具通过智能化处理重复工作,帮助投资者提升决策效率,成为量化投资

陈奕昆的博客 1526

基于LangChain与OpenVINO™构建AI智能体

基于LLM构建的AI智能体,虽然无法做到面面俱到,但他却可以找到最合适的帮手一同完成任务。除了以上这些示例外,我们还可以利用Agent,RAG以及多模态模型等技术,创建更复杂的应用体系,例如将人类指令转化为机器臂的具体动作,或是根据用户请求绘制创建文本或音视频内容。 作为通过通用人工智能(AGI)的必经之路,Agent 就好比是一个能够感知环境、进行决策和执行动作的智能实体,像人一样感知世界,运用工具,与他人进行交互。相信在OpenVINO™的加持下,完全本地的AI智能体服务将成为可能。

英特尔开发人员专区 1868

go实现MQTT broker(附完整源码)

go实现MQTT broker(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 577

如何从 OpenVINO 的主分支构建 Python Wheel 包

Python*.whl文件或者叫Wheel包,是一个 Python 生态系统组件,可简化包的安装。它在包分发过程中提供更快的安装时间和更高的可靠性。该格式包含只需要移动到要安装的目标系统上的正确位置的文件和元数据。如果你使用 pip 安装 Python 包,它很可能是一个 wheel 包。本文将教读者从零开始从OpenVINO™ 的主分支制作一个文件以便于安装OpenVINO™。已经有稳定版本,为什么我还需要从主分支构建Wheel包?

英特尔开发人员专区 4042

12.工具高级参数CogCalibNPointToNPointTool

CogCalibNPointToNPointTool是一种多点2D坐标校正工具,用于将图像像素坐标转换为物理世界坐标。该工具通过两组点(图像坐标点和物理坐标点)计算最佳转换关系,并将结果保存供后续使用。操作步骤包括获取图像、添加坐标点对、计算转换参数。校正结果会显示平移、缩放、旋转等参数及RMS误差值,较大的误差可能表明点位置不准确或自由度不足。该工具广泛应用于机器视觉领域,通过9点标定等案例可验证坐标转换的准确性并优化参数设置。

204

雷赛控制卡的扩展IO连接

因设备的上IO点较多,所以使用了多个雷赛32点位的IO扩展卡。上位机程序在控制输出IO时发现主模块IO和第一个扩展IO的输出可以控制。但第二个IO扩展卡和第三个IO扩展卡的输出控制不了。经排查出发现轴卡在初始化时只连接了第一个扩展IO卡。增加下面的代码连接上扩展IO就可以了。雷赛控制卡的扩展IO点无法控制问题处理。

StevenChen的博客 3174

OpenVINO™ 推理流程详解:从模型加载到结果处理

OpenVINO™ 推理流程详解:从模型加载到结果处理 【免费下载链接】openvino openvino: 是Intel开发的一个开源工具包,用于优化和部署AI推理,支持多种硬件平台。 项目地址: https://gitcode...

gitblog_00375的博客 525

时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测

时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测 目录时间序列预测 | Python实现ARIMAX和VARMAX时间序列数据预测基本介绍ARIMAXVARVARMAVARMAXSESHWES参考资料 基本介绍 本文介绍ARIMAX、VAR、VARMA和VARMAX基本概念及其Python程序设计。 ARIMAX 具有外源回归量的自回归整合移动平均值(ARIMAX)是 ARIMA 模型的扩展,其还包括外生变量的建模。 外生变量也称为协变量,可以被认为是并行输入序列,其在与

前程算法屋的博客 6688

基于 Qwen-Agent 与 OpenVINO™ 构建本地 AI 智能体

点击蓝字关注我们,让开发变得更有趣作者 | 杨亦诚排版 | 吴紫琴Qwen2 是阿里巴巴集团 Qwen 团队研发的大语言模型和大型多模态模型系列。Qwen2 具备自然语言理解、文本生成、视觉理解、音频理解、工具使用、角色扮演、作为 AI Agent 进行互动等多种能力。图:智能体中工具使用执行逻辑Qwen-Agent 是一个 AI 智能体的开发框架。开发者可基于本框架开发 Agent 应用,充分利...

OpenVINO的博客 981

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

开发者实战 | 基于 LangChain 与 OpenVINO™ 构建 AI 智能体

点击蓝字关注我们,让开发变得更有趣作者| 杨亦诚排版| 李擎基于 LangChain 与OpenVINO™ 构建 AI 智能体通常情况下, LLM 获取知识的途径仅限于训练时的样本数据以及 Prompt 中包含的上下文信息,因此如果缺少有效的外部信息获取途径, LLM 便无法像一个智能体一样自主学习知识并做出行动,这也是为什么我们要引入 Agent 的概念。顾名思义 Agent 便是让 LLM ...

OpenVINO的博客 1124

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

基于 OpenVINO™ 和 LangChain 构建RAG问答系统

在医疗、工业等领域,行业知识库的构建已经成为了一个普遍需求,通过LLM与OpenVINO™的加持,我们可以让用户对于知识库的查询变得更加精准与高效,带来更加友好的交互体验。

英特尔开发人员专区 6790

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 一、AMD - OpenVINO环境配置
下一篇: 三、OpenVINO实战:图像分类
Aaaaaki
博客等级 码龄9年 884粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aaaaaki

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值