darknet + yolov4 训练自定义数据集 + windows环境搭建

Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(一)——环境配置 文章目录 前言 一、Darknet简介 二、环境要求 三、准备工作 四、正式安装 安装显卡驱动 安装cuda 总结 前言 这是基于轻量级深度学习框架darknet的yolo3模型实践在ros平台下实现训练自己的数据集来进行目标识别的过程记录。本文主要手把手带你配置darknet框架需要的环境配置。 一.Darknet简介: Darknet是一个轻量级深度学习框架,是一个完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,在makefile里面选择自己 阅读详情

目录

一、前期准备工作

1、样本数据集的收集

2、样本数据的处理

自己实践过程中整理的标注规范

标注图片

3、修改配置和下载预训练模型

二、darknet 的环境搭建

1、windows 编译环境搭建

安装显卡驱动

安装 CUDA

安装 Visual Studio

安装 cuDNN

安装OpenCV(非必须)

三、windows 下的编译和训练

1、编译 darknet

2、组合数据

目录结构

3、windows 上训练

4、什么时候停止

5、验证权重

6、训练记录


上一篇博文讲解了 java 实现 darknet + yolov4 实现官方标注的目标检测,本篇博文记录下训练自定义数据的整个过程。

yolov4 的 github ,上面讲解的比较详细了。

一、前期准备工作

1、样本数据集的收集

样本需要多样化,其特点:

  • 不同角度
  • 不同大小
  • 不同光照
  • 不同形态
  • 不要过多重复(重复率最好低于80%)

样本的数量是越多越好。

数据收集好了之后,按照 4:1 到  1:1 的比例范围分成两份,多的用作训练数据集,少的部分用作测试数据集。强烈建议不要使用训练数据集作为测试数据集。

2、样本数据的处理

图片的标注直接影响整个 ai 分析的精准度以及预测框的精准度,所以一定要定义好标注的规范文档,规定好每种目标对象的定义是什么,因为在实际的标准过程中,可能不是你自己来标注,所以需要统一每个人的标注。

自己实践过程中整理的标注规范

  • 标注目标物体或者重叠部分
  • 以肉眼能够看清的为标准
  • 标注框只比目标物体大一点,留有一点空隙即可
  • 训练数据集保留少量负样本——不画任何标注框,但是需要生成 txt 文件(把图片在 yolo_mark 工具上过一遍就会自动生成 txt 文件),我的做法是在 10 的整数倍图片上不标注,即 1/10 的样本作为负样本。

如果样本较少,可以少留一点负样本。负样本是增加网络的泛化性的。

  • 标注对象的定义需要清楚

标注图片

使用 yolov4 github 上推荐的 yolo_mark 工具 对 训练数据集、验证数据集进行标注,详情请查阅github 文档。

准备好 obj.names 文件,里面存放的是要训练的类型名称,一行一个类型名称。

例如:obj.names

people
car
ship
dog
...

将该文件放在 yolo_mark/data目录下。注意训练数据集需要保留负样本,而测试数据集是不需要负样本的。

标注完成后,yolo_mark/data/img目录下会自动生成与jpg同名的txt文件;yolo_mark/data目录下会自动生成 train.txt 文件。

3、修改配置和下载预训练模型

yolo-obj.cfg:修改配置请依据 自定义配置  和 不同显卡的模型参数设置  进行修改,讲解的比较详细。

yolov4.conv.137:下载预训练模型

二、darknet 的环境搭建

1、windows 编译环境搭建

使用的编译方式官方文档上推荐的 windows 系统 vcpkg 的方式。(vc 表示的是 Visual c++环境)

需要的环境和版本号(github 上有详细说明)

安装显卡驱动

如果没有安装驱动,没关系,在安装 CUDA 的时候就一起安装。如果安装了,在cmd 使用 nvidia-smi命令查看显卡驱动,并在nvidia官网上查看是否有最新的显卡驱动。

安装 CUDA

官方要求 CUDA 的版本 >= 10.2,所以一定要大于这个版本,最好是先查看nvidia官网当前电脑的显卡支持的版本和驱动,一般来说下载 CUDA 11 就可以了;

