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).
źródło
Odpowiedzi:
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 .
źródło