为什么“ tf.data.Dataset.from_tensor_slices”在输出中打印图像的所有路径?

姆哈巴巴伊

我正在编写代码以在Tensorflow中读取图像。我使用教程来做到这一点。问题是当我使用以下命令:时tf.data.Dataset.from_tensor_slices((all_image_paths, all_image_labels)),图像的整个路径显示在输出控制台中。

这是我正在使用的代码:

def get_image_info(dir_path, file_url=None, file_name=None, untar=True):
    if file_url != None:
        dir_path = tf.keras.utils.get_file(fname=file_name, origin=file_url, untar=untar)

    data_root = pathlib.Path(dir_path)
    all_image_paths = list(data_root.glob('*/*'))
    label_names = sorted(item.name for item in data_root.glob('*/') if item.is_dir())
    label_dict = dict((name, index) for index, name in enumerate(label_names))
    all_image_labels = [label_dict[pathlib.Path(path).parent.name] for path in all_image_paths]

    return data_root, label_dict, all_image_paths, all_image_labels

def load_image_dataset(dir_path, file_url=None, file_name=None, untar=True):
    def load_and_preprocess_from_path_label(path, label):
        return load_and_preprocess_image(path), label

    data_root, label_dict, all_image_paths, all_image_labels = get_image_info(dir_path, file_url, file_name, untar)
    image_label_ds = tf.data.Dataset.from_tensor_slices((all_image_paths, all_image_labels))
    # image_label_ds = ds.map(load_and_preprocess_from_path_label)

    return image_label_ds, label_dict

image_label_ds, label_dict= load_image_dataset('', 'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz', 'flower_photos')

这是我的输出的一部分:

, WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8838914676_8ef4db7f50_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8838975946_f54194894e_m.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8838983024_5c1a767878_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8892851067_79242a7362_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8904780994_8867d64155_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8908062479_449200a1b4.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/8908097235_c3e746d36e_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9019694597_2d3bbedb17.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9030467406_05e93ff171_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9048307967_40a164a459_m.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/924782410_94ed7913ca_m.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9378657435_89fabf13c9_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9444202147_405290415b_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9446982168_06c4d71da3_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9831362123_5aac525a99_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9870557734_88eb3b9e3b_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9947374414_fdf1d0861c_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9947385346_3a8cacea02_n.jpg'), WindowsPath('C:/Users/hajba/.keras/datasets/flower_photos/tulips/9976515506_d496c5e72c.jpg')]. Consider casting elements to a supported type.
姆哈巴巴伊

对于那些面临此问题的人:这是Tensorflow尝试在输出中显示图像路径张量的一种错误。我使用Windows OS,并通过以下代码将路径类型(WindowsPath)转换为字符串,以解决此错误:

all_image_paths_str = list(map(lambda x: str(x), all_image_paths))

然后使用它来生成输出数据集张量:

image_label_ds = tf.data.Dataset.from_tensor_slices((all_image_paths_str, all_image_labels))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

形状在tf.data.Dataset.from_tensor_slices的最后记录中不兼容

来自分类Dev

在TF 2.0中将tf.Tensor转换为tf.data.Dataset.map中的numpy数组(图形模式)

来自分类Dev

ValueError:使用tf.data.Dataset.from_tensor_slices时无法将非矩形Python序列转换为Tensor

来自分类Dev

tf model.fit()中的batch_size与tf.data.Dataset中的batch_size

来自分类Dev

Tensorflow 2.0:在多输入场景中构造tf.data.Dataset输出的最佳方法

来自分类Dev

如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

来自分类Dev

从带有谓词(如过滤器)的 tf.data.Dataset 中获取

来自分类Dev

如何在Tensorflow tf.data.Dataset中使用cv2图像增强功能?

来自分类Dev

输入管道带有keras.utils.Sequence对象还是tf.data.Dataset?

来自分类Dev

Tensorflow:如何从CPU tf.data.Dataset(from_generator)预取GPU上的数据

来自分类Dev

如何在tf.data.Dataset.from_generator中保留字典键?

来自分类Dev

如何从tf.data.Dataset的填充批次中获得序列长度?

来自分类Dev

在时序分析中在tf.data.dataset中进行批处理

来自分类Dev

