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)

0 ответов

Другие вопросы по тегам