fastai part1 2019 中文版
什么是fast.ai
什么是中文版
目标
- 成为中文学员深入fast.ai的窗口
- 成为fast.ai学习资源和工作的中文集成地
- 成为我贡献fast.ai和为大家提供服务的平台
提供服务
共建
每日必看
每日观光地
fast.ai v3 2019 课程官网
fastai 文档官网
fast.ai 官方论坛
fast.ai 论坛官方课程更新
fast.ai 文档改进探讨
Kaggle 官网
Real python plt tutorial
hard and uncool style
常用工具箱
my translation contribution
my video manager
我的fast.ai本地工作设置与常用技能
ML/DS求职信模版 thanks to Susan Holcomb
新人快速上手
我只在fastai论坛里回答问题, 其他学习形式,请前往组队学习
好提问,必回答!
好问题的标准,见how to ask for help 中文版
官方课程综述(中英文)
欢迎大家就翻译细节提出质疑和改进意见(请在相关post下回复,我会确保贡献者都收到credit)
第一课: 你的宠物图片分类 内容综述
第二课:数据清洗和模型云端应用;手写SGD 内容综述
第三课 data blocks, 多标签分类,图片像素隔离 内容综述
第四课:自然语言,表格数据,推荐系统算法collab, 嵌入层embeddings 内容综述
第五课:反向传递,加速版随机梯度下降,手写神经网络 内容综述
第六课:正则化,卷积,数据伦理 内容综述
第七课: 手写Resnets, U-net, GAN 内容综述
开启你的免费GPU
- 无需下载,无需安装设置,全免费,使用GPU,跑通全课程代码,见Kaggle kernel指南
- 见更多 免费GPU服务器
- 小伙伴们使用经验分享 1,2 阿里云 3 更多新平台
课程Notebook中文版
第零课:如何使用Jupyter Notebook
第一课:你的宠物
更多中文Notebooks,请跳转
其他基础
组建和维护学习小组
fastai推荐的学习小组运营指南
第一个在上海的学习小组2019.3启动!感谢 @royam0820
微信群学习小组 感谢 @PegasusWithoutWinds
Jeremy的课程建议(忠告)
引言
感谢 @MadeUpMasters 分享的post这里是它的中文镜像版(原文直译)
在开始学习fast.ai前,我尝试学习已毕业学员发表在网上的经验分享,尤其是他们后悔的事情。
最常见的忠告:“真的要听Jeremy的话,将时间用在他建议的地方。”
最多的懊悔:“我真应该听Jeremy的话,不要将大把时间浪费在一次性搞懂理论理解上。”
在这里我记录了每节课Jeremy给出的建议,我会照做,也希望大家跟我一起做。
第一课的建议
- 不要尝试停下来理解所有的知识点
- 不要浪费时间:请学习JN的快捷键,一天学4-5个
- 请跑代码,“真的”去跑代码。不要去深入学习理论。去玩转代码,看看它们“吃进什么吐出什么”
- 选择一个项目,认真做好,做到超棒!
- 跑这个Nb(lesson1-pets.ipynb),然后用你自己的数据集跑跑,一定要做!
- 如果你有很多类别要区分,不要选择
confusion matrix
,要用
interp.most_confused(min_val=n)
第二课的建议
- 如果论坛博文太庞杂,点击博文下方的“summarize this topic总结此主题”
- 请跟着官方的安装说明设置你的GPU,步骤简单快捷。
- 如果感觉论坛里大家都太厉害,有太多新东西,而且感觉很难,真的没关系!选择一个点下手,比如跑几行代码,学一个概念如regular expression, 或者创建一个分类器,什么都行,关键是忘记烦恼,行动起来。建议出处视频节点 Lesson 2: It’s okay to feel intimidated
- 如果卡壳了,不要停下来深挖,继续前行!(看下图) 视频节点: Lesson 2: If you’re stuck, keep going
- 如果你不确定图中的哪个学习率更好,每个都试试看。
- 当你将模型做成网页APP,你会选择用CPU做预测,除非是巨量规模的服务请求才会用到GPU。视频节点: Lesson 2: Putting Model into Production
- 多数公司浪费大量时间在收集更多数据上。正确做法是,用一小撮数据跑跑看,然后在看问题是否是数据不够。
- 如果你认为自己“天生不擅长数学”, 请看看Rachel的TED演讲: There’s no such thing as “not a math person” . My own input: only 6 minutes, everyone should watch it!
第三课的建议
- 在你使用数据集时,请务必给予数据创建者荣誉和感谢
- 在接下来的一周里,看看你能不能找到你想解决的多标注分类问题,图片回归问题,或图片区域隔离问题等等,试试看你能否拿出解决方案。 视频节点: Fast.ai Lesson 3 Homework
- 记住要使用pretrained模型训练时所用的均值与方差。 视频节点: Lesson 3: Normalized data and ImageNet
- 对问题 “有理由阻止我们尝试 64x64 to 128x128 to 256x256等尺寸图片训练微调模型吗?”的回答: “是的,非常值得一试!效果不错,试试吧!” 视频节点: Lesson 3: 64x64 vs 128x128 vs 256x256
第四课的建议
- 如果做的是NLP,没有理由不用验证集参与训练。 视频节点Lesson 4: A little NLP trick
- 在回答提问:”在怎样10%的情况下你不会使用神经网络”时,回应:“你可以都尝试,random forest和神经网络. 视频节点Lesson 4: How to know when to use neural nets
- 习惯使用这些词汇 (参数parameters, 层layers, 激活activations…etc) 并尝试准确使用。 视频节点Lesson 4: Important vocabulary for talking about ML
第五课的建议
- 如果你心里有疑问:“我是否应该试试?”, 回答是:试试看吧,这是你成为优秀实践者的必修课。 视频节点Lesson 5: Should I try blah ?
第六课的建议
- “一个潜力巨大的研究方向是各个领域数据增强研究。几乎没有关注这个方向,而我认为这是蕴藏着巨大的机会,可以帮助节省5-10倍的数据需求。” 视频节点Lesson 6: Data augmentation on inputs that aren’t images
- 如果你会花时间跑整个Nb,包括 the convolution kernel 和 the heatmap部分, 尝试实验这些代码看看他们的反应。最重要的是记住: shape也就是这里说的rank或tensor维度。尝试思考:“为什么?” 回头看看模型summary, 各个层的设置,作出的各种图,想象以下背后的机制。视频节点Lesson 6: Go through the convolution kernel and heatmap notebook
第七课的建议
- 这节课的内容很多,目的是让你们忙起来,直到进入part2的课程。
下面内容源于这节课视频中的一段精彩演讲,强烈建议再看一遍 Lesson 7: What to do once you’ve completed Part 1
- 回头再去看看视频,这一遍肯定有些内容理解和感悟是之前没有的。
- 写代码并分享到github中。有多好不重要,重要的是写下来和分享出来。这样才能获得反馈帮助你进步。
- 现在可以开始读课程中介绍过的论文了。论文里所有关于derivations/theorems/lemmas(数学公式部分)都可以忽略,因为它们无法帮助增加对深度学习的实践性理解。认真阅读关于为什么以及怎样定义和解决问题的。写下总结来帮助那些与6个月前的你的状态水平相似的人。
- 可能最重要的是和大家一起学,这样效果往往更好。组建一个读书会,学习小组,定期聚会,动手做些项目。不需要是什么特别棒的东西,只要是能让世界更美好一点,甚至是让你的2岁大孩子开心的事情。完成一件事情,然后在进一步完善它。或者是参与到fast.ai中来帮助开发代码和完善文档。如何参与件 Dev Projects Index on forums.
- 提问:“在part 2 开始前,你建议我们做些什么呢”,回答: "就是代码,不停写代码,看看你的输入值,输出值,尝试输出一个你的mini-batch。我们覆盖的内容非常多,如果你能做到”不作弊“状态下,重建所有的notebook,你将是极少数顶级的实践者。 视频节点:Lesson 7: What to do/learn/practice between now and Part 2
课程Notebook 汇总
英文版Nb
- 官方github最新版
- Kaggle 版本
- Colab 版本 click ‘Github’ and search ‘fastai v3’
中文Kaggle版
Kaggle Nb 中文版 学习借鉴了 @init_27 @wdhorton 的 kernel并尽可能保持与课程github版本Nb同步更新。
第零课:如何使用Jupyter Notebook
第一课:你的宠物
第二课:创建你的数据集和分类器
第二课:梯度下降SGD
第三课:Camvid tiramisu 简化版
第三课:Camvid 图片隔离
第三课:图片回归BIWI数据集
第三课:IMDb影评数据集 @kachun1017 创建并维护
超快commit,详细解说版
第六课:重返宠物识别
听写Nb
Jeremy 建议大家自己从头构建全部课程Notebooks(不作弊), 如果能做到,会让你成为极少数优秀深度学习实践者。
如果这是你想要的,那么我们可以先迈出第一步,从Notebook听写开始!
同时我还会逐步将原视频课程内容也融入到以下Notebook中
第一课 你的宠物
第二课 你的图片数据集
第二课 手写SGD
第三课 camvid图片隔离问题
第三课 BIWI head pose回归问题
第三课 IMDB自然语言问题
第三课 planet多标注分类问题
第四课 collab filtering 影片影评数据集
第四课 表格数据问题
第五课 基于pytorch 和fastai 的SGD解决mnist分类
第六课 回顾宠物篇
第六课 Rossmann 销售预测
第七课 手写Resnet
第七课 U-net的故事
第七课 从低清到高清 fastai GAN
第七课 WGAN bedroom
第七课 supperres with feature loss
强化版
第六课:pets revisited
贡献 fast.ai
简化文档
fastai library 极有可能是世界上最优秀的深度学习库,值得深入学习。
对于初学者,库的内容还是比较庞大,这里尝试在文档和源码基础上梳理简单脉络。
简版文档,请前往
共建文档
如果你想尝试学习阅读和改进文档,可以看看下面三个贡献的经验总结视频。论坛里大家都很热情,认真提问,努力尝试,肯定会有收获的!
初学者可视化PR指南 论坛版, github版本, 视频解读
freeze
文档解读 学习探讨, Notebook, 成果, 视频解读
freeze_to
文档解读 学习探讨, Kaggle kernel, 听写, 成果, 视频解读
更多文档建设, 请前往
论文翻译 paper translation
fast.ai 见闻
搜集在fast.ai世界里看到的值得关注的动态和见闻
great study groups
medical imaging thanks to @PegasusWithoutWinds
- don’t miss out some additional resources posted by members in the study groups
Time series/ sequential data thanks to @oguiza
中文网络参考资源
关于深度碎片
更多fastai课程字幕翻译工作,见fastai_courses_translation_EN2CN repo
更多fastai文档贡献,见 fastai_treasures repo
更多我的机器学习和深度学习视频作品,见已完成项目