Tanto PyTorch como Tensorflow Fold son marcos de aprendizaje profundo destinados a tratar situaciones en las que los datos de entrada tienen una longitud o dimensiones no uniformes (es decir, situaciones en las que los gráficos dinámicos son útiles o necesarios).
Me gustaría saber cómo se comparan, en el sentido de los paradigmas en los que se basan (por ejemplo, procesamiento por lotes dinámico) y sus implicaciones, cosas que pueden / no pueden implementarse en cada uno, debilidades / fortalezas, etc.
Tengo la intención de utilizar esta información para elegir uno de ellos para comenzar a explorar gráficos de cálculo dinámico, pero no tengo en mente ninguna tarea específica.
Nota 1: otros marcos de gráficos dinámicos de cálculo como DyNet o Chainer también son bienvenidos en la comparación, pero me gustaría centrarse en PyTorch y Tensorflow pliegue porque creo que son / serán los más utilizados.
Nota 2: He encontrado este hilo hackernews en PyTorch con información escasa, pero no mucha.
Nota 3: Otro hilo relevante de hackernews , sobre Tensorflow Fold, que contiene información sobre cómo se comparan.
Nota 4: hilo relevante de Reddit .
Nota 5: error relevante en el github de Tensorflow Fold que identifica una limitación importante: imposibilidad de realizar ramificaciones condicionales durante la evaluación.
Nota 6: discusión en el foro de Pytorch sobre entradas de longitud variable en relación con los algoritmos utilizados (por ejemplo, procesamiento por lotes dinámico).
fuente
Respuestas:
Hay un par de buenos hilos en Reddit en este momento ( aquí y aquí ).
No he usado ninguno de estos marcos, pero al leer y hablar con los usuarios, deduzco que el soporte para gráficos dinámicos en PyTorch es un 'principio de diseño de arriba hacia abajo', mientras que TensorFlow Fold está atornillado al marco original de Tensorflow, por lo que si estás haciendo algo razonablemente complicado con Tensorflow Fold , probablemente terminarás haciendo mucho más pirateo que si estás usando PyTorch .
fuente