Vous pouvez utiliser fastai sans aucune installation en utilisant Google Colab. En fait, chaque page de cette documentation est également disponible sous forme de bloc-notes interactif : cliquez sur « Ouvrir dans Colab » en haut de n'importe quelle page pour l'ouvrir (assurez-vous de changer le runtime Colab en « GPU » pour qu'il s'exécute rapidement !) Consultez la documentation fast.ai sur l'utilisation de Colab pour plus d'informations.
Vous pouvez installer fastai sur vos propres machines avec conda (fortement recommandé), à condition que vous utilisiez Linux ou Windows (NB : Mac n'est pas pris en charge). Pour Windows, veuillez consulter la section « Exécuter sous Windows » pour les remarques importantes.
Nous vous recommandons d'utiliser miniconda (ou miniforge). Installez d'abord PyTorch à l'aide de la ligne conda présentée ici, puis exécutez :
conda install -c fastai fastai
Pour installer avec pip, utilisez : pip install fastai
.
Si vous envisagez de développer fastai vous-même ou si vous souhaitez être à la pointe de la technologie, vous pouvez utiliser une installation modifiable (si vous faites cela, vous devez également utiliser une installation modifiable de fastcore pour l'accompagner.) Installez d'abord PyTorch, puis :
git clone https://github.com/fastai/fastai
pip install -e "fastai[dev]"
La meilleure façon de démarrer avec le fastai (et le deep learning) est de lire le livre et de suivre le cours gratuit.
Pour voir ce qui est possible avec fastai, jetez un œil au Quick Start, qui montre comment utiliser environ 5 lignes de code pour créer un classificateur d'images, un modèle de segmentation d'images, un modèle de sentiments textuels, un système de recommandation et un modèle tabulaire. Pour chacune des applications, le code est sensiblement le même.
Lisez les didacticiels pour apprendre à entraîner vos propres modèles sur vos propres ensembles de données. Utilisez la barre latérale de navigation pour parcourir la documentation fastai. Chaque classe, fonction et méthode est documentée ici.
Pour en savoir plus sur la conception et la motivation de la bibliothèque, lisez l'article évalué par les pairs.
fastai est une bibliothèque d'apprentissage profond qui fournit aux praticiens des composants de haut niveau capables de fournir rapidement et facilement des résultats de pointe dans les domaines standard d'apprentissage profond, et fournit aux chercheurs des composants de bas niveau qui peuvent être mélangés et associés pour construire de nouvelles approches. Son objectif est de faire les deux sans faire de compromis substantiels en termes de facilité d'utilisation, de flexibilité ou de performances. Ceci est possible grâce à une architecture soigneusement stratifiée, qui exprime des modèles sous-jacents communs à de nombreuses techniques d’apprentissage profond et de traitement de données en termes d’abstractions découplées. Ces abstractions peuvent être exprimées de manière concise et claire en tirant parti du dynamisme du langage Python sous-jacent et de la flexibilité de la bibliothèque PyTorch. fastai comprend :
fastai est organisé autour de deux objectifs de conception principaux : être accessible et rapidement productif, tout en étant profondément piratable et configurable. Il est construit au-dessus d'une hiérarchie d'API de niveau inférieur qui fournissent des éléments de base composables. De cette façon, un utilisateur souhaitant réécrire une partie de l'API de haut niveau ou ajouter un comportement particulier en fonction de ses besoins n'a pas besoin d'apprendre à utiliser le niveau le plus bas.
Il est très facile de migrer depuis PyTorch, Ignite ou toute autre bibliothèque basée sur PyTorch, ou même d'utiliser fastai en conjonction avec d'autres bibliothèques. En règle générale, vous pourrez utiliser tout votre code de traitement de données existant, mais pourrez réduire la quantité de code dont vous avez besoin pour la formation et profiter plus facilement des meilleures pratiques modernes. Voici les guides de migration de certaines bibliothèques populaires pour vous aider dans votre démarche :
En raison de problèmes de multitraitement Python sur Jupyter et Windows, num_workers
de Dataloader
est automatiquement réinitialisé à 0 pour éviter le blocage de Jupyter. Cela rend les tâches telles que la vision par ordinateur dans Jupyter sous Windows plusieurs fois plus lentes que sous Linux. Cette limitation n'existe pas si vous utilisez fastai à partir d'un script.
Consultez cet exemple pour exploiter pleinement l’API fastai sous Windows.
Nous vous recommandons d'utiliser le sous-système Windows pour Linux (WSL) à la place. Si vous faites cela, vous pouvez utiliser l'approche d'installation Linux habituelle et vous n'aurez aucun problème avec num_workers
.
Pour exécuter les tests en parallèle, lancez :
nbdev_test
Pour que tous les tests réussissent, vous devrez installer les dépendances spécifiées dans le cadre de dev_requirements dans settings.ini.
pip install -e .[dev]
Les tests sont écrits en utilisant nbdev
, par exemple consultez la documentation de test_eq
.
Après avoir cloné ce référentiel, assurez-vous d'avoir exécuté nbdev_install_hooks
dans votre terminal. Cela installe les hooks Jupyter et git pour nettoyer, approuver et résoudre automatiquement les conflits de fusion dans les blocs-notes.
Après avoir apporté des modifications au référentiel, vous devez exécuter nbdev_prepare
et apporter les modifications supplémentaires nécessaires afin de réussir tous les tests.
Pour ceux qui sont intéressés par les conteneurs Docker officiels pour ce projet, ils peuvent être trouvés ici.