在 CUDA Toolkit Archive | NVIDIA Developer 官网地址下载(我下载的是11.4.1),如下截图

在下载过程中,可以阅读对应版本后面的 Online Documentation 在线文档,查看环境,文档截图:

注意,一定要先安装好 VS 环境,CUDA 才能安装成功。(如果没有安装 VS 请看下面的文档,在回来安装)

假设现在已经安装好了对应版本的 VS 环境,直接双击下载的 CUDA exe,解压安装即可。

安装过程中,选择自定义安装,因为经典安装是全安装,包括驱动程序都会覆盖。

(自定义)选择需要安装的组件:

  • CUDA 组件:必须勾选
  • 显卡驱动:如果电脑没有安装显卡驱动或者已安装的版本比当前版本低,直接勾选,否则不用勾选
  • 其他组件:没有安装过显卡驱动或者已安装的比当前版本低,直接勾选,否则不勾选

然后安装,记住安装的 CUDA 位置,等待完成。使用 nvcc -V验证 CUDA 是否安装成功。

安装 Visual Studio

依据 CUDA 中提示的版本信息,到微软官网下载对应版本的 VS,直接下载社区版本的就可以,不需要激活的。

在安装时,工作负荷: C++ 桌面组件,语言包:英文;然后自己修改位置,等待下载组件安装完成。

安装 cuDNN

在 cuDNN Archive | NVIDIA Developer 下载与 CUDA 对应版本的 cuDNN——下载这个需要注册 Nvidia 账号并加入他们的开发者计划中才能下载。

下载后解压,将里面的文件拷贝到 CUDA 的对应目录下即可。

配置 CUDA 的环境变量——一般来说安装 CUDA 后自动配置好了。

安装OpenCV(非必须)

在 opencv 官网 Releases - OpenCV 下载,下载完成后安装。

配置环境变量:OpenCV_DIR=目录\opencv\build

如果需要使用 darkent 进行视频的测试等,可以安装。

三、windows 下的编译和训练

1、编译 darknet

在 https://github.com/AlexeyAB/darknet 上将 darknet 下载下来,文档上推荐 windows 系统上使用 vcpkg 进行编译,在 darknet 目录下 PowerShell 上执行:

.\build.ps1 -UseVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN

命令即可构建成功。如果没有安装 openCV,则不需要 -EnableOPENCV参数。

但是,现实是残酷的,没有这么简单。

-UseVCPKG参数会检查当前目录下是否存在 vcpkg,如果不存在会去 github 上拉取,我遇到的情况是,不翻墙拉不动,翻墙后报错,干脆自己翻墙直接下载zip包,解压后将 vcpkg-master 重命名为 vcpkg,再次运行,跳过了拉取,然后在构建过程中接二连三的出现问题,依据提示还分别下载了 ninja(也放在根目录下),升级了 git 客户端、7z 程序,最后再次构建,等待了约30分钟,终于构建完毕了。

构建成功后,会在 darknet/build/x64/release 目录下生成一个darknet.exe

2、组合数据

通过前面的数据准备步骤,我们拿到了如下数据:

  • 标注好的训练数据集
  • train.txt
  • 标注好的测试数据集
  • test.txt(标注测试数据生成的train.txt)
  • obj.names
  • yolo-obj.cfg
  • yolov4.conv.137

我们现在需要对数据与 darkent 组合,做训练前的准备。

train.txt 和 test.txt 中的内容是 data/img/xxx.jpg,由于我将训练数据集和测试数据集分别放在不同的文件夹下面,所以对 train.txt 的 data/img/xxx.jpg 替换为 data/train/xxx.jpg,对 test.txt 的 data/img/xxx.jpg 替换为 data/test/xxx.jpg

目录结构

将如下数据放入到 darknet 目录中,目录结构和数据如下:

