fastai使用现代最佳实践简化了快速和准确的神经网络训练

重要的这个文档涵盖了fastai v2,它是fastai的一个从头重写。v1文档已经转移到fastai1.fast.ai。要停止fastai更新到v2,请在终端中运行回声 'fastai 1 *' >> $ CONDA_PREFIX /畅达-元/销固(如果你用conda)。

CI的PyPIConda(频道)构建fastai映像文档

安装

您可以使用fastai而不需要任何安装谷歌Colab。事实上,本文档的每一页都可以作为交互式笔记本使用——点击任何一页顶部的“打开colab”即可打开它(请务必将colab运行时更改为“GPU”,以使其运行得更快!)看到快。人工智能课程Colab概论为更多的信息。

您可以在自己与畅达的机器上安装fastai(强烈推荐)。如果您在使用水蟒然后运行:

安装-c fastai -c pytorch -c蟒蛇fastai为蟒蛇

...要么if you're usingminiconda然后运行:

conda安装-c fastai -c pytorch fastai

使用pip进行安装:PIP安装fastai。如果您使用pip安装,您应该首先按照PyTorch安装安装说明

如果您打算开发fastai自己,或者想在刀刃上,你可以使用一个可编辑的安装(如果你这样做,你也应该使用一个可编辑的安装fastcore去用它。):

混帐克隆https://github.com/fastai/fastai PIP安装-e “fastai [开发]”

学习fastai

开始学习fastai(和深度学习)的最好方法是阅读,完成免费的课程

要了解什么是可能与fastai,看一看的快速启动,展示了如何使用大约5行代码构建一个图像分类器、一个图像分割模型、一个文本情感模型、一个推荐系统和一个表格模型。对于每个应用程序,代码基本相同。

阅读的教程学习如何在自己的数据集上训练自己的模型。使用导航栏浏览fastai文档。这里记录了每个类、函数和方法。

要了解图书馆的设计和动机,阅读同行评议的论文

关于fastai

fastai是一个深度学习库,它为从业者提供高级组件,这些组件可以在标准深度学习领域快速、轻松地提供最先进的结果,并为研究人员提供低级组件,这些组件可以混合和匹配来构建新的方法。它的目标是同时做到这两件事,而不会在易用性、灵活性或性能方面做出实质性的妥协。这要感谢一个精心分层的体系结构,它通过分离的抽象表达了许多深度学习和数据处理技术的共同底层模式。通过利用底层Python语言的动态性和PyTorch库的灵活性,可以简明而清晰地表达这些抽象。fastai包括:

  • Python的一种新型调度系统与语义类型层次的张量沿
  • 一个可在纯Python中扩展的gpu优化计算机视觉库
  • 一个将现代优化器的常见功能重构为两个基本部分的优化器,允许优化算法在4-5行代码中实现
  • 一种新颖的双向回调系统,可以访问数据、模型或优化器的任何部分,并在培训期间的任何时候更改它
  • 一个新的数据块API
  • 和更多…

fastai是围绕两个主要的设计目标组织起来的:平易近人和快速高效,同时也具有很强的可编程性和可配置性。它构建在底层api的层次结构之上,这些api提供可组合的构建块。这样,想要重写部分高级API或添加特定行为来满足自己需求的用户就不必学习如何使用最低级别的API。

分层的API

从其他库迁移

这很容易迁移从普通PyTorch,点燃,或任何其他基于PyTorch库,甚至与其他库一起使用fastai。一般情况下,你就可以使用所有现有的数据处理代码,但可以减少代码您所需要的量的训练,也更容易利用现代化的最佳做法。下面是一些常用库迁移指南,以帮助您在您的方式:

测试

要并行运行测试,请启动:

nbdev_test_nbs要么做测试

要通过所有测试,您需要安装以下可选依赖项:

pip安装“sentencepiece<0.1.90”wandb张力板蛋白pydicom opencv-python scikito -image pyarrow kornia \ catalyst captum neptune-cli

测试使用nbdev的,例如参见用于文档test_eq

特约

克隆此存储库后,请运行nbdev_install_git_hooks在你的终端。这将设置git的钩,该清理的笔记本电脑,以除去储存在笔记本电脑的无关的东西(例如您运行哪些小区),其导致不必要的合并冲突。

在提交公共关系之前,检查当地的图书馆和笔记本是否匹配。这个脚本nbdev_diff_nbs可以让你知道当地图书馆和笔记本之间是否有区别。

  • 如果对导出单元格中的一个笔记本进行了更改,则可以将其导出到库中nbdev_build_lib要么使fastai
  • 如果您对库做了更改,您可以将其导出回笔记本nbdev_update_lib

Docker容器

对于那些对这个项目的官方docker容器感兴趣的人,可以找到它们这里