Pracuję nad problemem klasyfikacji z zestawem danych obrazów, mających 11 klas. Zawiera on w sumie 11 000 obrazów, przy czym każda klasa zawiera 1000 obrazów zapisanych w folderach (11 folderów). Rozmiar zbioru danych wynosi około 40 MB. Po tym, jak przesyłam dane z dysku Google w collab( co w rzeczywistości zajmuje trochę czasu) i wstępnie przetwarzam je przed podaniem modelu, pamięć collab natychmiast wypełnia się na 95%. Gdy zaczynam ćwiczyć, collab wywala, a czas realizacji jest resetowany. Tego się nie dzieje, gdy używam funkcji Keras "Strumień danych z katalogu". Nie mogę znaleźć rozwiązania. Zrzut ekranu
0
Dzieje się tak dlatego, że, powodując fit z zestawami danych train i sprawdzania, sprawiasz, że colab przesłać wszystkie zdjęcia w pamięci jednocześnie, trzeba napisać generator, proste rozwiązanie z większą częścią już napisanego kodu użyć zapisu tf, z resztą sobie poradzi keras.
https://www.tensorflow.org/tutorials/load_data/tfrecord
trzeba zapisać zdjęcia na dysku i strzelać do nich w trakcie nauki, a nie wszystkie na raz.
nie trzeba korzystać z tfrecords, można użyć dowolnego generator, który ci się podoba, ale to dzieje się od razu
BestDogeStackoverflow
Cóż, używam tutaj tuner Keras, więc nie jestem pewien, czy można użyć generatora z poszukiwaniem tunera, czy nie
SDS