У меня есть готовая модель keras CNN, которая ожидает [None, 20,20,3] массивы в качестве входных данных.(Размер изображения здесь 20 ...) С другой стороны у меня есть CSV с 1200 (20 * 20 * 3) столбцами, готовыми в моем облачном хранилище.
Я хочу написать ETL-конвейер с тензорным потокомполучить тензор формы [20,20,3] для каждой строки в CSV.
Мой код до сих пор:
Я уже потратил несколько дней работы и уверен, что этот подход можетпотренируйся в конце.
import tensorflow as tf
BATCH_SIZE = 30
tf.enable_eager_execution()
X_csv_path = 'gs://my-bucket/dataX.csv'
X_dataset = tf.data.experimental.make_csv_dataset(X_csv_path, BATCH_SIZE, column_names=range(1200) , header=False)
X_dataset = X_dataset.map(lambda x: tf.stack(list(x.values())))
iterator = X_dataset.make_one_shot_iterator()
image = iterator.get_next()
Я ожидал бы иметь форму [30,1200], но я все равно получаю 1200 тензор формы [30].Моя идея состоит в том, чтобы прочитать каждую строку в тензор в форме [1200], а затем преобразовать ее в тензор [20,20,3], чтобы снабдить мою модель.Спасибо за ваше время!