96 lines
6.0 KiB
Markdown
96 lines
6.0 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/fastai/fastai) · [上游 README](https://github.com/fastai/fastai/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
# 欢迎使用 fastai
|
||
|
||
|
||
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
|
||
|
||
[](https://github.com/fastai/fastai/actions/workflows/main.yml)
|
||
[](https://pypi.org/project/fastai/#description)
|
||
[](https://anaconda.org/fastai/fastai)
|
||
|
||
## 安装
|
||
|
||
你可以通过 [Google
|
||
Colab](https://colab.research.google.com/). 使用 fastai,无需进行任何安装。实际上,本文档的每一页也都可以作为交互式 notebook 使用——点击任意页面顶部的「Open
|
||
in colab」即可打开(请务必把 Colab 运行时改为「GPU」,这样才能快速运行!)。更多信息请参阅 fast.ai 文档中的 [Using Colab](https://course19.fast.ai/start_colab.html)。
|
||
|
||
你可以在自己的机器上通过以下方式安装 fastai:`pip install fastai`。
|
||
|
||
为确保你的机器上有最佳可用版本的 PyTorch,建议先[安装](https://pytorch.org/get-started/locally/) PyTorch。
|
||
|
||
如果你计划自行开发 fastai,或想使用最新前沿版本,可以使用可编辑安装(editable install)(如果这样做,你也应该对 [fastcore](https://github.com/fastai/fastcore) 进行可编辑安装。)先安装 PyTorch,然后:
|
||
|
||
git clone https://github.com/fastai/fastai
|
||
pip install -e "fastai[dev]"
|
||
|
||
## 学习 fastai
|
||
|
||
入门 fastai(及深度学习)的最佳方式是阅读[这本书](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527),,并完成[免费课程](https://course.fast.ai).。
|
||
|
||
要了解 fastai 能做什么,请查看 [Quick
|
||
Start](https://docs.fast.ai/quick_start.html),,它展示了如何用大约 5 行代码构建图像分类器、图像分割模型、文本情感分析模型、推荐系统和表格模型。对于每种应用,代码大体相同。
|
||
|
||
通读 [Tutorials](https://docs.fast.ai/tutorial.html),学习如何在自己的数据集上训练模型。使用导航侧边栏浏览 fastai 文档。每个类、函数和方法都在此有文档说明。
|
||
|
||
要了解该库的设计与动机,请阅读[同行评审论文](https://www.mdpi.com/2078-2489/11/2/108/htm).。
|
||
|
||
## 关于 fastai
|
||
|
||
fastai 是一个深度学习库,为实践者提供高级组件,可在标准深度学习领域快速、轻松地达到最先进(state-of-the-art)的结果;同时为研究者提供低级组件,可自由组合以构建新方法。它力求在易用性、灵活性和性能方面都不做重大妥协。这得益于精心设计的分层架构,将许多深度学习与数据处理技术的共同底层模式表达为解耦的抽象。借助底层 Python 语言的动态特性以及 PyTorch 库的灵活性,这些抽象可以简洁清晰地表达。fastai 包括:
|
||
|
||
- 面向 Python 的新型类型分派(type dispatch)系统,以及张量的语义类型层次结构
|
||
- 可用纯 Python 扩展的 GPU 优化计算机视觉库
|
||
- 将现代优化器的通用功能重构为两个基本部分的优化器,使优化算法可用 4–5 行代码实现
|
||
- 新型双向回调(callback)系统,可在训练过程中任意时刻访问并修改数据、模型或优化器的任意部分
|
||
- 新的 data block API
|
||
- 以及更多……
|
||
|
||
fastai 围绕两个主要设计目标组织:既易于上手、快速产出,又高度可定制、可配置。它构建在一套更低层 API 层次之上,提供可组合的基础模块。这样,想要重写部分高层 API 或添加特定行为以满足需求的用户,不必去学习如何使用最底层 API。
|
||
|
||
<img alt="分层 API" src="images/layered.png" width="345">
|
||
|
||
## 从其他库迁移
|
||
|
||
从纯 PyTorch、Ignite 或任何其他基于 PyTorch 的库迁移非常简单,也可以将 fastai 与其他库配合使用。通常,你可以继续使用现有的数据处理代码,同时减少训练所需代码量,并更轻松地采用现代最佳实践。以下是一些流行库的迁移指南,供你参考:
|
||
|
||
- [Plain PyTorch](https://docs.fast.ai/examples/migrating_pytorch.html)
|
||
- [Ignite](https://docs.fast.ai/examples/migrating_ignite.html)
|
||
- [Lightning](https://docs.fast.ai/examples/migrating_lightning.html)
|
||
- [Catalyst](https://docs.fast.ai/examples/migrating_catalyst.html)
|
||
|
||
## Windows 支持
|
||
|
||
由于在 Jupyter 和 Windows 上的 Python 多进程问题,`num_workers` of `Dataloader` 会自动重置为 0,以避免 Jupyter 挂起。这使得在 Windows 的 Jupyter 中进行计算机视觉等任务比 Linux 慢很多倍。如果从脚本使用 fastai,则不存在此限制。
|
||
|
||
请参阅[此示例](https://github.com/fastai/fastai/blob/master/nbs/examples/dataloader_spawn.py),以在 Windows 上充分利用 fastai API。
|
||
|
||
我们建议使用 Windows Subsystem for Linux(WSL)——如果这样做,你可以使用常规的 Linux 安装方式,并且不会对 `num_workers` 有任何问题。
|
||
|
||
## 测试
|
||
|
||
要并行运行测试,请执行:
|
||
|
||
`nbdev_test`
|
||
|
||
要让所有测试通过,你需要安装 settings.ini 中 dev_requirements 部分指定的依赖项。
|
||
|
||
`pip install -e .[dev]`
|
||
|
||
测试使用 `nbdev` 编写,例如请参阅 `test_eq` 的文档。
|
||
|
||
## 贡献
|
||
|
||
克隆本仓库后,请确保已在终端运行 `nbdev_install_hooks`。这会安装 Jupyter 和 git hooks,用于自动清理、信任 notebook 并修复合并冲突。
|
||
|
||
在仓库中做出更改后,应运行 `nbdev_prepare`,并进行额外且必要的修改,以通过所有测试。
|
||
|
||
## Docker 容器
|
||
|
||
对本项目官方 docker 容器感兴趣的用户,可在[此处](https://github.com/fastai/docker-containers#fastai).找到。
|