PyTorch
PyTorch es un marco de aprendizaje automático de código abierto para Python creado sobre Torch [2] [3] [4] . Se utiliza para diversas tareas: visión artificial , procesamiento de lenguaje natural . [5] Desarrollado principalmente por el grupo de inteligencia artificial Facebook [6] [7] [8] . Además, se construye un ecosistema [9] alrededor de este marco , que consta de varias bibliotecas desarrolladas por equipos de terceros: PyTorch Lightning y Fast.ai [10] , que simplifican el proceso de entrenamiento de modelos, Pyro , un módulo para programación probabilística , de Uber [11] . Flair [12] para procesamiento de lenguaje natural y Catalyst [13] para entrenar modelos
DL y RL .
PyTorch proporciona dos modelos principales de alto nivel: [14]
- Computación de tensor (similar a NumPy ) con soporte avanzado para aceleración de GPU
- Redes neuronales profundas basadas en el sistema autodiff
Tensores PyTorch
Los tensores no son nada especial, solo son matrices multidimensionales. Los tensores PyTorch (Tensors) son similares a las matrices del paquete NumPy , pero se pueden procesar adicionalmente en aceleradores de video. PyTorch admite varios tipos de tensores. [quince]
Módulos
Módulo Autograd
PyTorch utiliza un método de diferenciación automática. Los cálculos directos se graban y luego se reproducen para calcular los gradientes ( propagación hacia atrás ). Este método es especialmente útil cuando se construyen redes neuronales, ya que le permite calcular las correcciones de parámetros diferenciales simultáneamente con el paso hacia adelante.
Módulo Optim
torch.optim es un módulo que implementa varios algoritmos de optimización utilizados en la construcción de redes neuronales. Se han implementado la mayoría de los métodos más utilizados.
Módulo nn
El módulo de graduación automática de PyTorch facilita la definición de gráficos computacionales y el trabajo con gradientes, pero puede ser de un nivel demasiado bajo para definir redes neuronales complejas. Una abstracción de mayor nivel para tales aplicaciones es el módulo nn.
Ejemplo
El siguiente código demuestra la funcionalidad de la biblioteca con un ejemplo simple: [16] [17]
antorcha de importación
dtype = antorcha . flotar
dispositivo = antorcha . dispositivo ( "cpu" ) # Esto ejecuta todos los cálculos en la CPU
# dispositivo = torch.device("cuda:0") # Esto ejecuta todos los cálculos en la GPU
# Creación de un tensor y llenado de un tensor con números aleatorios
a = antorcha . randn ( 2 , 3 , dispositivo = dispositivo , dtipo = dtipo )
print ( a ) # Salida del tensor A
# Salida: tensor([[-1.1884, 0.8498, -1.7129],
# [-0.8816, 0.1944, 0.5847]])
# Creación de un tensor y llenado de un tensor con números aleatorios
b = antorcha . randn ( 2 , 3 , dispositivo = dispositivo , dtipo = dtipo )
print ( b ) # Salida del tensor B
# Salida: tensor([[ 0.7178, -0.8453, -1.3403],
# [1.3262, 1.1512, -1.7070]])
print ( a * b ) # Salida de una multiplicación de los dos tensores
# Salida: tensor([[-0.8530, -0.7183, 2.58],
# [-1.1692, 0.2238, -0.9981]])
print ( a . sum ()) # Salida de la suma de todos los elementos en el tensor A
# Salida: tensor(-2.1540)
print ( a [ 1 , 2 ]) # Salida del elemento en la tercera columna de la segunda fila
# Salida: tensor (0.5847)
print ( a . min ()) # Salida del valor mínimo en el tensor A
# Salida: tensor(-1.7129)
Véase también
Notas
- ↑ https://github.com/pytorch/pytorch/releases/tag/v1.13.0
- ↑ Yegulalp, Serdar . Facebook lleva el aprendizaje automático impulsado por GPU a Python , InfoWorld (19 de enero de 2017). Archivado desde el original el 12 de julio de 2018. Consultado el 11 de diciembre de 2017.
- ↑ Lorica, Ben Por qué los investigadores de inteligencia artificial y aprendizaje automático están comenzando a adoptar PyTorch . O'Reilly Media (3 de agosto de 2017). Consultado el 11 de diciembre de 2017. Archivado desde el original el 17 de mayo de 2019. (indefinido)
- ↑ Ketkar, Nikhil. Aprendizaje profundo con Python . - Apress, Berkeley, CA, 2017. - P. 195-208. — ISBN 9781484227657 . -doi : 10.1007 / 978-1-4842-2766-4_12 .
- ↑ Procesamiento del lenguaje natural (NLP) con PyTorch - Documentación de NLP con PyTorch . dl4nlp.info . Consultado el 18 de diciembre de 2017. Archivado desde el original el 21 de junio de 2019.
- ↑ Patel, Mo. Cuando dos tendencias se fusionan: PyTorch y los sistemas de recomendación (inglés) , O'Reilly Media (7 de diciembre de 2017). Archivado desde el original el 30 de marzo de 2019. Consultado el 30 de septiembre de 2018.
- ↑ Mannes, John . Facebook y Microsoft colaboran para simplificar las conversiones de PyTorch a Caffe2 , TechCrunch . Archivado desde el original el 6 de julio de 2020. Consultado el 30 de septiembre de 2018. “FAIR está acostumbrado a trabajar con PyTorch, un marco de aprendizaje profundo optimizado para lograr resultados de vanguardia en la investigación, 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 Los gigantes tecnológicos están utilizando marcos de trabajo de código abierto para dominar la comunidad de IA . Venture Beat (29 de noviembre de 2017). Consultado el 18 de diciembre de 2017. Archivado desde el original el 30 de marzo de 2019.
- ↑ PyTorch (inglés) (enlace descendente) . pytorch.org. Consultado el 16 de junio de 2019. Archivado desde el original el 31 de agosto de 2019.
- ↑ fast.ai Haciendo que las redes neuronales vuelvan a pasar desapercibidas . www.rápido.ai. Consultado el 16 de junio de 2019. Archivado desde el original el 16 de junio de 2019. (indefinido)
- ↑ Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language , Uber Engineering Blog ( 3 de noviembre de 2017). Archivado desde el original el 25 de diciembre de 2017. Consultado el 30 de septiembre de 2018.
- ↑ Un marco muy simple para el procesamiento del lenguaje natural (NLP) de última generación: zalandoresearch/flair . — 2019-06-16. Archivado desde el original el 18 de junio de 2019.
- ↑ DL y RL rápidos y reproducibles. Contribuya al desarrollo del equipo catalizador/catalizador creando una cuenta en GitHub . — 2019-11-25. Archivado desde el original el 22 de diciembre de 2019.
- ↑ PyTorch - Acerca de (enlace descendente) . pytorch.org . Consultado el 11 de junio de 2018. Archivado desde el original el 15 de junio de 2018. (indefinido)
- ↑ Una introducción a PyTorch: una biblioteca de aprendizaje profundo simple pero poderosa . analyticsvidhya.com . Consultado el 11 de junio de 2018. Archivado desde el original el 22 de octubre de 2019. (indefinido)
- ↑ Jeremy Howard, Sylvain Gugger. Aprendizaje profundo para codificadores con fastai y PyTorch . - O'Reilly, 2020. - ISBN 978-1492045526 . Archivado el 8 de octubre de 2021 en Wayback Machine .
- ↑ Caffe2 se fusiona con PyTorch (2 de abril de 2018). Consultado el 8 de octubre de 2021. Archivado desde el original el 30 de marzo de 2019. (indefinido)
Literatura
- McMahan B., Rao D. Introducción a PyTorch: aprendizaje profundo en el procesamiento del lenguaje natural = Procesamiento del lenguaje natural con PyTorch. Cree aplicaciones de lenguaje inteligente mediante el aprendizaje profundo. - Pedro , 2020. - 256 p. — ISBN 978-5-4461-1241-8 .
Enlaces
en redes sociales |
|
---|
Foto, video y audio |
|
---|
sitios temáticos |
|
---|