Как загрузить np.array, используя tf.data.Dataset.from_tensor_slices и map - PullRequest
1 голос
/ 08 ноября 2019

Я делаю реализацию Pix2Pix, но из вектора, чтобы сделать что-то вроде vec2pix, у меня есть векторы в формате file.npy, и я пытаюсь загрузить это, с изображениями в тензор, y использовал

train_dataset = tf.data.Dataset.from_tensor_slices(tr_urls)

, где tr_urls - это имя массивов, а

train_dataset = train_dataset.map(load_train_image)

, где load_train_image - функция загрузки изображений, но здесь у меня проблемы,

Какя могу загрузить np.array как тензор? и

Имя np.array похоже на image_name_0.npy, а имя изображения - image_name.jpg, в train_dataset у меня есть все имена в формате np.array, но в карте функций, которая являетсятензор не строка, как я могу изменить имя с * _0.npy на * .jpg?

Я пытался

inimg = tf.cast(tf.io.read_file(INPATH + '\\' + filename), tf.float32)

и

inimg = tf.numpy_function(np.load, [INPATH + '\\' + filename], [tf.float32])

Кодкоторый я использую для загрузки изображений, работает правильно, но я не могу отредактировать имя массива для загрузки изображения.

С первым функционирование карты завершилось правильно, но когда я попытался зациклить тензор, яполучил

UnimplementedError: Cast string to float is not supported
 [[{{node Cast}}]] [Op:MakeIterator]
...