【AI初识境】给深度学习新手开始项目时的10条建议

一些适合初学者复现的深度学习项目推荐(CNN,GCN,Transformers,U-Net) 可复现的AI项目 阅读详情

这是专栏《AI初识境》的第12篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏足很多的坑。

今天就来说说那些需要掌握的基本技巧,如何避开那些新手常见的坑,以计算机视觉中的图像分类任务为例。

请注意,这篇文章不是教你如何调参,而是教你不要在调参之前胡搞。

作者&编辑 | 言有三

 

1 项目开发之前应该做什么

在你真正开始撸代码之前,送大家一句话,“磨刀不误砍柴工”。

拿到一个任务的时候,先不要上来就开始训模型,而是做好三件事。

1.1、知道你要做的任务是一个什么任务。

以图像分类为例,猫狗分类是一个分类任务,随便找个什么模型都能完成。

鸟类分类也是一个分类任务,但是不简单,不是随随便便拿个模型就能搞定。

表情识别最终也是一个分类,但是这不仅仅是一个分类问题,而是检测+分类问题。

产品经理们只会告诉你要实现什么功能,而不会告诉你用什么方案,对于简单任务来说这可能不需要思考,但是复杂任务一定要先充分调研认识。

你说上面的这个例子很简单,一眼就明白,那么我再举出几个例子,你是否一下子就能明白背后的核心技术?

1.2、找到竞争对手,做好预期。

比如你要做一个表情识别API,要做一个美颜算法,一定要先看看你的竞争对手做的怎么样了,就算最后你做出来跟别人还差十万八千里,也不至于到最后一刻才发觉。这叫知人之明和自知之明,一定要先有。

在这个过程中,基本上就能确定要走的路,第一条路是追随模仿别人,第二条路是超越别人,这两者是不一样的。

前者,只要把已有成熟的资料收集到位,经验足够丰富,必定能成功,否则就是个人能力和资源问题。这样的一条路,相信老大们会给你布置一个明确的时间节点。

比如表情识别,很成熟,那你做出来也不能比别人差太多。

如果是第二条路,那么就意味着没有参考者,或者参考者做的也不行。那么最难的是什么,就是预期能做到什么水平。

可能技术已经成熟了,没人做,恭喜你,赶紧搞。

可能技术比较前沿,能做技术储备,但是还无法落地。

可能根本就还做不了。

1.3、想好你需要什么样的数据,从源头上降低任务的难度。

在公司干了四年活,大部分项目都需要自己准备数据,不会有现成的数据可以使用,而如何准备数据,这是需要经验的。

举个最简单的例子,假如我们需要开发一个分类算法来分析一张图片中的人是不是在笑,图像可能是这样。

你会爬取或者从数据集中拿到很多不同表情的数据然后就直接开干吗?显然那是错误的路子。

开始一个任务后我们首先就应该想怎么降低任务的难度,对于此任务,起作用的只有嘴唇这块区域,那么我们完全可以基于嘴唇区域来训练一个分类模型。

高精度成熟的人脸检测和关键点检测算法是很多的,所以你可能需要准备的训练数据是这样的。当然,如果你直接基于关键点的结果来做也是可以的,这就回到了第一个问题了。

这样至少有两个好处,(1) 明显这个分类更加简单了。(2) 可以使用更小的输入图完成任务,计算代价也更低。

 

2 训练模型从哪里开始

很少有一个任务可以拿现有的模型使用,你通常是需要训练自己的模型的,那么在训练一个模型的时候,应该怎么样开始。

这里牵涉到3个问题,框架,基准模型和数据,其中任何一环都有可能有问题。

2.1、首先确定框架

没有一个深度学习任务不需要一个框架来训练,很多的时候你不得不在不同的框架之间进行切换。比如做分类分割或者检测,caffe都很好用。做风格化搞GAN,就得上tensorflow或者pytorch了,你一定要先选择一个工具,不然很可能会陷入找到了很多中github方案,这个试了遇到困难换下一个,下一个又遇到困难。

