Fast AI文档
Fast AI是基于PyTorch的高层次的封装,可以极大减小构建深度学习网络的工程量。本专栏将以Fast AI v1.0为对象,以其官方文档为基础,介绍Fast AI在机器视觉领域的应用。
suredied
这个作者很懒,什么都没留下…
展开
-
第七篇 FastAI模型训练
前面一篇博客介绍了在Fast AI框架下训练模型所需的轮子——回调系统,本篇博客将介绍网络训练的方方面面,包括并不限于基础的训练方法(fit系列方法),指标(metrics)监控、网络推理与性能评估、模型保存等。一、Learner对象的fit()与fit_one_cycle()(文档链接)其中fit_one_cycle()函数已在前一篇博客中介绍过,实际上,该函数就是在基础的训练流程上添加了O...原创 2020-02-10 21:20:47 · 5187 阅读 · 4 评论 -
第六篇 FastAI的回调系统
前一篇博文介绍了如何在Fast AI框架下构建学习器。那么接下来就是训练模型。在训练过程中,往往需要在一些特定的阶段做一些特殊的操作,如在每训练一定数目的batch后,对学习速率进行调整;或是每训练一个epoch后,需要记录网络在验证(validation)数据集上的某些输出,如在validation上的loss,或者一些其他想观察的指标(metrics)。这些都是通过Fast AI的回调(Cal...原创 2020-01-22 21:00:54 · 2167 阅读 · 4 评论 -
第五篇 FastAI构建学习器
前面的几篇博客都是在介绍如何准备数据。实际上,在Fast AI框架下,数据准备好后,构建深度神经网络学习器的任务已经完成了80%(手动狗头)。其余的10%是构建网络,并将网络和数据封装成学习器(即Fast AI中的Learner对象);还有10%是对训练过程和结果的分析。后面的10%主要依赖于Fast AI中的回调系统(各种Callbacks),这部分会在后续博文中涉及。而本篇博文主要介绍如何构建...原创 2019-12-07 18:30:34 · 2487 阅读 · 0 评论 -
第二篇 FastAI数据准备
一、Fast AI代码组织结构 (文档链接)Fast AI库主要涉及神经网络在如下四个领域的应用:collab(协同滤波问题)、tabular(结构化数据或者说表格数据处理)、text(自然语言处理)、vision(机器视觉)。对每一领域(除了collab),其下又会按照如下结构组织代码:(1) data:定义了模型所需的数据集类。(2) transform:数据预处理(如对图像数据的图像...原创 2019-08-25 21:18:47 · 3745 阅读 · 0 评论 -
第四篇 FastAI中的数据增强
上一篇博客介绍了如何使用Fast AI数据模块(Data Block),便捷地构建Fast AI模型所需的数据包(Data Bunch)。在将图像数据灌入模型之前,往往需要对之进行随机变换,即做数据增强(Data Augmentation)。这可以视为一种在数据层面的正则化(也就是人为地引入一些随机扰动,避免学习器过分关注训练集的特有性质,以免产生过拟合)。本篇博客将介绍Fast AI中的数据增强...原创 2019-11-24 19:55:26 · 2319 阅读 · 0 评论 -
第三篇 FastAI数据构造API
上一篇博客介绍了如何调用ImageDataBunch的工厂类方法,生成Fast AI的模型所需的数据包(Data Bunch)。事实上,Fast AI提供了一系列函数接口,使得构建数据包的流程更符合逻辑且更灵活,而前述博客所示的工厂类方法其实也是基于这些API进行构建的。本篇博客将介绍相关的数据类型以及API。一、Fast AI的数据积木(Data Block)API (文档链接)DataBu...原创 2019-09-21 12:54:37 · 2200 阅读 · 0 评论 -
第一篇 从PyTorch到FastAI
一、使用PyTorch的ResNet18网络,在MNIST数据集上实现手写数字的分类MNIST数据集下载地址。数据读取代码如下:import pickle, gzipimport numpy as npdef load_data(data_pkl): with gzip.open(data_pkl, "rb") as fp: training_data, vali...原创 2019-07-16 08:33:15 · 3580 阅读 · 4 评论