为初学者打造的Fastai学习课程指南

AiTechYun

编辑:chux

“学习Fastai从哪开始?”这个问题可能并不合适。那么是不是要直接看第一个视频?并不是。

正是基于对Fastai的双重体验,我今天在巴西利亚发布了课程指南,为新参与者以及所有那些希望通过使用Fastai开始他们的AI之旅的人提供参考。

简单说说机器学习

目前,每个AI都需要由人创建,我们需要代码!

除了机器人和基因操作之外,AI采用必须训练学习的算法的形式(通常是人工神经网络的模型)。

实际上,算法的参数(也称为权重)最初具有使用提供给算法的观察(也称为示例)更新的随机值。这种方法被称为从数据集学习或机器学习(今天非常流行和广泛使用的深度学习方法是具有很大计算深度的机器学习)。

实际上,提供给算法的每个观测允许它计算的预测结果的这种观察的性质(通常是一个概率),通过与它的参数(例如,如果观测是猫的图像,所述预测执行的数学运算结果必须表明对应于猫的类)。然后,关于观察的真实值的误差允许更新参数的值(通常通过使用误差梯度的BackPropagation方法)。

然后,训练将继续,进行新的观察。

实现机器学习的库

因此,机器学习(ML)具有了数据,计算能力和算法。我们必须使用一种语言进行编码,以便实现这些算法,训练它们,测试它们,然后在生产中使用它们。

自2010年初开始大规模使用AI 以来,Python语言已成为Jupyter Notebook中ML和深度学习(DL)算法开发的语言。

由于这些算法的结构即将被标准化,已开发出来各种库,人们可以方便利用TensorFlow(谷歌),Keras,PyTorch(Facebook)与Fastai。

Fastai,不只是一个库

Fastai既是ML和DL算法的实现库,也是在旧金山大学数据研究所开始的课程的标题,现在可以在线获得(有关ML的1门课程和DL的2门课程)。

但其创作者Jeremy HOWARD和Rachel THOMAS走得更远。它也是一种新的自上而下的学习方法,允许边做边学,有超过10000人的社区。

每门课程都有一个免费下载的视频,论坛帖子和jupyter Notebook,通过fastai库运行。

如何从开始入门Fastai?该指南分为4个步骤:

我看到在巴西利亚的课程中有太多参与者因为4个主要原因而停止或无法真正掌握课程的优势:python,Jupyter Notebook,GPU和作业。

1)Python

Python是Fastai课程及其 Notebook中使用的编程语言。学习Fastai课程不需要是python专家并不是必不可少的,但需要进行最低限度的练习。

在线课程:

  • 第一个Python Notebook(www.firstpythonnotebook.org)
  • Python数据科学教程(github.com/ujjwalkarn/DataSciencePython)
  • Coursera上的Python课程(www.coursera.org/courses?query=python)
  • 书:Python深度学习(www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438)

以下2个Python库在Fastai Notebook中很常用,但你可以在课程中学习它们(它们不是先决条件)。

NUMPY

NumPy是使用Python 进行科学计算的基础包。它允许对数组,矩阵,向量和高维张量进行数学运算,就好像它们是Python变量一样。

在线课程:

  • Numpy教程(github.com/jamesdietle/fastaipart1v2/blob/master/Tutorials/NumpyTutorial.ipynb)
  • Python Numpy教程(cs231n.github.io/python-numpy-tutorial)

PANDAS

Pandas是一个开源的,拥有BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构(例如:csv文件)和数据分析工具。它很适合与NumPy一起使用。

在线课程:forums.fast.ai/t/deep-learning-brasilia-licao-6/15955/3

2)Jupyter Notebook

Project Jupyter的目的是开发开源软件、开放标准和跨数十种编程语言(尤其是Python)的交互式计算服务。你将使用Jupyter Notebook来实现所有ML或DL算法。

在线课程:

  • Jupyter Notebook简介(www.youtube.com/watch?v=wa0GRQCcOpI&feature=youtu.be&t=5452)
  • Jupyter Notebook命令和快捷方式1(github.com/reshamas/fastai_deeplearn_part1/blob/master/tools/jupyter_notebook.md)
  • 28种 Jupyter Notebook提示,技巧和快捷方式(www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/)
  • Usar“可折叠/可扩展的jupyter细胞”e seus Jupyter Notebook(forums.fast.ai/t/deep-learning-brasilia-licao-1/13529/23)
  • 一个有趣的Jupyter Notebook画廊(github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks1)