有自己最拿手的一个框架,选定项目就坚定地干,遇到了问题就去解决。

关于框架,大家可以从我们的系列文章中开始快速上手。

【Keras速成】Keras图像分类从模型自定义到测试

【paddlepaddle速成】paddlepaddle图像分类从模型自定义到测试

【pytorch速成】Pytorch图像分类从模型自定义到测试

【tensorflow速成】Tensorflow图像分类从模型自定义到测试

【caffe速成】caffe图像分类从模型自定义到测试

【mxnet速成】mxnet图像分类从模型自定义到测试

【cntk速成】cntk图像分类从模型自定义到测试

【DL4J速成】Deeplearning4j图像分类从模型自定义到测试

【chainer速成】chainer图像分类从模型自定义到测试

【MatConvnet速成】MatConvnet图像分类从模型自定义到测试

2.2、然后确定基准模型

最终工业级部署的时候,你往往需要一个效率更高的模型。但是除非你是老司机,否则不应该在还没有确定方案是否可行的时候就想自己的模型,而是应该从一个绝对可靠的模型开始,比如resnet18,比如mobilenet,正确地使用好它们,得到还不错的结果,将它的结果作为你自己算法要PK的对象。

关于基准模型,我们已经把最主要的模型全部解读了一遍,可以从中选择。

【完结】总结12大CNN主流模型架构设计思想

【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

【模型解读】network in network中的1*1卷积,你懂了吗

【模型解读】GoogLeNet中的inception结构,你看懂了吗

【模型解读】说说移动端基准模型MobileNets

【模型解读】pooling去哪儿了?

【模型解读】resnet中的残差连接,你确定真的看懂了?

【模型解读】“不正经”的卷积神经网络

【模型解读】从“局部连接”回到“全连接”的神经网络

【模型解读】深度学习网络只能有一个输入吗

【模型解读】“全连接”的卷积网络,有什么好?

【模型解读】从2D卷积到3D卷积,都有什么不一样

【模型解读】浅析RNN到LSTM

【模型解读】历数GAN的5大基本结构

2.3、最后准备好数据

在前面你想好自己需要的数据了,接下来就是去采集到这些数据。完成一个项目,就是不断迭代模型和数据的过程。

刚开始的时候,你不需要数据都到位,但是要考虑好以下因素。这里我们不管数据是自己采集的还是从公开数据集中获取的。

(1) 准备大小合适的数据量。以二分类任务为例,你不能拿500张图就开始干,没任何意义。你不能苛求一开始就有50000万数据,也不合理,万一搞失败了还浪费资源。笔者先后做过10余个分类任务,完成任务上线从3000到10万都用过,我的建议是,尽量先准备个3000数据再开干,不然就太没诚意了。

(2) 从简单数据开始。以人脸识别为例,各种公开数据集不要混着用,分布不一致难度也不相同,你应该先专注简单的属于同一个分布的,比如找10000个正脸或者姿态小的数据,方案验证通过之后再增加难度。

很多的时候,你还要考虑覆盖各种场景(光照,背景)等。以上的这些东西,书不会告诉你,培训也没法教你,需要的是自己的积累,厚积薄发。

培养对数据的敏感性,可以从咱们的数据相关的文章开始看。

【数据】深度学习从“数据集”开始

【技术综述】深度学习中的数据增强(下)

[综述类] 一文道尽深度学习中的数据增强方法(上)

 

3 正确训练模型的基本常识

终于讲到训练模型了,程序员干活从来不会一帆风顺,你的小模型不会这么听话,以下是一些必须要注意的事项,不管用什么框架都适用。

3.1 注意网络的输入大小

你极有可能是从finetune其他的模型开始,以图像分类为例,公开的模型大多是以224*224为尺度,而你的任务未必也需要这样。

如果你想要区分不同种类的鸟,那么因为细节在鸟的局部身体部位,你的输入恐怕是要更大一些才能提取到好的特征,比如放大一倍,用448*448,这也是论文中常用的。