darknet/

        |--darknet.exe

        |--data/

                |--train/ (名称自定义)

                        |--标注好的训练数据集,jpg和txt 文件

                |--test/ (名称自定义)

                        |--测试数据集,jpg和txt 文件

                |--train.txt

                |--test.txt

                |--obj.names(标注时使用的文件)

                |--yolo-obj.cfg(修改好的配置文件)

                |--yolov4.conv.137(预训练模型文件)

                |--obj.data(新建)

        |--backup/ (新建)

  • obj.data

obj.data 文件是对数据的组合文件,告诉 darknet 数据文件在哪里,内容如下:

classes = 与yolo-obj.cfg中的classes值一致
train  = data/train.txt
valid  = data/test.txt
names = data/obj.names
backup = backup/
  • backup

backup 文件夹也需要手动先创建一下(obj.data 文件中的 backup 配置项指定的目录),我遇到的情况就是在我不创建的情况下,darknet 不会自动帮我创建,并且需要保存 weights 文件时找不到路径,直接程序闪崩。所以手动创建上。

3、windows 上训练

cmd开始训练命令:

darknet.exe detector train data/obj.data data/yolo-obj.cfg data/yolov4.conv.137 -map

部分参数说明:

-map:打开平均精度曲线

-dont_show:关闭损失图,如果没有 GUI 界面的电脑使用这个参数,不加这个参数启动训练后会自动打开一个实时损失图

-mjpeg_port 8090:如果没有 GUI 但是又想看实时损失图怎么办,使用这个参数打开一个 8090 的web端口,通过浏览器访问这个端口就可以展示了。

-gpus 0,1,2:如果有多个GPU就使用这个参数指定,使用了多个gpu训练,那么学习率就需要用原来的值除以GPU数量,burn_in 等于 GPU 数量*1000

(我的训练过程没那么简单,最下方记录了问题和问题解决方案)

如果训练到中途中断了怎么办?使用下面的命令:

darknet.exe detector train data/obj.data data/yolo-obj.cfg backup/xxx.last.weights -map

可以看到除了使用的模型不一样,其他都一样,xxx.last.weights 就是在训练过程中生成的权重文件,这个权重文件是每迭代100次就把模型参数写入到这个文件,其他的 xxx.1000.weights 等都是1000次才写一次模型参数。

4、什么时候停止

当平均损失在 0.05 到 3 之间,且多次迭代都不下降时,可以停止。如果开启了 map 参数,那么当 map 值比较大时可以停止。

5、验证权重

训练结束后,我们需要验证输出的权重文件,最终选定最好的一个权重,使用以下命令查看指定权重文件的信息:

darknet.exe detector map data/obj.data data/yolo-obj.cfg backup/yolo-obj_7000.weights

上面的命令是对 7000 次迭代的权重验证。

多对几个权重文件进行验证,取 mAP 或 IoU 最大的那个,优先取 mAP 最大的。

校验结果截图:

如上图所示: map=85.48%,IoU=63.73%(倒数的第6行和第8行)

6、训练记录

  • subdivisions 配置对比

对于 2080Ti 显卡,官网推荐的配置是 batch=64,subdivisions=16,但是我依然进行了一个简单的对比验证。

batch=64的情况下

对比项

subdivisions=32

subdivisions=16

loss 下降

初期下降慢

初期下降快

显存占用

5G左右

9-10G

所以最终配置 subdivisions=16 即可。

  • 开启平均精度计算

训练时,使用 -map 参数打开平均精度计算,但是训练到 1000 次的时候提示 cuDNN status error,导致训练中断。

通过google查找资料,发现以经有人遇到这个问题,并将问题提到了 issues 中:

cuDNN Error: CUDNN_STATUS_BAD_PARAM while training · Issue #2367 · pjreddie/darknet · GitHub

cuDNN Error while training -map · Issue #7153 · AlexeyAB/darknet · GitHub

大体的意思就是在计算平均精度的时候出了问题,可以通过修改 darknet 源码或者降低 CUDA 和 cuDNN 的版本来解决(但是也有人降低了版本也没解决),不过可以尝试。

我的解决方案就是先去掉 -map参数,不进行计算。其影响就是在验证权重文件时看不到这个精度,只能通过 IoU 来选择权重文件了。

