Tutorial de PyTorch
PyTorch es una biblioteca de aprendizaje automático de código abierto, utilizada principalmente para la investigación y el desarrollo en campos como la visión por computadora (CV), el procesamiento del lenguaje natural (NLP) y el reconocimiento de voz.
PyTorch fue desarrollado por el equipo de investigación de inteligencia artificial de Facebook y se utiliza ampliamente en la comunidad de aprendizaje automático y aprendizaje profundo.
PyTorch es conocido por su flexibilidad y facilidad de uso, y es especialmente adecuado para la investigación y el desarrollo del aprendizaje profundo.
¿Quién debería leer este tutorial?
Siempre que tenga conocimientos básicos de programación, puede leer este tutorial. Aprender PyTorch es adecuado para personas interesadas en el aprendizaje profundo y el aprendizaje automático, incluidos científicos de datos, ingenieros, investigadores y estudiantes.
Conocimientos que necesita antes de leer este tutorial:
Antes de comenzar a leer este tutorial, debe tener los conocimientos básicos que incluyen programación en Python, matemáticas fundamentales (álgebra lineal, teoría de la probabilidad, cálculo), conceptos básicos de aprendizaje automático, conocimientos de redes neuronales, así como cierta capacidad de lectura en inglés para consultar documentos y materiales.
-
Fundamentos de programación: dominar al menos un lenguaje de programación, especialmentePython, ya que PyTorch está escrito principalmente en Python.
-
Fundamentos de matemáticas: conocer conocimientos matemáticos básicos como álgebra lineal, teoría de probabilidades y estadística, cálculo, etc., que son la base para comprender e implementar algoritmos de aprendizaje automático.
-
Fundamentos de aprendizaje automático: comprender los conceptos básicos del aprendizaje automático, como el aprendizaje supervisado, el aprendizaje no supervisado, el aprendizaje por refuerzo, las métricas de evaluación de modelos (exactitud, recall, puntuación F1, etc.).
-
Fundamentos de aprendizaje profundo: familiarizarse con los conceptos básicos de las redes neuronales, incluidas las redes neuronales feedforward, las redes neuronales convolucionales (CNN), las redes neuronales recurrentes (RNN), las redes de memoria a largo y corto plazo (LSTM), etc.
-
Fundamentos de visión por computadora y procesamiento del lenguaje natural: si tiene la intención de aplicar PyTorch en estos campos, será útil tener conocimientos previos relacionados.
-
Fundamentos de Linux/Unix: aunque no es obligatorio, conocer los fundamentos del sistema operativo Linux/Unix puede ayudarle a utilizar de manera más eficaz las herramientas y scripts de línea de comandos, especialmente en el preprocesamiento de datos y el entrenamiento de modelos.
-
Capacidad de lectura en inglés: dado que muchos documentos, tutoriales y debates comunitarios se realizan en inglés, poseer cierta capacidad de lectura en inglés le ayudará a aprender y resolver problemas de manera más eficaz.
Ejemplo
A continuación se muestran algunas operaciones básicas de tensores en PyTorch: cómo crear tensores aleatorios, realizar operaciones elemento a elemento, acceder a elementos específicos y calcular la suma y el valor máximo.
Ejemplo
# Establecer el tipo de datos y el dispositivo
dtype = torch.float # El tipo de datos del tensor es de punto flotante
device = torch.device("cpu") # Este cálculo se realiza en la CPU
# Crear e imprimir dos tensores aleatorios a y b
a = torch.randn(2, 3, device=device, dtype=dtype) # Crear un tensor aleatorio de 2x3
b = torch.randn(2, 3, device=device, dtype=dtype) # Crear otro tensor aleatorio de 2x3
print(Tensor a:)
print(a)
print(Tensor b:)
print(b)
# Multiplicar elemento a elemento y mostrar el resultado
print(Producto elemento a elemento de a y b:)
print(a * b)
# Mostrar la suma de todos los elementos del tensor a
print(Suma de todos los elementos del tensor a:)
print(a.sum())
# Mostrar el elemento de la fila 2, columna 3 del tensor a (tenga en cuenta que los índices comienzan en 0)
print(Elemento del tensor a en la fila 2, columna 3:)
print(a[1, 2])
# Mostrar el valor máximo en el tensor a
print(Valor máximo en el tensor a:)
print(a.max())
Creación de tensores:
torch.randn(2, 3)Cree un tensor de 2 filas y 3 columnas relleno con números aleatorios (que siguen una distribución normal).device=deviceydtype=dtypeSe especifican respectivamente el dispositivo de cálculo (CPU o GPU) y el tipo de datos (punto flotante).
Operaciones con tensores:
a * b: multiplicación elemento a elemento.a.sum(): calcular del tensorala suma de todos los elementos.a[1, 2]: acceder al elementoade la fila 2, columna 3 del tensor (tenga en cuenta que los índices comienzan en 0).a.max(): obtener el valor máximoadel tensor.
Salida: (los valores variarán en cada ejecución)
张量 a:
tensor([[-0.1460, -0.3490, 0.3705],
[-1.1141, 0.7661, 1.0823]])
张量 b:
tensor([[ 0.6901, -0.9663, 0.3634],
[-0.6538, -0.3728, -1.1323]])
a 和 b 的逐元素乘积:
tensor([[-0.1007, 0.3372, 0.1346],
[ 0.7284, -0.2856, -1.2256]])
张量 a 所有元素的总和:
tensor(0.6097)
张量 a 第 2 行第 3 列的元素:
tensor(1.0823)
张量 a 中的最大值:
tensor(1.0823)
Enlaces de referencia
Sitio web oficial de PyTorch:https://pytorch.org/
Tutorial oficial de introducción a PyTorch:https://pytorch.org/get-started/locally/
Documentación oficial de PyTorch:https://pytorch.org/docs/stable/index.html
Código fuente de PyTorch:https://github.com/pytorch/pytorch
Otras extensiones