TensorFlow vs PyTorch: Eligiendo tu framework de ML

TensorFlow vs PyTorch: Eligiendo tu framework de ML

  • Inteligencia artificial
6 min de lectura Actualizado Feb 14, 2022

Puntos clave: TensorFlow y PyTorch son marcos líderes en aprendizaje automático, cada uno con fortalezas únicas. TensorFlow está ampliamente adoptado e integrado bien con Google Cloud, mientras que PyTorch es conocido por su flexibilidad y facilidad de utiliza con Python.

  • TensorFlow cuenta con un amplio apoyo y recursos de la comunidad.
  • PyTorch está preferido para la computación dinámica y su sintaxis python.

Entre los frameworks de aprendizaje automático (ML) más utilizados, dos son bastante populares:

  • PyTorch están el paquete de aprendizaje automático de Facebook
  • TensorFlow está de Google

Ambos permiten te construir modelos de Aprendizaje Automático, ambos tienen modelos fáciles de usar y son altamente personalizables. Ya sea te son nuevo en el campo de un experto, estas librerías pueden satisfacer todas tus necesidades, desde pruebas hasta despliegue. Veamos las diferencias entre ellas.

Nota: Para quienes buscan elegir un lenguaje de programación, ambas librerías son escritas en Python. Aprendiendo con máquina están la dirección te quiero tomar, aprender Python están denominador común. TensorFlow ahora tiene TensorFlow JS, así que también puede usarse con JavaScript.

Empezando

TensorFlow está más antiguo y más extendido. Al principio, tenía mucho más soporte comunitario y tutoriales en la web, pero PyTorch ya se ha puesto al día. Ahora está documentado extenso para ambos, así que aprender uno no será más fácil que el otro. La clave están simplemente Obtén adelante.

Con el modelismo, también, rara te necesidad de Comienza desde cero. te puedes encontrar tanto modelos preconstruidos como modelos con pesos preentrenados:

Huggingface también es una gran comunidad de ML que utiliza los modelos PyTorch y TensorFlow de forma intercambiable (literalmente tienen una herramienta para convertir modelos y pesos entre ambos), y su nuevo curso Hugging Face puede ayudarte a Obtén cómo Obtén con el Aprendizaje Automático.

Recursos adicionales incluyen:

Estilo de código

El código de cada uno es diferente. PyTorch está más pythonic y utiliza los estilos de Programación Orientada a Objetos. TensorFlow ha facilitado las cosas para los programadores, pero al hacerlo ha eliminado parte del tipo de programación habitual al que son acostumbrados los desarrolladores.

Tensores

Ambos frameworks utilizan:

  • Tensores para pasar datos a sus modelos
  • Grafos para Define sus modelos

TensorFlow tiene un grafo definido de forma estática que se expone al usuario a través de los comandos tf.session y tf. Placeholder. PyTorch tiene grafos definidos dinámicamente que resultan útiles para algunos modelos más complejos. TensorFlow Fold permite el dinamismo.

Comparando TensorFlow con PyTorch

Ahora, pasemos a una comparación de ambos marcos.

Pruebas de rendimiento

A principios de 2020, OpenAI estandarizó PyTorch. Les resultó más fácil y rápido probar nuevas ideas.

PyTorch informa de tiempos de entrenamiento más lentos, lo que, dado algunos modelos que utilizan estas empresas, puede requerir miles de horas de cálculo, por lo que el tiempo de entrenamiento está directamente asociado a los costes. PyTorch tiende a consumir más memoria durante el entrenamiento.

Precisión

Ambos marcos de modelos pueden Obtén la misma precisión. (Comparación de dos marcos populares de aprendizaje automático)

Modelos agrupados por marco
Esta comparación está algo anticuada (2017), pero, según un informe, sus resultados parecen seguir siendo válidos.

Formación distribuida

El entrenamiento distribuido está cada vez más imprescindible para modelos grandes. La gran idea está entrenar un modelo en un clúster Kubernetes. En PyTorch, implementar un modelo de entrenamiento distribuido está fácil:

    import torch.distributed as dist
from torch.nn.parallel import DistributedDataParallel
dist.init_process_group("nccl", world_size=2)
model = DistributedDataParallel(
        model)

En TensorFlow, te tendrás que hacer gran parte de la programación tú mismo.

Despliegue de modelos

Los modelos son geniales para investigación y backend, pero también deben funcionar en el mundo. Esto significa que el modelo y sus pesos deben Obtén o bien:

Al principio, TensorFlow era el mejor framework para esto, pero con el paso del tiempo, ambos frameworks pueden usarse para desplegar modelos en producción y está abundante documentación sobre cómo hacerlo.

Ahora bien, dado que Google tiene su propio framework en la nube, si te son usar Google Cloud, TensorFlow puede integrarse fácilmente con los servicios de Google, como guardar un modelo TF Lite en su cuenta Firestore y entregar el modelo a una aplicación móvil. Aunque algunas de las funciones de TF se integran bien con los servicios de Google, también son muchas soluciones para que Obtén modelos PyTorch funcionen.

TensorFlow tiene TensorBoard, que permite te Ve múltiples aspectos alrededor del modelo de aprendizaje automático, desde el gráfico del modelo hasta la curva de pérdidas. Tiene muchas opciones para explorar tu modelo, como te puedes Ve:

PyTorch no tiene una herramienta de visualización nativa. En su lugar, existe un paquete de visualización de grafos llamado Visdom.

Paquete de grafos de Visdom

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Inteligencia artificial

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.