如果你只是要区分不同表情,用上了上面的嘴唇数据,那224*224纯属浪费,你可能只需要一个48*48的输入就足以很高准确率完成任务。

对于图像分割和目标检测,标准又不太一样。究竟使用多大的输入,这需要你依靠经验来确定,而且还和能给你多少资源,以及自己优化模型的能力相关。

3.2 注意特征输出大小

前面说了输入,这里再说输出,包括最后一层卷积的大小和通道数等。

首先看大小,对于一个分类任务来说,最后卷积层抽象为一个k*k的特征图,然后进行池化,全连接。如果这个特征图太大,知识根本就没有抽象出来,如果太小,表征能力又可能不够。

根据不同的难度,3*3,5*5,7*7我都用过,但是没有用过9*9以上的,试过分类性能会下降,计算量还增加。imagenet竞赛的那些网络基本上都是7*7,兼顾了性能。

这个输出大小,就由输入大小和网络的全局stride来决定,不断遇到很多同学没有注意这个问题,结果模型性能很差的,这是基本素质。

3.3 正确地使用数据

前面已经准备了一些好的数据,别在用的时候却搞错了,对于图像分类来说有以下几个准则

(1) 随机打乱你的数据。

否则每个batch给的是同样类别的数据,不一定能保证模型学的正常。

(2) 在线做一些基本的数据预处理和增强。

图像缩放操作,你要想好是用有变形的缩放,即统一缩放到固定大小。还是等比例缩放,即把短边缩放到一定尺度。

裁剪操作,随机裁剪是最简单有效的数据增强方案,一开始就可以做起来,比如256*256随机裁剪224*224,不必要过于复杂。

镜像操作,也就是mirror参数,不是所有的任务都可以翻转的,根据自己任务使用。

减均值和归一化操作,其实这一步倒并非必要,因为网络自然可以学习到这一点。不过你做一下,通常不会有副作用。

更多的数据增强先不要急着做,因为那会增加网络优化的难度和时间。

这些操作都要在线做而不是离线准备好存入本地文件,这是很低效的。

3.4 正确地进行训练

接下来就开始训练,你可能会遇到各种与自己期望不相符的结果,其中一些很可能是你自己的错误造成的,因此有一些基本的训练参数需要注意。

(1) 用好学习率策略。

如果你没有经验,就不要一开始就使用SGD,虽然它可能取得更好的结果。直接用Adam,并且使用它的默认参数m1=0.9,m2=0.999,lr=0.001,学习率可以调整,其他两个参数基本不需要动。更多比较可以参考我们之前的文章。如果你的学习率搞的不好,很可能出现梯度爆炸或者不收敛。

【模型训练】如何选择最适合你的学习率变更策略

【模型训练】SGD的那些变种,真的比SGD强吗

(2) 正确使用正则项。

weight decay是一个非常敏感的参数,如果你不是很有经验,从一个很小或者为0的值开始。

训练的时候可以用dropout,测试的时候是不需要用的。

(3) 正确使用BN层。

Batch Normalization是一个好东西,加快训练速度降低过拟合,但是你要注意它在训练的时候和测试的时候是不一样的。

use_global_stats这个参数在训练时是false,测试时是true,如果你没用对,那么可能训练无法进行,或者测试结果不对。

在训练过程中,你可能会遇到各种各样奇葩的问题。

比如网络loss不正常,怎么调都不管用。

比如训练好好的,测试就是结果不对。

bug天天有,深度学习算法工程师遇到的特别多,如果你想交流更多,就来有三AI知识星球实时提问交流吧,大咖众多,总有能解决你问题的。

初识境界到此基本就结束了,这一系列是为大家奠定扎实的深度学习基础,希望学习完后大家能有收获。a

AI白身境系列完整阅读:

第一期:【AI白身境】深度学习从弃用windows开始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】学AI必备的python基础

第四期:【AI白身境】深度学习必备图像基础

第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础

第六期:【AI白身境】只会用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】学深度学习你不得不知的爬虫基础

