Testowałem przykładowy notebook w Flowers_tf_lite.ipynb i kiedy dostaję do treningu komórki, nie działa.
Wygląda na to, że zawsze jest w nieskończoności
2 odpowiedzi
@Pedro Asseiro Właściwie Iterator generuje dane dynamicznie. Więc długość Iteratora DataSet jest nieznana, aż dojdziesz do niego przynajmniej raz. Możesz przekazać argument steps_per_epoch do model.fit_generator
, jak pokazano poniżej. Następnie wydrukuje, jak się spodziewasz.
with tf.device("/device:GPU:0"):
history = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
epochs=epochs,
validation_data=val_generator,validation_steps=len(val_generator))
Edycja 1:
@Pedro Asseiro @gokul_uf Aktualizuję powyższy kod oparty na twoich komentarzach. Musisz dodać steps_per_epoch
, a także validation_steps
. Kolejna zmiana, którą wykonałem, była uruchomiona model.fit
w ramach GPU. Co więcej, zrobiłem dokładnie to samo do model.fit
w sekcji Dostrajanie.
with tf.device("/device:GPU:0"):
history_fine = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
epochs=5,
validation_data=val_generator,validation_steps=len(val_generator))
Sprawdź Github Gist tutaj. Dzięki!
Daj mi znać, jeśli coś nie działa. Dzięki!
W rzeczywistości działa, Unknown
, który widzisz, jest dlatego, że fit_generator
nie dowie się, ile partii znajduje się w zestawie danych. Próbowałem użyć argumentu steps_in_epoch
w fit_from_generator
, co rzuca inne kwestie związane z biblioteką.
Praca wokół byłaby ręcznie zatrzymywać szkolenie, gdy myślisz, że wydajność jest wystarczająco dobra i kontynuuj z resztą notebooka. Możesz zatrzymać bieżące wykonanie, naciskając przycisk "STOP" w lewym górnym rogu komórki lub z menu wykonawczego.
Podobne pytania
Nowe pytania
tensorflow
TensorFlow to biblioteka open source i interfejs API zaprojektowane do głębokiego uczenia się, napisane i utrzymywane przez Google. Użyj tego tagu ze znacznikiem specyficznym dla języka ([python], [c ++], [javascript], [r] itp.) W przypadku pytań dotyczących używania interfejsu API do rozwiązywania problemów z uczeniem maszynowym. Języki programowania, których można używać z interfejsem API TensorFlow, są różne, dlatego należy określić język programowania. Określ również obszar zastosowania, np. [Wykrywanie obiektów].