PyTorch vs Tensorflow Fold


26

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).


También puede agregar esta discusión en curso (al momento de escribir este comentario) de los contribuyentes de pytorch a su lista de referencias.
GuSuku

1
Este enlace me pareció muy interesante y se compara a medida que lo solicitó (sobre el gráfico dinámico y el uso de DyNet y Chainer
John Theo

Respuestas:


9

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 .


3
Esa fue más o menos mi experiencia al tratar de usar Fold con convoluciones sobre árboles durante los últimos meses. Todavía no es lo suficientemente maduro como para manejar cosas así. Sugieren "soluciones" si nos fijamos en los problemas cerrados en su repositorio. Cambiando a PyTorch porque Fold es muy inflexible - juego de palabras intencionado.
Soubriquet
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.