第八期: 【AI白身境】深度学习中的数据可视化

第九期:【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

第十期:【AI白身境】一文览尽计算机视觉研究方向

第十一期:【AI白身境】AI+,都加在哪些应用领域了

第十二期:【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

AI初识境系列完整阅读

第一期:【AI初识境】从3次人工智能潮起潮落说起

第二期:【AI初识境】从头理解神经网络-内行与外行的分水岭

第三期:【AI初识境】近20年深度学习在图像领域的重要进展节点

第四期:【AI初识境】激活函数:从人工设计到自动搜索

第五期:【AI初识境】什么是深度学习成功的开始?参数初始化

第六期:【AI初识境】深度学习模型中的Normalization,你懂了多少?

第七期:【AI初识境】为了围剿SGD大家这些年想过的那十几招

第八期:【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

第九期:【AI初识境】如何增加深度学习模型的泛化能力

第十期:【AI初识境】深度学习模型评估,从图像分类到生成模型

第十一期:【AI初识境】深度学习中常用的损失函数有哪些?

第十二期:【AI初识境】给深度学习新手开始项目时的10条建议

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI!

新手如何进入人工智能领域:从零开始的实践与建议 进入人工智能领域并不容易,但只要你明确自己的兴趣方向,夯实基础知识,并且通过持续的学习与实践,不断积累经验,你将逐渐在AI这个广阔的领域中找到自己的位置。AI的未来充满了机遇和挑战,作为新手,不要害怕从零开始,勇敢地踏上这条探索之路,你的努力定会在未来得到回报。 阅读详情

相关推荐

人工智能AI 机器学习ML 深度学习DL 和 神经网络NN 的关系

人工智能 机器学习 深度学习 神经网络 的关系

自动驾驶汽车和机器人技术爱好者 1986

【AI初识境】给深度学习新手做项目的10个建议

这是专栏《AI初识境》的第12篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏...

hacker_long的专栏 1212

详解人工智能(AI) 机器学习(ML) 深度学习(DL)

有三个词,这两年出现的频率越来越高:人工智能(AI),机器学习(ML),深度学习(DL),到底他们哥仨是什么关系?今天小编化繁为简,用几张图带你迅速看明白。关系如图,从提出概念的时间上来看也很清楚: 人工智能AI:模拟人脑,辨认哪个是苹果,哪个是橙子。 机器学习ML:根据特征在水果摊买橙子,随着见过的橙子和其他水果越来越多,辨别橙子的能力越来越强,不会再把香蕉当橙子。 机器学习强调“...

ShuYunBIGDATA的博客 3756

深度学习图像分类 如何使用PyTorch对含525种鸟类数据集进行图像分类任务鸟类分类图像数据集的训练及应用

深度学习图像分类 如何使用PyTorch对含525种鸟类数据集进行图像分类任务鸟类分类图像数据集的训练及应用

2401_88440984的博客 701

初学者如何从零开始学习人工智能?看完你就懂了

此文是想要进入人工智能这个领域、但不知道从哪里开始的初学者最佳的学习资源列表。一、机器学习有关机器学习领域的最佳介绍,请观看Coursera的Andrew Ng机器学习课程。 它解释了基本概念,并让你很好地理解最重要的算法。有关ML算法的简要概述,查看这个TutsPlus课程“Machine Learning Distilled”。“Programming Collective Intellige...

dujiahaogod的博客 1万+

【AI人工智能学习】GitHub 上适合初学者的 10 个最佳开源 AI 项目

人工智能(Artificial Intelligence, AI)是计算机科学的一个分支,旨在研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新的技术科学。它涵盖了多个领域,如机器学习、计算机视觉、自然语言处理和专家系统等,旨在使计算机可以像人类一样进行思考和决策。人工智能的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能是一门交叉学科,结合了数学、计算机科学、心理学、哲学等多个学科的理论和技术。AI 的研究目标是让计算机可以像人类一样进行思考和决策。

AI天才研究院 2万+

深度学习入门项目——附代码(持续更新)

定义变换)]))])

