gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过...

gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过..._第1张图片

上一次写了篇薅 GPU 百度 AI Studio 计算资源的文章,收到很多 AI 算法初学者私信,问我能不能补充一些 AI Studio 的学习资源。有求必应向来是我的风格,于是我加入了 AI Studio 和飞桨(PaddlePaddle)开发者 QQ 群,为大家收集了一些资源,涵盖了从入门到高阶的各种常用算法和代码。为了阅读连贯性,本文先简单介绍一下 AI Studio,然后讲解下免费 GPU 资源政策的变化与怎么拿,最后按照从入门到高阶,介绍一些能帮助你尽快掌握各种算法的资源。1
AI Studio是什么 AI Studio 是百度提供的一个针对 AI 学习者的在线一体化开发实训平台。平台集合了 AI 教程,深度学习样例工程,各领域的经典数据集,云端的运算及存储资源,以及比赛平台和社区。你可以把 AI Studio 看成国产版的 Kaggle。和 Kaggle 类似,AI Studio 也提供了 GPU 支持,但百度 AI Studio 在 GPU 上有一个很明显的优势。  Kaggle 最近把 Tesla K80 的 GPU 升级到了 P100,确实比以前快不少,但 AI Studio 采用的是 Tesla V100 的 GPU,更胜一筹。下表对比了两款 GPU 性能:

gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过..._第2张图片

AI Studio 提供了基于 ipython 和 Jupyter Notebook 的在线方案, 几乎是当前所有机器学习/深度学习的主流方案。AI Studio 支持的深度学习框架是飞桨。比起偏向于研究的 TensorFlow,飞桨偏向于应用。通常 TensorFlow 的几行代码,飞桨一行就解决了。个人感觉飞桨对于初学者来说还是很友好的。2

如何获得免费算力卡

我之前写过一篇文章关于如何薅百度 AI Studio 的 GPU 羊毛的文章, 详细的大家可以参考一下。不过距离上次薅羊毛到现在也三个月过去了,百度的免费 GPU 算力政策发生了变动,而且是往更好的变动。之前是每日运行项目送 12 个小时算力,现在是每天送 24 小时!我的天,这意味着可以 7*24 的不间断的跑,用之不竭啊!我跑了一下项目,算力卡马上来了。  目前在开发者 QQ 群里听到的消息是至少持续一个月的赠送,不知道下个月还有没,所以大家赶紧薅起来,好好利用这免费的高性能 GPU 资源来「炼丹」。  获取算力方法使用资格很简单。点进 https://aistudio.baidu.com/aistudio/questionnaire?activityid=525 ,按照内容提示填写好信息,审核后管理员会给你发放一批算力卡。有了这批算力卡你就可以开始在 GPU 你的项目,而且运行项目又送算力卡,就像鸡生蛋蛋生鸡一样,算力取之不竭。 3 AI Studio精选项目大合集 点击 “阅读原文”或打开以下链接查看所有项目: 

https://aistudio.baidu.com/aistudio/messagedetail/42 

零基础新手如何利用好AI studio  熟悉 Python 的读者可以跳过这节。纯新手可能还不知道怎么用 AI Studio。其实很简单。下面提供了很多教程,都是 jupyter notebook 形式的。你点开链接,会看到一个 fork 按钮,然后在弹出的框里,输入项目名称和项目名字。 

gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过..._第3张图片

完成后,会弹出对话框问你是否现在运行。

gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过..._第4张图片

点击”运行项目”,就会为你打开一个运行环境。  进去之后,点击”运行”按钮,弹出选择环境。

gpu编程如何一步步学习_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过..._第5张图片

然后选择运行环境。没算力卡?没关系。点击上面的点击申请,按照提示一步步点进去,提交成功后一段时间就有免费的算力拿了。   以下的所有链接都是一个个 Jupyter Notebook,想要修改代码和运行的话,就按照上面说的步骤 fork 了然后运行。   深度学习新手入门项目合集:

https://aistudio.baidu.com/aistudio/projectdetail/128773

  即使你是 Python 新手也没关系,AI Studio 社区提供了新手入门教程,不需要你在本地搭建环境,直接在 AI Studio 提供的环境跑例程,增删改代码,测试自己的想法。Python 新手项目:《 Python 零基础速成课》。   学完了上面的新手 Python 课程,在开始深度学习前想实战一下 Python 技巧?这里有个 Python 爬虫项目,教你从豆瓣爬电影数据,很适合用来巩固 Python 技巧,而且项目还教你用数据帧(dataframe)格式来显示爬来的数据,为后续学习机器学习项目打好基础,请参照:《 Python 入门-豆瓣电影爬取》。   做完上述的分类器是否找到了一点入门的感觉?做点实用的吧。买房是每个人的人生大事?机器学习是否能让你预测房价未来走势呢?下面这个示例项目将采用线性回归模型,带着你探索这个问题,可查看:《波士顿房价预测》。   通过以上问题,是否对机器学习更有感觉了? 是否觉得以上模型太简单,无法跟上你快速进步的步伐?好嘞,现在开始学习深度学习模型。首先从计算机视觉入门。   计算机视觉入门最基础的一个数据集是 MNIST。MNIST 共包含了 70000 个手写数字图像,数字范围从 0-9。我们现在就要开发一个模型,让模型能分辨手写的  0-9,详情请查看《深度学习入门 CV-手写数字识别》。   是否太容易就到达 90% 多的准确率?没事,这里有不一样的 MNIST 数据,叫 fashion-mnist,但这次不是手写数字,而是十类时装(T-Shirt、连衣裙、鞋子、外套等),你还能保持同样高准确率吗?详情请查看《 Fashion-MNIST 数据集》。 除了计算机视觉,NLP(自然语言处理)也是深度学习里很热门的领域。想入门 NLP,何不先试试文本分类呢?详情请查看《深度学习入门  NLP-文本分类》。 如果你是一个新手,经过上述项目的训练,你应该算是稍微入门了。接下来就是要进阶了。

1. 进阶学习者如何利用好AI Studio学习深度学习算法

深度学习进阶总是痛苦的,主要的原因是没有足够示例,有示例也不够详细,有详细的示例但又不知道从哪个看起。为了让读者快速入门,我按照从容易到复杂的顺序,总结了一些示例,根据示例所属的领域,难易程度,我分了两个主要部分:  
  • 计算机视觉(CV)
  • 自然语言处理(NLP)
 

计算机视觉(CV)

项目地址:

https://aistudio.baidu.com/aistudio/projectdetail/128832

   首先我们可以学习与实践下图像分类的算法。 图像分类是根据图像的信息将不同类别图像区分开来, 是计算机视觉中重要的基本问题。图像分类按粒度粗细也分两种,粗细度的是识别类型,比如这是猫还是狗;细粒度是给你一张照片,让你用模型识别这是缅因猫,还是挪威森林猫。   现在我们先做粗粒度的猫狗识别分类器。我们的任务是训练一个分类器,去分辨哪些是猫,哪些是狗。详情请查看《 卷积神经网络实践-猫狗分类》。   如果你掌握了上面的猫狗分类器,那恭喜你,对深度学习图像分类模型又有了更进一步的了解。接下来我们要做细粒度的东西,是什么呢?就是现在很火的人脸识别。下面介绍个简单的人脸识别模型。这个模型还能识别出章子怡的照片呢!想知道怎么弄的吗?点开链接探究吧。详情请查看《 卷积神经网络-人脸识别初探》。   你也许学习完上面两个示例,会提出疑问,猫狗识别是判断一张照片里面的是猫还是狗,但一张照片里如果有 10 只猫,5 只狗该怎么办?模型真的知道那个物体是目标吗?有什么办法让模型知道目标呢?那就要先使用目标检测,把猫猫狗狗的位置圈定出来,然后再逐一处理。顺便一提,听起来高大上的无人驾驶技术,目标检测也是其核心技术之一哦。接下来介绍几个目标检测的模型。   主流的目标检测算法主要分为两个类型: 1)two-stage 方法,其主要思路是先通过启发式方法(selective search)或者 CNN 网络产生一系列稀疏的候选框,再对这些候选框进行分类与回归。two-stage 方法的优势是准确度高;代表算法是 R-CNN 系列算法。想更深入研究是怎么回事?AI Studio 社区提供了详尽的 Mask RCNN 教程: https://aistudio.baidu.com/aistudio/projectdetail/122273 除了 Mask RCNN,另一个齐名的是 Faster-RCNN:

https://aistudio.baidu.com/aistudio/projectdetail/122275

  2)one-stage 方法,如 YOLO 和 SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用 CNN 提取特征后直接进行分类与回归,整个过程只需要一步,所以其优势是速度快(所以在移动设备等低性能平台上常用),但是均匀的密集采样的一个重要缺点是训练比较困难,这主要是因为正样本与负样本(背景)极其不均衡,导致模型准确度稍低。 我在 AI Studio 社区找到了 YOLO 和 SSD 的教程。   YOLO 教程使用的数据集是自定义的螺丝螺母数据集,以下教程涵盖了 YOLO v3 和 YOLO v3-tiny,不仅让你能学好 YOLO,而且还提供了可以部署在低能耗设备上的模型。   接下来要介绍的是 SSD。下面这个教程使用的是基于预训练好的 mobile-net 训练的 SSD,使用的数据集是 pascal-voc。 关于计算机视觉的进阶内容先介绍到这里,接下来介绍进阶的 NLP 内容。还想学更高阶的 CV 模型算法请移步到下一章。

自然语言处理 (NLP)

项目地址: https://aistudio.baidu.com/aistudio/projectdetail/128857   我们又回到了 NLP 技术领域了。  假设我们已经学过前面爬豆瓣的那课, 我们获取了某部著名电影的评论, 我们怎么知道它的口碑究竟如何呢? 通过这篇文章, 我们可以透过语言直接看到人类的情绪。不过为了方便起见,我们下面这个例子并不直接用之前采集的数据集,而是用的是已经处理好的 IMDB 电影数据集。详情请查看《循环神经网络 NLP-情感分类》。 其实情感分类是一个很重要的技术,我之前做过对股票市场的情感分析算法,可以找出市场情感对股市走向的影响。不过如果你觉得情感分类还是太简单的话,那恭喜你,你的进步是飞快的。那你接下来可以试试更难的,就是机器翻译。飞桨框架收集了一个叫 WMT-14 的数据集,提供了 193319 条训练数据和 6003 条测试数据,应该够你探索的了。详情请查看《 深度学习进阶 NLP-机器翻译》。  

2. 高阶学习者如何利用好AI studio

和前面一样,还是分计算机视觉和NLP(自然语言处理)两个主要方向来介绍项目。

计算机视觉(CV)

分类识别还不够?来个人体姿态估计和追踪的项目来轰炸一下你的大脑吧。下面这个项目是尝试复现论文 Simple Baselines for Human Pose Estimation and Tracking 里的结构。项目名:《人体姿态估计与追踪之关键点检测》。   接下来介绍一个激动人心的技术:GAN。生成对抗网络(Generative Adversarial Network,简称 GAN)是一种非监督学习的方式,通过让两个神经网络相互博弈的方法进行学习。 GAN 由一个生成网络和一个判别网络组成,生成网络从潜在的空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能的分辨出来。而生成网络则尽可能地欺骗判别网络,两个网络相互对抗,不断调整参数。生成对抗网络常用于生成以假乱真的图片。此外,该方法还被用于生成影片,三维物体模型等。我们将利用 GAN,做个图像风格迁移的项目:《风格迁移之图像翻译  Pix2Pix》。  