Darknet框架下如何利用自己的数据集训练YOLOv4模型 本文详细介绍了在Darknet框架下如何利用自己的数据集训练YOLOv4模型 阅读详情

相关推荐

干货-成功darknet_yolov4 训练流程及细节

darknet_yolov4 训练流程及细节1、环境编译2、VOC数据集下载3、修改训练.cfg及.data文件4、cfg配置参数详解5、训练脚本,开始训练6、How to save weight on Linux training?7、控制台输出信息解释 1、环境编译 2、VOC数据集下载 3、修改训练.cfg及.data文件 4、cfg配置参数详解 5、训练脚本,开始训练 6、How to save weight on Linux training? 7、控制台输出信息解释 1.1、下载darknet

Ashinhuang的博客 3373

【全网最全最完整】windows下darknet安装搭建与模型训练方法【亲测有效】

全网最全最完整 零基础傻瓜教学

rye的博客 1万+

YOLOv4 darknet windows10版本训练自己的数据教程

转自:[https://blog.youkuaiyun.com/ly_twt/article/details/105761312] https://blog.youkuaiyun.com/weixin_40841247/article/details/105742022 https://blog.youkuaiyun.com/weixin_44868057/article/details/106498413 https://blog.youkuaiyun.com/weixin_38107271/article/details/106478275 YOLO

TW的博客 1万+

深度学习实战 | WIN10环境下配置Darknet并使用Yolov4-tiny训练Gun-and-Sword数据集

目录 一、准备工作 (一)环境配置 1.cuda和cudnn 2. Visual Studio配置 (二)Darknet安装 1. 下载源文件 2. 编译项目 二、使用Yolov3-tiny进行训练 (一)数据集标注 (二)模型配置 1. 模型文件修改 2. 下载预训练权重 (三)模型训练 (四)模型测试及效果 三、参考资料 一、准备工作 (一)环境配置 1.cuda和cudnn 配置cuda11.1+cudnn11.3,这里提供相应的下载链接,可以去官网下最新的,..

Genms的博客 1897

谷歌Colab训练自己YOLOv3数据集

谷歌Colab用免费GPU训练自己的YOLOv3数据 简介 在迫不得已使用windows作为自己训练数据环境的情况下,可能会遇到以下问题: windows下配置相关环境较为复杂 自己电脑的GPU算力较低或者不支持cuda,GPU显存不足 在此情况下,推荐使用云GPU来实现数据的训练,而Google的Colabortory就提供免费的云端GPU计算服务,并且提供的云服务器中已经配置好了所需的cu...

longlong068的博客 1万+

目标检测框架——Darknet YOLOv4

http://localhost:8888/notebooks/线性回归模型.ipynb

平凡简单的执着 4925

Win10编译GPU版YOLOv4并训练VOC数据集

我的配置写在前面 系统:windows cuda版本10.1 cudnn是cudnn-10.1-windows10-x64-v7.6.4.38 opencv4.3.0 显卡1060 本文参考darknet官方参考https://github.com/AlexeyAB/darknet 编译前别忘了把Makefile文件修改一下 修改后就可以编译了,照之前用cmake配置简单了很多 不知道是不是我的问题,出现报错的解决方法 Copy-Item : 未能找到路径“D:\darknet\share\darkn

ShuheCN的博客 1358

win10下YOLO v3训练自己的数据集

  一、YOLO v3的下载与编译 1、安装VS(YOLOv3支持vs2012、2013、2015,其他版本需要下载工具集)   去https://visualstudio.microsoft.com/downloads/?lang=en下载vs,YOLOv3支持vs2012、2013、2015,其他版本需要下载工具集(本人使用VS2017),下载工具集步骤:在电脑搜索框输入vi,点击Vi...

kk123k的博客 2万+

10分钟上手YOLOv4模型训练:从数据集到部署的零基础完整指南

YOLOv4是一款高效的目标检测神经网络模型,通过Darknet框架实现,支持Windows和Linux系统。本指南将帮助零基础用户快速掌握从环境搭建到模型部署的全流程,让你在10分钟内入门YOLOv4目标检测技术。 ## 📋 准备工作:环境搭建与依赖安装 ### 1. 克隆项目仓库 首先通过Git命令获取项目源码: ```bash git clone https://gitcode.com

gitblog_00567的博客 699

Claude Code 完整使用教程(2026最新版)

《Claude Code 完整使用教程(2026最新版)》摘要: Claude Code 是 Anthropic 公司推出的智能编程工具,通过自然语言对话实现代码编写、调试和重构。本教程基于 v2.1.101 版本,涵盖安装配置、核心功能及最新特性。主要内容包括: 多平台安装方式(macOS/Linux/Windows) 桌面应用专属功能如并行会话、定时任务和语音模式 模型选择指南(Sonnet/Opus/Haiku) 快速入门示例:5分钟创建Node.js项目 核心功能:代码读写、命令执行、Git集成等

程序猿_三产 2万+

从生成到检测:全面解析Deepfake技术的演进与对抗策略

本文全面解析了Deepfake技术的演进与对抗策略,从GAN生成技术到先进的检测手段,探讨了其在娱乐与安全领域的双重影响。文章详细介绍了Deepfake的核心原理、技术迭代关键节点以及最新的检测方法,揭示了AI生成与识别的激烈博弈。同时,展望了量子计算和生物特征认证在未来攻防战中的潜在应用。

jenkins8butler的博客 255

Expo Widgets 深度指南:用 Expo UI 组件构建 iOS 主屏小组件与 Live Activities

`expo-widgets` 是 Expo 官方提供的模块,让你直接使用 Expo UI 的 React 组件(而非系统原生 API)来编写 iOS 主屏小组件(WidgetKit)与 Live Activities(ActivityKit),并通过统一的 JavaScript API 管理时间线(timeline)、刷新与推送更新。本篇基于 Expo 仓库中 [packages/expo-wid

gitblog_00756的博客 839

2025华东杯A/B/C题解题思路+可运行代码参考

这些因素包括但不限于:助滑坡的坡度、运动员的质量、滑雪板的接触面与雪地的摩擦力、空气阻力系数、运动员的体型和衣物形态等。助滑坡是运动员滑行至起跳台前的最后一段坡道,这一段坡道的坡度、长度和运动员的姿势会直接影响到起跳时的初始速度。运动员的滑行速度不仅受助滑坡的坡度影响,还受到摩擦力、空气阻力和重力等多方面因素的影响。通过合理的姿势调整,运动员能够有效减少空气阻力,增加身体的重力加速度,进而提升滑行速度。助滑坡的角度通常介于10°到12°之间,而运动员的滑行速度将受到重力、摩擦力和空气阻力的共同作用。

qq_52590045的博客 1797

Windows10系统下YOLOv4—Darknet训练过程

一.环境准备 Windows10+CUDA10.0+Opencv3.4+VS2017 PS:一定要先安装VS,再安装CUDA,不然会报错,因为这个bug我搞了大半天,还是晚上逛别人博客时才看到的。 1.VS2017安装 https://msdn.itellyou.cn/ 可以去这里下载,安装时选择基本的C++库即可。 2.Opencv安装 二级目录 三级目录 ...

boss-dog 6811

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南

本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。

weixin_29313239的博客 413

流媒体服务软件-LiveNVR channeltree 未授权访问

LiveNVR 能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机 IPCamera、NVR 等具有 RTSP/Onvif 协议输出的设备接入到 LiveNVR,LiveNVR 能够将这些设备源的音/视频数据进行采集、转换、输出,进行全平台终端直播(PC、Android、iOS、微信、H5),并且LiveNVR能够将视频源的直播数据对接到第三方 CDN 网络,实现安防设备互联网级别的直播分发。对channeltree接口加上权限校验。直接访问接口即可获取数据。

iSee857的博客 1040

yolov4-tiny训练自己的数据集

一、训练环境 Windows10下编译好的darknet(具体编译可以看),源码地址:https://github.com/AlexeyAB/darknet 二、制作自己的数据集

weixin_54603153的博客 5915

深度学习笔记——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总

本文简要介绍深度学习的前向传播与反向传播,以及前馈神经网络与反馈神经网络。

haopinglianlian的博客 3043

Windows下使用Darknet训练自己的数据集(模型:yolov4-tiny、数据集:垃圾分类)

超级详细的Darknet训练自己数据集的教程博客,使用yolov4-tiny模型进行垃圾分类数据集进行训练!

weixin_52939176的博客 6350

[Dify实战] 项目复盘助手:自动拉数据、生成复盘报告

本文介绍如何利用Dify平台构建自动化项目复盘助手,解决传统人工复盘效率低、易遗漏等问题。系统通过自动拉取Git/Jira等数据源,计算关键指标后,由LLM生成结构化复盘报告。文章详细讲解了数据采集、指标计算、Prompt设计等核心模块的实现,并分享了完整Workflow搭建步骤。实践表明,该系统能将复盘耗时从4小时缩短至10分钟,显著提升数据准确率和执行频率。最后总结了数据一致性、输出质量等常见问题的解决方案,强调Dify+LLM组合可实现复盘流程的自动化流水线。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 118

UCIE Specification详解(五)

Logical Physical Layer(逻辑物理层)

Crazzy_M的博客 1226

基于Darknet的YOLOv4目标检测

一、基于Windows的YOLOv4目标检测 1、环境配置 环境准备:Win10、CUDA10.1、cuDNN7.65、Visual Studio 2019、OpenCV 3.4 (1)Visual Studio2019企业版安装 (2)NVIDIA驱动下载与安装 (3)下载并安装CUDA10.1,下载安装cuDNN7.65 对于cudnn直接将其解开压缩包,然后需要将bin,include,lib中的文件复制粘贴到cuda的文件夹下,比如:C:\Program Files\NVIDIA GPU

分享实践与思考 1万+

android 蓝牙通讯demo

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

Windows10+YOLOv4+Darknet训练自己的数据(二)

Windows10+YOLOv4训练自己的数据(二)一、数据集制作 这篇文章主要讲怎样使用YOLOv4算法作者提供的YOLOv4源码来训练自己的数据集 运行环境的搭建和源码的测试可以参考我的上一篇文章Windows10+YOLOv4训练自己的数据(一) 一、数据集制作 数据集制作的前半部分可以参考我的上一篇文章VOC数据集制作 这里我将讲述数据集制作的下一步 第一步:将我们制作好的数据集VOCData数据集放到** **文件夹下,这里我把VOCData文件夹名字改成了VOCdevkit,改不改都没关系,我

qq_40927867的博客 4074

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

windows环境下YOLOV4源码训练自己的数据集

YOLOV4源码对自己的数据训练,除了数据集,其他主要核心修改文件是.data .names .cfg三个文件,对应源码里面的coco.data,coco.names,yolov4.cfg。最后再加一个预训练权重yolov4.conv.137,这些准备好,就可以开始训练了。 为了方便训练和管理,后续将所有的文件放在our_data文件夹。如下图 1 数据集准备 我采取的是VOC数据集的格式。主要以Annotations,ImageSets,JPEGImages三个文件为主。为了方便,将trai

qq_36795658的博客 3858

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

darknet训练yolov4模型

darknet训练yolov4模型 6.将darknet文件夹下的cfg文件夹下面的yolov4_custom.cfg文件拷贝到前面新建的cfg文件夹下并修改以下几个地方。修改所有的yolo层上面的filters=3*(classes+5),以及yolo层的classes种类数。5.删除图片问价夹里面的classes.txt,然后将标签文件全部移到labels文件夹里面。格式选择yolo格式,保存位置选择图片文件夹。这里用labelImg工具打标签。然后对所有的图片开始打标签。...............

凉_白开的博客 3227

Windows10下使用darknet和YOLOV3训练自己的数据集

win10下训练yolo模型

知来者逆的博客 6422
上一篇: Java实现darknet+yolov4的目标检测
下一篇: Spring boot admin可视化服务监控
网上搬砖
博客等级 码龄6年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值