SharePython的博客 729

Java 人工智能应用:使用 DL4J 实现深度学习算法

本文介绍了如何使用Java深度学习库DL4J实现深度学习算法。DL4J是为Java开发者设计的开源分布式深度学习库,可与Hadoop和Spark集成处理大规模数据。文章详细讲解了DL4J开发环境的搭建步骤,包括Maven依赖配置和Java环境准备。重点演示了如何使用DL4J构建多层感知机(MLP)模型,涵盖数据准备、模型构建、训练和评估的完整流程。通过示例代码展示了如何实现数据预处理、神经网络配置、模型训练和性能评估,为Java开发者提供了深度学习应用的实践指南。文中采用的MLP模型适用于二分类问题,可作为

shrgegrb的博客 2478

「AI初识境」给深度学习新手做项目的10个建议

https://www.toutiao.com/i6695505977921241604/ 这是专栏《AI初识境》的第12篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏足很多的坑。 今天就来说说那些需要掌握的基本技巧,如何避开那些新手常见的坑,以计算机视觉中的图像分类任务为例。 请注意,我...

喜欢打酱油的老鸟 661

深度学习新手入门练习项目

Access the notebooks in the notebooks directory in this repo. You can run these notebook on Google Colab (recommended) or on your local machine. Click on a notebook and replace https://github.com/ with https://colab.research.google.com/github/ in the notebook URL or use this Chrome extension to do it with one click. Sign into your Google account. Click the COPY TO DRIVE button on the toolbar. This will open the notebook on a new tab. Rename this new notebook by removing the Copy of part in the title. Run the code, make changes, etc. and it's all automatically saved to you personal Google Drive.

GitHub上最受欢迎的57个深度学习开源项目

GitHub上最受欢迎的57个深度学习开源项目,搜集版本的

【深度学习-Day 1】为什么深度学习是未来?一探究竟AI、ML、DL关系与应用

欢迎踏上深度学习(Deep Learning, DL)的探索之旅!近年来,人工智能(Artificial Intelligence, AI)浪潮席卷全球,而深度学习正是驱动这股浪潮的核心技术之一。无论你是对 AI 充满好奇的初学者,还是希望在技术领域深耕的开发者,理解深度学习都至关重要。本专栏旨在系统性地引导大家从零基础入门,逐步掌握深度学习的核心概念、关键技术和实战应用。

吴师兄大模型的博客 7375

如何从零开始构建深度学习项目,这里有一份详细的教程1

DL背景。简单灵活设计初始要简单、小巧。在学习阶段,人们脑海中会充斥大量很酷的观念。我们倾向于一次性把所有细节都编码进来。但这是不现实的,最开始就想要超越顶尖的

【AI】人工智能深度学习入门路线

人工智能入门路线 Python 视频:小甲鱼(b站) 实战:慕课网(初识Python Python进阶) 机器学习 视频:吴恩达(Coursera/b站) 实战:linyubobobo(慕课网) 博客:优快云博客 深度学习 视频:吴恩达(Coursera/b站) 第一课:神经网络与深度学习 第二课:改善深层神经网络:超参数调试、正则化以及优化 第三课:结构化机器学习项目 第四课:卷积神经网络 第五课:序列模型 博客:优快云博客 视频:CS230 Pytroch 资料:官方Tutorial英文 中文翻

赵继超的笔记 6529

ESP32S3开发实战:从Vscode+IDF环境配置到OpenOCD单步调试全流程

本文详细介绍了ESP32S3开发环境的完整搭建流程,重点讲解如何在Vscode中配置ESP-IDF开发框架,并利用OpenOCD工具实现硬件单步调试。内容涵盖从环境准备、工程创建、代码烧录到高级调试技巧的全方位实战指南,旨在帮助开发者快速掌握ESP32S3的高效开发与调试方法。

weixin_29168813的博客 211

从打印攻击到视频重放:手把手用OULU-NPU训练你的第一个活体检测模型

