Você pode usar fastai sem qualquer instalação usando o Google Colab. Na verdade, cada página desta documentação também está disponível como um bloco de notas interativo - clique em “Abrir no Colab” na parte superior de qualquer página para abri-lo (certifique-se de alterar o tempo de execução do Colab para “GPU” para que ele seja executado rapidamente!) Consulte a documentação do fast.ai sobre como usar o Colab para obter mais informações.
Você pode instalar fastai em suas próprias máquinas com conda (altamente recomendado), desde que esteja executando Linux ou Windows (NB: Mac não é compatível). Para Windows, consulte “Executando no Windows” para obter notas importantes.
Recomendamos o uso de miniconda (ou miniforge). Primeiro instale o PyTorch usando a linha conda mostrada aqui e depois execute:
conda install -c fastai fastai
Para instalar com pip, use: pip install fastai
.
Se você planeja desenvolver fastai sozinho ou deseja estar na vanguarda, pode usar uma instalação editável (se fizer isso, você também deve usar uma instalação editável de fastcore para acompanhá-la). Primeiro instale o PyTorch e, em seguida, :
git clone https://github.com/fastai/fastai
pip install -e "fastai[dev]"
A melhor maneira de começar com fastai (e aprendizado profundo) é ler o livro e concluir o curso gratuito.
Para ver o que é possível com fastai, dê uma olhada no Quick Start, que mostra como usar cerca de 5 linhas de código para construir um classificador de imagens, um modelo de segmentação de imagens, um modelo de sentimento de texto, um sistema de recomendação e um modelo tabular. Para cada um dos aplicativos, o código é praticamente o mesmo.
Leia os tutoriais para aprender como treinar seus próprios modelos em seus próprios conjuntos de dados. Use a barra lateral de navegação para consultar a documentação do fastai. Cada classe, função e método estão documentados aqui.
Para saber mais sobre o design e a motivação da biblioteca, leia o artigo revisado por pares.
fastai é uma biblioteca de aprendizagem profunda que fornece aos profissionais componentes de alto nível que podem fornecer resultados de última geração de forma rápida e fácil em domínios de aprendizagem profunda padrão e fornece aos pesquisadores componentes de baixo nível que podem ser misturados e combinados para construir novas abordagens. Seu objetivo é fazer as duas coisas sem comprometer substancialmente a facilidade de uso, flexibilidade ou desempenho. Isto é possível graças a uma arquitetura cuidadosamente em camadas, que expressa padrões subjacentes comuns de muitas técnicas de aprendizagem profunda e processamento de dados em termos de abstrações dissociadas. Essas abstrações podem ser expressas de forma concisa e clara, aproveitando o dinamismo da linguagem Python subjacente e a flexibilidade da biblioteca PyTorch. fastai inclui:
fastai é organizado em torno de dois objetivos principais de design: ser acessível e rapidamente produtivo, ao mesmo tempo que é profundamente hackeável e configurável. Ele é construído sobre uma hierarquia de APIs de nível inferior que fornecem blocos de construção combináveis. Dessa forma, um usuário que queira reescrever parte da API de alto nível ou adicionar um comportamento específico para atender às suas necessidades não precisa aprender a usar o nível mais baixo.
É muito fácil migrar de PyTorch simples, Ignite ou qualquer outra biblioteca baseada em PyTorch, ou mesmo usar fastai em conjunto com outras bibliotecas. Geralmente, você poderá usar todo o código de processamento de dados existente, mas poderá reduzir a quantidade de código necessária para treinamento e aproveitar mais facilmente as vantagens das práticas recomendadas modernas. Aqui estão guias de migração de algumas bibliotecas populares para ajudá-lo em seu caminho:
Devido a problemas de multiprocessamento do Python no Jupyter e no Windows, num_workers
do Dataloader
é redefinido para 0 automaticamente para evitar o travamento do Jupyter. Isso torna tarefas como visão computacional no Jupyter no Windows muitas vezes mais lentas do que no Linux. Esta limitação não existe se você usar fastai de um script.
Veja este exemplo para aproveitar totalmente a API fastai no Windows.
Recomendamos usar o Windows Subsystem for Linux (WSL) – se você fizer isso, poderá usar a abordagem de instalação normal do Linux e não terá problemas com num_workers
.
Para executar os testes em paralelo, execute:
nbdev_test
Para que todos os testes sejam aprovados, você precisará instalar as dependências especificadas como parte de dev_requirements em settings.ini
pip install -e .[dev]
Os testes são escritos usando nbdev
, por exemplo, consulte a documentação de test_eq
.
Depois de clonar este repositório, certifique-se de ter executado nbdev_install_hooks
em seu terminal. Isso instala ganchos Jupyter e git para limpar, confiar e corrigir automaticamente conflitos de mesclagem em notebooks.
Após fazer alterações no repositório, você deve executar nbdev_prepare
e fazer alterações adicionais e necessárias para passar em todos os testes.
Para os interessados em contêineres docker oficiais para este projeto, eles podem ser encontrados aqui.