Kształt p_input
w this LSTM Autoencoder dla "test.py" to (128,8,1); co oznacza 128 zestawów po 8 cyfr. Próbuję dostosować ten model do danych opartych na szeregach czasowych z 4 zestawami po 25000 kroków czasowych (w zasadzie od 0 sekund do 25 000 sekund). Próbowałem wprowadzić ten zestaw danych do p_input
o kształcie (4,25000,1) i nie wystąpiły żadne błędy. Jednak po uruchomieniu skryptu, zamiast uzyskać iter 1: 0.01727, iter 2: 0.00983, ...
, nie otrzymuję wydrukowanych komentarzy ze skryptu, więc zakładam, że coś trzyma skrypt. Próbowałem również zmienić tylko batch_num
na 4 i step_num
na 25 000 bezpośrednio na nieedytowany plik "test.py" i taki sam wynik, jak brak wydrukowanej informacji zwrotnej.Autoencoder LSTM bez postępu, gdy skrypt działa na większym zestawie danych
Moje myśli są takie, że w "test.py", zbyt długo trwa przetwarzanie tf.split
i tf.squeeze
operacji. Inną myślą jest, że potrzebuję zwiększyć liczbę ukrytych jednostek LSTM w hidden_num
i/lub zwiększyć liczbę epok (iteration
). Ponadto może być tak, że batch_num
musi być większy niż step_num
. Próbowałem tego z "test.py" z step_num = 4
i batch_num = 25000
, a skrypt działał normalnie z wydrukowanymi informacjami zwrotnymi.
Poinformuj mnie, jakie są twoje przemyślenia na temat tego, w jaki sposób problem może powstrzymać działanie skryptu.
Dziękuję za odpowiedź. 25 000 kroków czasowych pochodzi z interpolacji i wyboru liczby punktów. Zawsze mogę to zmienić. Jaka powinna być maksymalna liczba kroków czasowych? Również nie bardzo rozumiem, jak robisz chunking nawet po przeczytaniu wszystkich twoich linków. –
Edytowałem odpowiedź. Powiedz mi, czy jest jaśniejszy. Jeśli chodzi o maksymalną liczbę kroków, zależy to od Twoich potrzeb. LSTM są w stanie nauczyć się zależności, która jest dość daleko w przeszłości, ale z mojego doświadczenia wynika, że chodzenie o więcej niż 100 kroków nie jest dobre. Więc jako pojedyncze wejście, nie przekraczaj porcji, które są zbyt długie w wymiarze czasu (zachowaj 20-50 jest lepsze) –