本文详细介绍了如何使用OULU-NPU数据集训练活体检测模型,以应对打印攻击和视频重放等安全威胁。通过PyTorch框架,从环境准备、数据加载、预处理到模型架构设计,手把手教你构建一个高效的双流网络,结合CNN和LSTM技术,提升模型在多种攻击场景下的检测准确率。

weixin_29092031的博客 387

【AI初识境】从3次人工智能潮起潮落说起

文章首发于微信公众号《有三AI》 【AI初识境】从3次人工智能潮起潮落说起 专栏《AI白身境》已经完结,今天开始这个系列的第二个专栏《AI初识境》。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 第一篇,我们就来说说人工智能的简单历史,通常来说业界公认包括三个重要的历史阶段。 作者&编辑|言有三 01什么是智能 智能,即Intelligence,那什...

hacker_long的专栏 4927

ctftools-all-in-one使用说明

OAEP (Optimal Asymmetric Encryption Padding) 是一种用于RSA加密的填充方案,目的是提高RSA加密的安全性。在CTF比赛中,如果模数N的两个因子比较接近,使用"费马分解(N)"可能会更快地得到结果;OAEP 是 RSA 的一种标准填充方式(在 PKCS#1 v2.0+ 中定义),因此这类题目本质上仍是 RSA 题,但。,导致你不能直接用常规的 RSA 解密公式 �=�� mod �m=cdmodN 得到有意义的明文。如果你在 CTF 中遇到 RSA 题,

2501_91682449的博客 1723

超多新手入门人工智能项目汇总

大白在制作AI内容平台www.jiangdabi.com时,编写很多有趣好玩的人工智能项目。 写的超级详细,项目简介+原理简述+软件安装+环境安装+代码运行,基本完全新手,都可以用笔记本电脑进行尝试。 比较有意思的是,这些项目家里三岁的宝宝也喜欢玩。 那是不是可以说,现在三岁的娃都开始学习人工智能了,你还不参与吗? 比如宝宝在笔记本电脑上,尝试超级赛亚人的人脸特效。 其中用到了人脸检测、人脸关键点定位、Opencv图像处理等算法,使用Python编程。 他玩的很津津有味,当然还有各种项目,代码都放在下面,

江南研习社 5242

SpringBoot与Flowable整合:构建高效审批工作流的实战指南

本文是一份SpringBoot与Flowable整合构建高效审批工作流的实战指南。通过一个经典的二级审批场景,详细介绍了从项目搭建、BPMN流程设计、核心服务编写到RESTful API构建的完整步骤。文章深入探讨了如何利用Flowable工作流引擎实现审批流程的自动化驱动与灵活管理,并分享了变量管理、监听器、异步执行等进阶技巧与常见避坑指南,帮助开发者快速构建健壮、可维护的企业级审批系统。

qsc9012345的博客 521

aruco_ros实战:从USB摄像头到Marker位姿检测全流程解析

本文详细解析了使用aruco_ros从USB摄像头实现ArUco Marker检测与位姿估计的全流程。内容涵盖环境搭建、核心launch文件配置、可视化调试、位姿数据解析以及深度优化技巧,帮助开发者快速掌握ROS下的视觉定位关键技术,并集成到机器人项目中。

weixin_29230805的博客 265

AI, ML, DL的区别

人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)经常混叫,虽然没有非常准确的定义,但基本上是下面这些图所表示的关系。借用知乎上面的图。 简单点一句话:ML是AI的一种实现方法,DL是ML的一种方法。

Tony's Blog 3万+

【Ellisys】【使用技巧】【二】

支持所有常见的编码器和协议实时播放或保存(无线和HCI)循环播放导出与其他视图协同(OverView 和 Spectrum)可以通过下面的位置看 重传的包。

奔跑吧 android 的博客 137
上一篇: 【AI初识境】给深度学习新手做项目的10个建议
下一篇: 【杂谈】从GitHub上星星最多的男人开始发GitHub综述资料
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

言有三

三人行必有AI

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

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

打赏作者

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

抵扣说明:

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

余额充值