Tensorflow:tf.contrib.data 中 dataset.map() 的类型不兼容

来自分类Dev

`tf.data.Dataset.repeat()` 是否在内存中缓冲整个数据集?

来自分类Dev

如何使用 Tensorflow 中的其他示例转换扩展 tf.data.Dataset

来自分类Dev

TensorFlow:将tf.Dataset转换为tf.Tensor

来自分类Dev

如何在使用@ tf.function装饰的函数中的tf.data.Dataset上使用for循环来操纵和返回tf.Variable?

来自分类Dev

为什么TF2的Dataset.map不能像正常的for循环遍历一样?

来自分类Dev

tf.data.Dataset.take()返回随机样本吗?

来自分类Dev

tf.data.Dataset在除PrefetchDataset之外的CPU上运行。

来自分类Dev

使用tf.data.Dataset训练DL模型

来自分类Dev

Numpy 4D数组到tf.data.dataset

来自分类Dev

使用 tf.data.Dataset 评估每 N 步

来自分类Dev

如何只通过 tf.data.dataset 一次?

来自分类Dev

tf.data.dataset:如何为保证输出某些形状的数据集(形状未定义)分配形状?

来自分类Dev

如何为接受各种形状的多个输入的`tf.keras`模型创建`tf.data.Dataset`?

来自分类Dev

如何在tf.data.Dataset生成器中使用tf.keras模型?

来自分类Dev

从.tfrecord到tf.data.Dataset到tf.keras.model.fit

Related 相关文章

  1. 1

    形状在tf.data.Dataset.from_tensor_slices的最后记录中不兼容

  2. 2

    在TF 2.0中将tf.Tensor转换为tf.data.Dataset.map中的numpy数组(图形模式)

  3. 3

    ValueError:使用tf.data.Dataset.from_tensor_slices时无法将非矩形Python序列转换为Tensor

  4. 4

    tf model.fit()中的batch_size与tf.data.Dataset中的batch_size

  5. 5

    Tensorflow 2.0:在多输入场景中构造tf.data.Dataset输出的最佳方法

  6. 6

    如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

  7. 7

    从带有谓词(如过滤器)的 tf.data.Dataset 中获取

  8. 8

    如何在Tensorflow tf.data.Dataset中使用cv2图像增强功能?

  9. 9

    输入管道带有keras.utils.Sequence对象还是tf.data.Dataset?

  10. 10

    Tensorflow:如何从CPU tf.data.Dataset(from_generator)预取GPU上的数据

  11. 11

    如何在tf.data.Dataset.from_generator中保留字典键?

  12. 12

    如何从tf.data.Dataset的填充批次中获得序列长度?

  13. 13

    在时序分析中在tf.data.dataset中进行批处理

  14. 14

    Tensorflow:tf.contrib.data 中 dataset.map() 的类型不兼容

  15. 15

    `tf.data.Dataset.repeat()` 是否在内存中缓冲整个数据集?

  16. 16

    如何使用 Tensorflow 中的其他示例转换扩展 tf.data.Dataset

  17. 17

    TensorFlow:将tf.Dataset转换为tf.Tensor

  18. 18

    如何在使用@ tf.function装饰的函数中的tf.data.Dataset上使用for循环来操纵和返回tf.Variable?

  19. 19

    为什么TF2的Dataset.map不能像正常的for循环遍历一样?

  20. 20

    tf.data.Dataset.take()返回随机样本吗?

  21. 21

    tf.data.Dataset在除PrefetchDataset之外的CPU上运行。

  22. 22

    使用tf.data.Dataset训练DL模型

  23. 23

    Numpy 4D数组到tf.data.dataset

  24. 24

    使用 tf.data.Dataset 评估每 N 步

  25. 25

    如何只通过 tf.data.dataset 一次?

  26. 26

    tf.data.dataset:如何为保证输出某些形状的数据集(形状未定义)分配形状?

  27. 27

    如何为接受各种形状的多个输入的`tf.keras`模型创建`tf.data.Dataset`?

  28. 28

    如何在tf.data.Dataset生成器中使用tf.keras模型?

  29. 29

    从.tfrecord到tf.data.Dataset到tf.keras.model.fit

热门标签

归档