Я конвертирую некоторый код, который первоначально использовал JPEG в качестве входных данных для использования файлов Matlab MAT. Код содержит строки:
train_dataset = tf.data.Dataset.list_files(PATH + 'train/*.mat')
train_dataset = train_dataset.shuffle(BUFFER_SIZE)
train_dataset = train_dataset.map(load_image_train)
Если I l oop через набор данных и распечатать () каждый элемент перед map (), я получу набор тензоров с видимыми путями к файлам.
Однако в функции load_image_train это не так, вывод print ():
Tensor("add:0", shape=(), dtype=string)
Я хотел бы использовать scipy.io.loadmat () функция для получения данных из моих файлов матов, но она не работает, потому что путь является тензором, а не строкой. Что делает dataset.map (), что делает буквенное строковое значение больше не видимым? Как извлечь строку, чтобы я мог использовать ее в качестве входных данных для scipy.io.loadmat ()?
Извинения, если это глупый вопрос, относительно новый для Tensorflow и все еще пытающийся понять. Много дискуссий, которые я могу найти по связанным вопросам, относится только к TF v1. Спасибо за любую помощь!