fastai应用程序 - 快速启动

打开在Colab“></a>
       </div>
      </div>
      <div class=

fastai的应用程序都使用相同的基本步骤和代码:

在这个快速启动,我们将介绍这些步骤的广泛差异的应用程序和数据集。正如你所看到的,在每种情况下的代码是极其相似,尽管所使用的完全不同的模型和数据。

计算机视觉分类

下面的代码做以下的事情:

  1. 数据集被称为牛津IIIT宠物数据集包含猫和来自37个不同品种的狗7349倍的图像将被从fast.ai数据集收集到您所使用的GPU服务器下载,并随后将提取。
  2. 一种预训练模式这已经培训了130万倍的图像,采用了竞争成功的典范将从互联网上下载。
  3. 预训练的模式将微调采用最新进展传递学习,创建一个专门定制的识别狗和猫的典范。

只需要运行一次前两个步骤。如果再次运行它,它会使用已经被下载,而不是重新下载他们的数据集和模型。

路径=untar_data网址PETS/'图片'高清is_catX):返回X[0]isupper()DLS=ImageDataLoadersfrom_name_func路径get_image_files路径valid_pct=0.2种子=42label_func=is_catitem_tfms=调整大小224))学习=cnn_learnerDLSresnet34指标=error_rate学习微调1
时代 train_loss valid_loss error_rate 时间
0 0.173790 0.018827 0.005413 00:12
时代 train_loss valid_loss error_rate 时间
0 0.064295 0.013404 0.005413 00:14

你可以推断与该模型预测方法:

IMG=PILImage创建'图像/ cat.jpg'IMG
is_cat_probs=学习预测IMG打印F“这是一只猫?:{is_cat}“。打印F“概率是一只猫:{probs[1]项目().6f}
这是一只猫?:真。概率是一只猫:0.999722

计算机视觉分割

下面是我们如何能够培养具有fastai一个细分模型,使用的一个子集Camvid数据集

路径=untar_data网址CAMVID_TINYDLS=SegmentationDataLoadersfrom_label_func路径BS=8fnames=get_image_files路径/“图片”label_func=拉姆达Ø路径/'标签'/F{Ø}_P{Ø后缀}代码=NPloadtxt路径/'codes.txt'D型=海峡学习=unet_learnerDLSresnet34学习微调8
时代 train_loss valid_loss 时间
0 2.882460 2.096923 00:03
时代 train_loss valid_loss 时间
0 1.602270 1.543582 00:02
1 1.417732 1.225782 00:02
2 1.307454 1.071090 00:02
3 1.170338 0.884501 00:02
4 1.047036 0.799820 00:02
0.947965 0.754801 00:02
6 0.868178 0.728161 00:02
7 0.804939 0.720942 00:02

我们可以想像,以及它如何实现它的任务,通过询问该模型进行颜色编码的图像的每个像素。

学习show_resultsMAX_N=6figsize=78))

自然语言处理

这里是所有训练能够在电影评论比什么都好,只是五年前在世界上存在的情感分类模型所需要的代码:

DLS=TextDataLoadersfrom_folderuntar_data网址IMDB有效='测试'学习=text_classifier_learnerDLSAWD_LSTMdrop_mult=0.5指标=准确性学习微调21E-2
时代 train_loss valid_loss 准确性 时间
0 0.594912 0.407416 0.823640 01:35
时代 train_loss valid_loss 准确性 时间
0 0.268259 0.316242 0.876000 03:03
1 0.184861 0.246242 0.898080 03:10
2 0.136392 0.220086 0.918200 03:16
3 0.106423 0.191092 0.931360 03:15

预测与完成预测作为计算机视觉:

学习预测“我真的很喜欢那部电影!”
( '正',张量(1),张量([0.0041,0.9959))

表格式的

从纯建筑模型表格式的数据使用相同的基本步骤与以前的型号完成。这里是训练一个模型,预测一个人是否是高收入者,根据他们的社会经济背景所必需的代码:

路径=untar_data网址ADULT_SAMPLEDLS=TabularDataLoadersfrom_csv路径/'adult.csv'路径=路径y_names=“薪水”cat_names=['workclass''教育''婚姻状况''占用''关系''种族']cont_names=['年龄''fnlwgt'教育-NUM“]特效=[CategorifyFillMissing正常化])学习=tabular_learnerDLS指标=准确性学习fit_one_cycle2
时代 train_loss valid_loss 准确性 时间
0 0.372298 0.359698 0.829392 00:06
1 0.357530 0.349440 0.837377 00:06

推荐系统

推荐系统是非常重要的,特别是在电子商务。公司像亚马逊和Netflix努力为推荐产品或电影用户可能会喜欢。下面是如何培养一个模型,预测电影的人可能会喜欢,根据他们以往的收视习惯,使用MovieLens数据集

路径=untar_data网址ML_SAMPLEDLS=CollabDataLoadersfrom_csv路径/'ratings.csv'学习=collab_learnerDLSy_range=0.55.5))学习微调6
时代 train_loss valid_loss 时间
0 1.497551 1.435720 00:00
时代 train_loss valid_loss 时间
0 1.332337 1.351769 00:00
1 1.180177 1.046801 00:00
2 0.913091 0.799319 00:00
3 0.749806 0.731218 00:00
4 0.686577 0.715372 00:00
0.665683 0.713309 00:00

我们可以使用相同的show_results叫我们前面看到,查看用户和电影的ID,实际收视率,和预测的几个例子:

学习show_results()
用户身份 movieId 评分 rating_pred
0 5 3.0 2.0 3.985477
1 1.0 62.0 4 3.629225
2 91.0 81.0 1.0 3.476280
3 48.0 26.0 2.0 4.043919
4 75.0 54.0 3.0 4.023057
42.0 22.0 3.0 3.509050
6 40.0 59.0 4 3.686552
7 63.0 77.0 3.0 2.862713
8 32.0 61.0 4 4.356578