Puede utilizar fastai sin ninguna instalación utilizando Google Colab. De hecho, cada página de esta documentación también está disponible como un cuaderno interactivo: haga clic en "Abrir en colab" en la parte superior de cualquier página para abrirla (asegúrese de cambiar el tiempo de ejecución de Colab a "GPU" para que se ejecute más rápido). Consulte la documentación de fast.ai sobre el uso de Colab para obtener más información.
Puede instalar fastai en sus propias máquinas con conda (muy recomendable), siempre que esté ejecutando Linux o Windows (NB: Mac no es compatible). Para Windows, consulte "Ejecución en Windows" para obtener notas importantes.
Recomendamos utilizar miniconda (o miniforge). Primero instale PyTorch usando la línea conda que se muestra aquí y luego ejecute:
conda install -c fastai fastai
Para instalar con pip, use: pip install fastai
.
Si planea desarrollar fastai usted mismo, o quiere estar a la vanguardia, puede usar una instalación editable (si hace esto, también debe usar una instalación editable de fastcore para acompañarla). Primero instale PyTorch y luego :
git clone https://github.com/fastai/fastai
pip install -e "fastai[dev]"
La mejor manera de comenzar con fastai (y el aprendizaje profundo) es leer el libro y completar el curso gratuito.
Para ver qué es posible con fastai, eche un vistazo al Inicio rápido, que muestra cómo usar alrededor de 5 líneas de código para crear un clasificador de imágenes, un modelo de segmentación de imágenes, un modelo de sentimiento de texto, un sistema de recomendación y un modelo tabular. Para cada una de las aplicaciones, el código es prácticamente el mismo.
Lea los tutoriales para aprender cómo entrenar sus propios modelos en sus propios conjuntos de datos. Utilice la barra lateral de navegación para consultar la documentación de fastai. Cada clase, función y método está documentado aquí.
Para conocer el diseño y la motivación de la biblioteca, lea el artículo revisado por pares.
fastai es una biblioteca de aprendizaje profundo que proporciona a los profesionales componentes de alto nivel que pueden proporcionar rápida y fácilmente resultados de última generación en dominios estándar de aprendizaje profundo, y proporciona a los investigadores componentes de bajo nivel que se pueden mezclar y combinar para construir nuevos enfoques. Su objetivo es hacer ambas cosas sin comprometer sustancialmente la facilidad de uso, la flexibilidad o el rendimiento. Esto es posible gracias a una arquitectura cuidadosamente estratificada, que expresa patrones subyacentes comunes de muchas técnicas de procesamiento de datos y aprendizaje profundo en términos de abstracciones desacopladas. Estas abstracciones se pueden expresar de manera concisa y clara aprovechando el dinamismo del lenguaje Python subyacente y la flexibilidad de la biblioteca PyTorch. fastai incluye:
fastai se organiza en torno a dos objetivos de diseño principales: ser accesible y rápidamente productivo, y al mismo tiempo ser profundamente pirateable y configurable. Está construido sobre una jerarquía de API de nivel inferior que proporcionan bloques de construcción componibles. De esta manera, un usuario que desee reescribir parte de la API de alto nivel o agregar un comportamiento particular para satisfacer sus necesidades no tiene que aprender a utilizar el nivel más bajo.
Es muy fácil migrar desde PyTorch, Ignite o cualquier otra biblioteca basada en PyTorch, o incluso usar fastai junto con otras bibliotecas. Generalmente, podrá utilizar todo el código de procesamiento de datos existente, pero podrá reducir la cantidad de código que necesita para la capacitación y aprovechar más fácilmente las mejores prácticas modernas. Aquí hay guías de migración de algunas bibliotecas populares para ayudarlo en su camino:
Debido a problemas de multiprocesamiento de Python en Jupyter y Windows, num_workers
de Dataloader
se restablece a 0 automáticamente para evitar que Jupyter se cuelgue. Esto hace que tareas como la visión por computadora en Jupyter en Windows sean muchas veces más lentas que en Linux. Esta limitación no existe si usa fastai desde un script.
Vea este ejemplo para aprovechar al máximo la API fastai en Windows.
En su lugar, recomendamos utilizar el Subsistema de Windows para Linux (WSL); si lo hace, puede utilizar el método de instalación normal de Linux y no tendrá ningún problema con num_workers
.
Para ejecutar las pruebas en paralelo, inicie:
nbdev_test
Para que se pasen todas las pruebas, deberá instalar las dependencias especificadas como parte de dev_requirements en settings.ini
pip install -e .[dev]
Las pruebas se escriben usando nbdev
; por ejemplo, consulte la documentación de test_eq
.
Después de clonar este repositorio, asegúrese de haber ejecutado nbdev_install_hooks
en su terminal. Esto instala Jupyter y Git Hooks para limpiar, confiar y solucionar automáticamente conflictos de fusión en cuadernos.
Después de realizar cambios en el repositorio, debe ejecutar nbdev_prepare
y realizar los cambios adicionales necesarios para pasar todas las pruebas.
Para aquellos interesados en los contenedores Docker oficiales para este proyecto, pueden encontrarlos aquí.