Fastai使Pythorch的深度学习更快、更准确、更容易
fastai的Python项目详细描述
Fastai
fastai库使用现代最佳实践简化了快速准确的神经网络训练。请参见fast ai网站开始。该库基于对在fast.ai上进行的深入学习最佳实践的研究,包括对fast.ai的"开箱即用"支持,以及对vision
的支持,以及text
.,tabular
,以及collab
(协作过滤)模型。有关简要示例,请参阅示例文件夹;详细示例见完整的文档。例如,下面是如何使用resnet18来训练mnist模型的方法(从vision examplevision example):
path=untar_data(MNIST_PATH)data=image_data_from_folder(path)learn=cnn_learner(data,models.resnet18,metrics=accuracy)learn.fit(1)
注意course.fast.ai学生
本文档是为FastAI v1
编写的,我们在当前版本中使用该版本,即course.fast.ai深度学习课程。如果您正在跟随course18.fast.a i" rel="nofollow">course18.fast.ai(即机器学习课程,未针对v1更新)的课程,则需要使用fastai 0.7;请按照安装说明进行操作。>这里
安装
注意:Fastai v1目前仅支持Linux,需要Pythorch v1和Python 3.6或更高版本。windows支持正处于试验阶段:它应该工作得很好,但速度慢得多,测试得也不太好。自M以来acs目前没有良好的nvidia gpu支持,我们目前没有优先考虑mac开发。
fastai-1.x
可以使用conda
或pip
包管理器安装,也可以从源代码安装。目前,您不能只运行install,因为您首先需要安装正确的pytorch
版本-因此要安装fastai-1.x
请使用您最喜欢的python包管理器选择下面的安装方法之一。请注意,pytorch v1和python 3.6是最低版本要求。
强烈建议您在虚拟环境中安装fastai及其依赖项(conda
或其他),这样您就不会干扰整个系统的python包。这不是必须的,但是如果您遇到任何依赖项包的问题,请考虑使用一个新的虚拟环境,仅用于fastai
从pytorch-1.x开始,您不再需要安装特殊的pytorch cpu版本。取而代之的是使用普通的pytorch,它可以使用gpu也可以不使用gpu。但是,也可以安装CPU构建。
如果遇到安装问题,请阅读安装问题
如果您计划在Jupyter笔记本电脑环境中使用fast ai
,请确保同时安装相应的软件包
更高级的安装问题,例如仅安装部分依赖项,将在专用的安装文档中介绍。
Conda安装
conda install -c pytorch -c fastai fastai
这将安装使用最新版本的cudatoolkit构建的pytorch。如果需要更高或更低版本的cuda xx
构建(例如cuda 9.0),请按照此处的说明安装所需的pytorch
构建。
请注意,jpeg解码可能是一个瓶颈,特别是如果你有一个快速的gpu。您可以选择安装优化的JPEG解码器,如下所示(Linux):
conda uninstall --force jpeg libtiff -y conda install -c conda-forge libjpeg-turbo CC="cc -mavx2" pip install --no-cache-dir -U --force-reinstall --no-binary :all: --compile pillow-simd
如果只关心更快的jpeg解压,那么在上面的最后一个命令中,它可以是hellow
或hellow simd
,后者可以加快其他图像处理操作。有关完整的故事,请参见枕头simd
pypi安装
pip install fastai
默认情况下,pip将安装最新的pytorch
和最新的cudatoolkit
。如果您的硬件不支持最新的cudatoolkit,请按照此处的说明安装一个适合您硬件的pytorch
build。
错误修复安装
如果在git中修复了一个bug,并且您不能等到新版本发布后再安装,那么您可以使用:
pip install git+https://github.com/fastai/fastai.git
开发者安装
以下说明将导致apip editable install,以便您可以随时git pull
,并且您的环境将自动获得更新:
git clone https://github.com/fastai/fastai cd fastai tools/run-after-git-clone pip install -e ".[dev]"
接下来,您可以通过启动jupyter笔记本来测试构建是否有效:
jupyter notebook
并执行一个示例笔记本。例如加载examples/tabular.ipynb
并运行它。
请参考contribution.md和开发者注意事项了解如何为fastai
项目做出贡献的更多详细信息。
从源头建设
如果由于任何原因,您不能使用预打包的软件包,而必须从源代码构建,则此部分适用于您。
要从源代码构建pytorch,请遵循完整的说明。请记住首先按照建议安装cuda、cudnn和其他必需的库-如果没有这些库内置到
pytorch
接下来,您还需要从源代码构建torchvision
git clone https://github.com/pytorch/vision cd vision python setup.py install
当安装了
pytorch
和torchvision
时,首先测试是否可以加载这些库:import torch import torchvision
以验证它们是否已正确安装
最后,通过预先打包的pip或conda构建或从源代码安装("开发人员安装"),继续正常安装fastai。
< > >python:您需要使用python 3.6或更高版本
CPU或GPU
pytorch二进制软件包自带了自己的cuda、cudnn、nccl、mkl和其他库,因此如果您不需要其他库,就不必安装系统范围内的nvidia的cuda和相关库。如果您已经安装了它们,那么在系统范围内安装了哪个nvidia的cuda版本库并不重要。您的系统可能有CUDA 9.0库,而且您仍然可以使用使用CUDA 10.0库构建的
pytorch
没有任何问题,因为pytorch
二进制包是自包含的。唯一的要求是您已经正确安装和配置了nvidia驱动程序。通常,您可以通过运行
nvidia smi
来测试它。虽然此应用程序可能在您的系统上不可用,但很可能如果它不工作,则说明您的nvidia驱动程序配置不正确。请记住,在安装NVIDIA驱动程序后,始终需要重新启动。操作系统:
由于Fastai-1.0依赖于Pythorch-1.0,您需要首先安装Pythorch-1.0。
截至目前,pytorch.org的1.0版本支持:
<表><广告> < /广告><正文>平台 < > GPU < /Th ><> CPU Linux 二进制 二进制 MAC < /TD> 来源 二进制 窗口 二进制 二进制 图例:
二进制
=可以直接安装,源
=需要从源构建。如果您的系统没有可用的
pytorch
预览conda或pip包,您仍然可以从源代码构建它。你怎么知道要选择哪个pytorch cuda版本?
这取决于安装的nvidia驱动程序的版本。以下是预构建
<表><广告>pytorch
版本支持的cuda版本的要求:CUDA工具包 nvidia(Linux x86_64) <正文> CUDA 10.0 >;=410.00 CUDA 9.0 >;=384.81 CUDA 8.0 >;=367.48 因此,如果nvidia驱动程序小于384,则只能使用cuda 8.0。当然,如果您的卡支持,您可以将您的驱动程序升级到最新的驱动程序。
您可以在这里找到一个包含所有变体的完整表格。
如果使用NVIDIA驱动程序410+,则很可能需要安装
cudatoolkit=10.0
pytorch变量,通过:path=untar_data(MNIST_PATH)data=image_data_from_folder(path)learn=cnn_learner(data,models.resnet18,metrics=accuracy)learn.fit(1)
1或者如果您需要较低版本,请使用以下选项之一:
path=untar_data(MNIST_PATH)data=image_data_from_folder(path)learn=cnn_learner(data,models.resnet18,metrics=accuracy)learn.fit(1)
2有关其他选项,请参阅可用pytorch变体的完整列表。
< > >
安装问题
如果安装过程失败,首先确保系统受支持" rel="nofollow">系统受支持。如果问题仍未解决,请参阅故障排除文档
如果您遇到conda的安装问题,请确保您有最新的conda客户机(conda install
也将进行更新):
path=untar_data(MNIST_PATH)data=image_data_from_folder(path)learn=cnn_learner(data,models.resnet18,metrics=accuracy)learn.fit(1)0
是否支持我的系统?
更新
为了更新您的环境,只需以与初始安装完全相同的方式安装fastai即可。
顶层文件environment.yml
和environment cpu.yml
属于旧的fastai(0.7)。conda env update
不再是更新fastai-1.x
环境的方法。这些文件仍然存在,因为Fastai Course-v2视频指令依赖于此设置。最终,一旦fastai课程v3 p1和p2完成,它们可能会被移动到它们所属的位置-在old/
下。
贡献指南
如果您想为FastAI贡献一份力量,请务必查看贡献指南。本项目遵循Fastai的行为准则。通过参与,您将遵守此准则。
我们使用github问题来跟踪请求和错误,因此请参见fast ai forum以了解一般问题和讨论。
Fastai项目致力于遵守开源软件开发中公认的最佳实践:
历史记录
更改的详细历史记录可以在这里找到。
版权所有
版权所有2017年以后,fast.ai,inc.根据Apache许可证2.0版(以下简称"许可证")获得许可;除非符合许可证,否则您不得使用此项目的文件。此存储库的许可证文件中提供了许可证的副本。