3)GPU

一旦你了解了一些Python并知道如何使用Jupyter Notebook,你需要在具有GPU的服务器上安装Fastai库及其Notebook。

注意:如果你没有本地NVIDIA GPU,并且不想在线使用,则可以在计算机上安装Fastai并仅使用你的CPU,但是,获取ML/ DL模型的训练结果可能需要一段时间。

为何选择GPU?在训练ML或DL算法时需要它来减少训练时间。如果没有GPU,将无法使用数百万个数据训练ML或DL算法。

有两种可能性 :如果你的电脑有一个NVIDIA显卡,你可以配置你的本地GPU;也可以在线租用Google Cloud,Google Colab,PaperSpace,AWS或其他。

在线指南:阅读文章中的GPU段落。(forums.fast.ai/t/deep-learning-brasilia-revisao-licoes-1-2-3-e-4/14993)

本地GPU

Howto:在Windows上安装(forums.fast.ai/t/howto-installation-on-windows/10439)

在线GPU

  • 谷歌云平台(300美元)
  • Paperspace(15美元)
  • Clouderizer + Google Colab(免费!!!)
  • 亚马逊网络服务(AWS)
  • Crestle

别忘了关闭虚拟机!

4)作业

Jeremy Howard为他教授的每个视频讲述了10个小时的个人工作,他是对的!

事实上,如果你想学习ML和DL,而不仅仅是理解原则,你必须去实践。

上面提到的(总之,了解python语言以及如何使用Jupyter Notebook,以及在GPU上安装Fastai库)是必要的先决条件,但还不够。

要真正学习,你必须多次观看视频,运行Fastai Notebook,研究代码行,在你不理解时到Fastai论坛提问,回答其他人提出的问题并发表文章以提高理解。这才是真正的学习!

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2018-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

怎样分析样本调研数据(译)

从一个群体样本中获取群体的整体特征是许多研究设计和统计方法发展的基础。根据数据收集的算法、调研问题的类型和调研的目标,分析样本调研数据的方法各不相同。这篇文章会...

38440
来自专栏数据结构与算法

P1850 换教室

题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。 在可以选择的课程中,有  节课程安排在 nn 个时间段上。在第  ...

408130
来自专栏段石石的专栏

Word2Vec 的迁移实践:Tag2Vec

今天我们就来重点关注下基于用户行为的内容表示的一些有意思的东西。

1.1K20
来自专栏新智元

【吐血整理】台湾大学李宏毅深度强化学习笔记(49PPT)

【新智元导读】来自台湾超受欢迎的李宏毅老师深层强化学习49页PPT以及笔记,熬夜整理,值得收藏。本文授权转载自Medium,作者Ivan Lee。

42830
来自专栏数据科学与人工智能

【Python环境】python的数据科学资源

python和R是数据科学家手中两种最常用的工具,R已经介绍的太多了,后续我们来玩玩python吧。从出身来看,R是统计学家写的,python是计算机科学家写的...

23860
来自专栏游戏杂谈

3D引擎为什么使用三角形绘制曲面

这个问题是我第一次接触3D开发就有的疑问,最近在看《游戏引擎架构》(Game Engine Architecture),在书中找到了答案。

19830
来自专栏AI科技评论

韩家炜在数据挖掘上开辟的「小路」是什么

AI 科技评论按:前些日子,数据挖掘领域的巨擘韩家炜教授 [1] 在中国计算机学会(CCF)主办的第 87 期 CCF 学科前沿讲习班(CCF Advanced...

58380
来自专栏AI科技大本营的专栏

《机器学习系统设计》助你从新手迅速成长为大咖

本文引自图灵教育《机器学习系统设计》的第一章——Python机器学习入门。 如果你只想学习基础理论,那么这本书或许并不适合你。它并没有深入机器学习背后的数学细...

43540
来自专栏机器人网

一图向菜鸟解释机器学习、数据挖掘

随着数据科学在人工智能发展中大放异彩,数据挖掘、机器学习进入了越来越多人的视野。而对于很多人来说,诸如机器学习之类的名次听起来是神乎其技,但其真正的内涵却不为一...

30170
来自专栏天天P图攻城狮

GPUImage源码解读(四) - 图像锐化

边缘模糊是图像中经常出现的质量问题,由此造成的轮廓不清晰,线条不鲜明,使图像特征提取、识别和理解难以进行。

81330

扫码关注云+社区

领取腾讯云代金券