Los gráficos de cálculo dinámico (DCG) son la forma en que se representan los modelos de aprendizaje profundo en PyTorch. En términos abstractos, los gráficos de cálculo mapean el flujo de datos entre las diferentes operaciones de un sistema matemático: en el contexto del aprendizaje profundo, esencialmente traducen el código de una red neuronal en un diagrama de flujo que indica las operaciones realizadas en cada nodo y las dependencias entre los diferentes niveles de la red (la disposición de los pasos y secuencias que transforman los datos de entrada en datos de salida).
Lo que diferencia a los gráficos de cálculo dinámico (como los utilizados en PyTorch) de los gráficos de cálculo estáticos (como los utilizados en TensorFlow) es que los DCG aplazan la especificación exacta de los cálculos y las relaciones entre ellos hasta el momento de la ejecución. En otras palabras, mientras que un gráfico de cálculo estático requiere que la estructura de toda la red neuronal esté completamente determinada y compilada para poder ejecutarse, los DCG pueden repetirse y modificarse sobre la marcha.
Esto hace que los DCG sean especialmente útiles para la depuración y el desarrollo de prototipos, ya que partes específicas del código de un modelo pueden modificarse o ejecutarse de forma aislada sin tener que reiniciar todo el modelo, lo que, en el caso de los modelos de aprendizaje profundo de gran tamaño utilizados para tareas sofisticadas de visión artificial y procesamiento de lenguaje natural (NLP), puede suponer una pérdida tanto de tiempo como de recursos informáticos. Las ventajas de esta flexibilidad se extienden al entrenamiento de modelos, ya que los gráficos de cálculo dinámico se generan fácilmente a la inversa durante la retropropagación.
Aunque su estructura fija puede potenciar una mayor eficiencia en los cálculos, los gráficos de cálculos estáticos tienen una flexibilidad limitada: por ejemplo, construir un modelo que utilice una cantidad variable de niveles en función de los datos de entrada, como una red neuronal convolucional (CNN) que pueda procesar imágenes de distintos tamaños, resulta extremadamente difícil con gráficos estáticos.