PyTorch es una biblioteca de aprendizaje automático de código abierto basada en la biblioteca Torch , [3] [4] [5] utilizada para aplicaciones como la visión por computadora y el procesamiento del lenguaje natural , [6] desarrollada principalmente por el laboratorio de investigación de inteligencia artificial de Facebook (FAIR) . [7] [8] [9] Es un software gratuito y de código abierto publicado bajo la licencia BSD modificada . Aunque la interfaz de Python está más pulida y es el foco principal del desarrollo, PyTorch también tiene una interfaz C ++ . [10]
Autor (es) original (es) |
|
---|---|
Desarrollador (es) | Laboratorio de investigación de inteligencia artificial de Facebook (FAIR) |
Versión inicial | Septiembre de 2016 [1] |
Lanzamiento estable | 1.8.0 [2] / 4 de marzo de 2021 |
Repositorio | github |
Escrito en | |
Sistema operativo | |
Plataforma | IA-32 , x86-64 |
Disponible en | inglés |
Tipo | Biblioteca para aprendizaje automático y aprendizaje profundo |
Licencia | BSD |
Sitio web | pytorch .org |
Varias piezas de software de aprendizaje profundo están construidas sobre PyTorch, incluyendo Tesla Autopilot , [11] Uber 's Pyro, [12] HuggingFace's Transformers, [13] PyTorch Lightning , [14] [15] y Catalyst. [16] [17]
PyTorch proporciona dos funciones de alto nivel: [18]
- Computación tensorial (como NumPy ) con fuerte aceleración a través de unidades de procesamiento de gráficos (GPU)
- Redes neuronales profundas construidas sobre un sistema de diferenciación automática basado en tipos
Historia
Facebook opera PyTorch y la arquitectura convolucional para la integración rápida de funciones ( Caffe2 ), pero los modelos definidos por los dos marcos eran mutuamente incompatibles. El proyecto Open Neural Network Exchange ( ONNX ) fue creado por Facebook y Microsoft en septiembre de 2017 para convertir modelos entre marcos. Caffe2 se fusionó con PyTorch a finales de marzo de 2018. [19]
Tensores PyTorch
PyTorch define una clase llamada Tensor ( torch.Tensor
) para almacenar y operar en matrices rectangulares multidimensionales homogéneas de números. Los tensores PyTorch son similares a las matrices NumPy , pero también se pueden operar en una GPU Nvidia compatible con CUDA . PyTorch admite varios subtipos de tensores. [20]
Módulos
Módulo de autogrado
PyTorch usa un método llamado diferenciación automática . Un registrador registra las operaciones que se han realizado y luego las reproduce hacia atrás para calcular los gradientes. Este método es especialmente poderoso cuando se construyen redes neuronales para ahorrar tiempo en una época al calcular la diferenciación de los parámetros en el pase directo.
Optim
módulo
torch.optim
es un módulo que implementa varios algoritmos de optimización utilizados para construir redes neuronales. La mayoría de los métodos más utilizados ya son compatibles, por lo que no es necesario crearlos desde cero.
nn
módulo
El autogrado de PyTorch facilita la definición de gráficos computacionales y la toma de gradientes, pero el autogrado en bruto puede ser un nivel demasiado bajo para definir redes neuronales complejas. Aquí es donde el nn
módulo puede ayudar.
Ver también
- Comparación de software de aprendizaje profundo
- Programación diferenciable
- DeepSpeed
- Antorcha (aprendizaje automático)
- Tensor
Referencias
- ^ Chintala, Soumith (1 de septiembre de 2016). "Lanzamiento de PyTorch Alpha-1" .
- ^ "Versión de PyTorch 1.8, incluidas las actualizaciones del compilador y la formación distribuida, nuevos tutoriales móviles y más" . 4 de marzo de 2021 . Consultado el 6 de marzo de 2021 .
- ^ Yegulalp, Serdar (19 de enero de 2017). "Facebook lleva el aprendizaje automático impulsado por GPU a Python" . InfoWorld . Consultado el 11 de diciembre de 2017 .
- ^ Lorica, Ben (3 de agosto de 2017). "Por qué los investigadores de inteligencia artificial y aprendizaje automático están comenzando a adoptar PyTorch" . O'Reilly Media . Consultado el 11 de diciembre de 2017 .
- ^ Ketkar, Nikhil (2017). "Introducción a PyTorch". Aprendizaje profundo con Python . Apress, Berkeley, CA. págs. 195-208. doi : 10.1007 / 978-1-4842-2766-4_12 . ISBN 9781484227657.
- ^ "Procesamiento de lenguaje natural (NLP) con PyTorch - NLP con documentación de PyTorch" . dl4nlp.info . Consultado el 18 de diciembre de 2017 .
- ^ Patel, Mo (7 de diciembre de 2017). "Cuando dos tendencias se fusionan: PyTorch y sistemas de recomendación" . O'Reilly Media . Consultado el 18 de diciembre de 2017 .
- ^ Mannes, John. "Facebook y Microsoft colaboran para simplificar las conversiones de PyTorch a Caffe2" . TechCrunch . Consultado el 18 de diciembre de 2017 .
FAIR está acostumbrado a trabajar con PyTorch, un marco de aprendizaje profundo optimizado para lograr resultados de investigación de vanguardia, independientemente de las limitaciones de recursos. Desafortunadamente, en el mundo real, la mayoría de nosotros estamos limitados por las capacidades computacionales de nuestros teléfonos inteligentes y computadoras.
- ^ Arakelyan, Sophia (29 de noviembre de 2017). "Los gigantes tecnológicos están utilizando marcos de código abierto para dominar la comunidad de IA" . VentureBeat . Consultado el 18 de diciembre de 2017 .
- ^ "El Frontend C ++" . Documentación maestra de PyTorch . Consultado el 29 de julio de 2019 .
- ^ Karpathy, Andrej. "PyTorch en Tesla - Andrej Karpathy, Tesla" .
- ^ "Pyro de fuentes abiertas de Uber AI Labs, un lenguaje de programación probabilístico profundo" . Blog de ingeniería de Uber . 2017-11-03 . Consultado el 18 de diciembre de 2017 .
- ^ PYTORCH-TRANSFORMERS: Implementaciones PyTorch de los populares transformadores NLP , PyTorch Hub, 2019-12-01 , consultado el 2019-12-01
- ^ PYTORCH-Lightning: la envoltura ligera de PyTorch para investigadores de ML. Escale sus modelos. Write less boilerplate , Lightning-Team, 2020-06-18 , recuperado 2020-06-18
- ^ "Herramientas del ecosistema" . pytorch.org . Consultado el 18 de junio de 2020 .
- ^ GitHub - catalizador-equipo / catalizador: Accelerated DL & RL , Catalyst-Team, 2019-12-05 , consultado 2019-12-05
- ^ "Herramientas del ecosistema" . pytorch.org . Consultado el 4 de abril de 2020 .
- ^ "PyTorch - Acerca de" . pytorch.org . Archivado desde el original el 15 de junio de 2018 . Consultado el 11 de junio de 2018 .
- ^ "Caffe2 se fusiona con PyTorch" . 2018-04-02.
- ^ "Una introducción a PyTorch: una biblioteca de aprendizaje profundo simple pero potente" . analyticsvidhya.com . 2018-02-22 . Consultado el 11 de junio de 2018 .
enlaces externos
- Página web oficial