tf.data.dataset.from_tensor_slices для модели RNN
У меня есть набор данных изображений, включая изображения RGB: img1.png, img2.png ... img250.png. Я извлек 100 небольших участков размером[64,64,3]
с каждого изображения. Итак, теперь у меня есть набор данных, например img1_1.png, img1_2.png ...img1_100.png, img2_1.png, img2_2.png, ... img2_100.png, img3_1, .....
Я хочу создать генератор данных с tf.data.dataset.from_tensor_slices
для передачи всех фрагментов каждого изображения в модель RNN. Итак, я хочу, чтобы генератор создавал такой вывод:[batch_size, 100, 64, 64, 3]
Как я могу это сделать?
250: количество изображений, 100: количество патчей, которые были извлечены из каждого изображения, 64,64,3: размер каждого патча
Например, для каждой итерации я хочу выбрать, например, 32 из 250 изображений случайным образом, объединить все 100 их патчей и создать следующий формат (32, 100, 64, 64, 3)
Из-за использования памяти я не могу загрузить все данные в переменную. У меня только 25000 патчей с именами img1_1.png, img1_2.png ...img1_100.png, img2_1.png, img2_2.png, ... img2_100.png, img3_1, ..... img250_1.png, img250_2.png ...img250_100.png.
Я думаю, лучше использовать формат
tf.data.dataset.from_tensor_slices((patch_files,labels)), but I don't know how.
Также важно отметить, что размер вектора метки равен (250,1). Если размер пакета равен 32, генератор должен выводить пакеты этикеток размером (32,1)