自然语言处理(NLP)

现在对话聊天机器人是很火的方向。但是要使得聊天机器人表现得懂用户,那就需要识别对话情绪。专注于识别智能对话场景中用户的情绪。在这方面百度发布了自己的模型 ERNIE。通过建模海量数据中的词、实体及实体关系,学习真实世界的语义知识。相较于 BERT 学习原始语言信号,ERNIE 直接对先验语义知识单元进行建模,增强了模型语义表示能力。下面这个项目将带你学习 ERNIE: 《ERNIE 对话情绪识别》。 之前我们讲过语言情感分类和语言翻译,你会觉得这不是很简单吗,对机器来说小儿科。但如果让机器来做阅读理解呢,或者让机器去回答问题呢,有想过吗?有个模型的提出让以上这些问题都有了希望,这个模型就是 BERT(Bidirectional Encoder Representations from Transformers)。想知道 BERT 是什么,怎么工作的?下面这个项目能帮到你:《语义表示模型  BERT》。 机器阅读理解(MRC)是自然语言处理(NLP)中的关键任务之一,需要机器对语言有深刻的理解才能找到正确的答案。机器阅读理解领域有个著名的模型叫 BiDAF 模型 Bi-Directional Attention Flow for Machine Comprehension。下面这个项目将会帮助你了解更多:《机器阅读理解之  BiDAF 模型》。  

3. 其他AI Studio上的学习项目

由于 CV 和 NLP 是热门研究领域,以上项目都只提到 CV 和 NLP。但深度学习的研究范围和应用范围很广,只是限于篇幅原因不能一一详尽。为了照顾到更多领域的读者,以下还收集了一些推荐算法的 AI Studio 的项目,这里仅列举一下,不再一一介绍。有兴趣的读者可以研究下。
  • 基于飞桨PaddlePaddle的SR-GNN推荐算法

    https://aistudio.baidu.com/aistudio/projectdetail/124382

  • 个性化推荐之多视角Simnet模型

    https://aistudio.baidu.com/aistudio/projectdetail/122294

  • 飞桨PaddlePaddle分布式推荐算法实践

    https://aistudio.baidu.com/aistudio/projectdetail/124378

  • 用飞桨PaddlePaddle实现个性化推荐

    https://aistudio.baidu.com/aistudio/projectdetail/127567

  • 标签推荐算法之TagSpace

    https://aistudio.baidu.com/aistudio/projectdetail/122298

  • 推荐算法gru4rec之飞桨PaddlePaddle实现

    https://aistudio.baidu.com/aistudio/projectdetail/122296

意犹未尽,还需要找更多的 AI Studio 深度学习项目?或者遇到问题不知道怎么解决?可以去下面两个地方寻找帮助。 项目合集页,在这里有很多官方和其他机器学习爱好者发布的项目: https://aistudio.baidu.com/aistudio/projectoverview/public/1 论坛社区,如果你出现难解的问题,不妨上来看看有没人遇到过同样的情况:

https://ai.baidu.com/forum/topic/list/192

4 小结 本文介绍了一个免费赠送 GPU 算力的深度学习平台 AI Studio。首先介绍了 AI Studio 是什么,在性能上有什么优势,同时也介绍了如何获得免费 GPU 算力。最后用大量的篇幅介绍了如何利用好 AI Studio 上的学习资源,实现深度学习从入门到高阶。  现在每天赠送 24 小时算力,简直是天上掉下的羊毛,不薅白不薅。羊毛不是天天有,该出手时就出手!  点击 “阅读原文”或打开以下链接查看所有项目:

https://aistudio.baidu.com/aistudio/messagedetail/42

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 | 

你可能感兴趣的:(gpu编程如何一步步学习,跑python,gpu利用率低)