PyTorch vs. Tensorflow Fold

26

Zarówno PyTorch, jak i Tensorflow Fold są platformami do głębokiego uczenia się, przeznaczonymi do radzenia sobie w sytuacjach, w których dane wejściowe mają niejednorodną długość lub wymiary (to znaczy sytuacje, w których dynamiczne wykresy są przydatne lub potrzebne).

Chciałbym wiedzieć, jak się porównują, w sensie paradygmatów, na których się opierają (np. Dynamiczne grupowanie) i ich implikacje, rzeczy, które można / nie można wdrożyć w każdym, słabości / mocne strony itp.

Zamierzam użyć tych informacji, aby wybrać jedną z nich, aby rozpocząć eksplorację dynamicznych wykresów obliczeniowych, ale nie mam na myśli żadnego konkretnego zadania.

Uwaga 1: inne ramy dynamicznych wykresów obliczeniowych, takie jak DyNet lub Chainer, również są mile widziane w porównaniu, ale chciałbym skupić się na PyTorch i Tensorflow Fold, ponieważ myślę, że są / będą najczęściej używane.

Uwaga 2: Znalazłem ten wątek hackernews na PyTorch z pewnymi rzadkimi informacjami, ale niewiele.

Uwaga 3: Kolejny odpowiedni wątek hackernews dotyczący Tensorflow Fold, który zawiera pewne informacje na temat ich porównania.

Uwaga 4: odpowiedni wątek Reddit .

Uwaga 5: istotny błąd w githubie Tensorflow Fold, który identyfikuje ważne ograniczenie: niemożność wykonania rozgałęzienia warunkowego podczas oceny.

Uwaga 6: dyskusja na forum pytorch na temat danych wejściowych o zmiennej długości w stosunku do zastosowanych algorytmów (np. Grupowanie dynamiczne).

ncasas
źródło
Możesz także dodać tę trwającą ( od momentu napisania tego komentarza) dyskusję autorów pytorcha do listy referencji.
GuSuku,
1
Uważam ten link za bardzo interesujący i porównuje się go tak, jak prosiłeś (o grafie dynamicznym i korzystaniu z DyNet i Chainer) hackernoon.com/...
John Theo

Odpowiedzi:

9

W Reddit jest teraz kilka dobrych wątków ( tu i tutaj ).

Nie korzystałem z żadnego z tych frameworków, ale po przeczytaniu i rozmowie z użytkownikami uznaję, że obsługa dynamicznych wykresów w PyTorch jest „zasadą projektowania odgórnego”, podczas gdy TensorFlow Fold jest przykręcony do oryginalnej ramy Tensorflow, więc jeśli robisz cokolwiek dość skomplikowanego z Tensorflow Fold , prawdopodobnie skończysz dużo więcej hakowania niż w przypadku korzystania z PyTorch .

Christopherlovell
źródło
3
Takie było moje doświadczenie z używaniem Fold z przewijaniem przez drzewa w ciągu ostatnich kilku miesięcy. Nie jest jeszcze wystarczająco dojrzały, aby sobie z tym poradzić. Sugerują „obejście”, jeśli spojrzysz na zamknięte problemy w repozytorium. Przejście na PyTorch, ponieważ Fold jest tak nieelastyczny - zamierzona gra słów.
Soubriquet