繁体   English   中英

tensorflow_datasets ImageFolder 转换错误

[英]tensorflow_datasets ImageFolder conversion errors

我有以下代码:

具有以下文件结构:

recognition
  |_ train
      |_ 0
          |_ 0.bmp
          |_ 1.bmp
      |_ 1
          |_ 2.bmp
      |_ 2
          |_ 3.bmp
...

我想使用以下代码从中创建 tensorflow 图像数据集:

import tensorflow_datasets as tfds

dataset_builder = tfds.folder_dataset.ImageFolder(recognition_data_path)
print(dataset_builder.info)

train_dataset = dataset_builder.as_dataset(split='train')

builder.info 的 Output 如下:

tfds.core.DatasetInfo(
    name='image_folder',
    full_name='image_folder/1.0.0',
    description="""
    Generic image classification dataset.
    """,
    homepage='https://www.tensorflow.org/datasets/catalog/image_folder',
    data_path='/kaggle/temp/recognition',
    download_size=Unknown size,
    dataset_size=Unknown size,
    features=FeaturesDict({
        'image': Image(shape=(None, None, 3), dtype=tf.uint8),
        'image/filename': Text(shape=(), dtype=tf.string),
        'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=48),
    }),
    supervised_keys=('image', 'label'),
    disable_shuffling=False,
    splits={
        'test': <SplitInfo num_examples=unknown, num_shards=1>,
        'train': <SplitInfo num_examples=unknown, num_shards=1>,
    },
    citation="""""",
)

但是在尝试创建train_dataset时出现以下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/opt/conda/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py in _apply_op_helper(op_type_name, name, **keywords)
    521                 as_ref=input_arg.is_ref,
--> 522                 preferred_dtype=default_dtype)
    523         except TypeError as err:

/opt/conda/lib/python3.7/site-packages/tensorflow/python/profiler/trace.py in wrapped(*args, **kwargs)
    162           return func(*args, **kwargs)
--> 163       return func(*args, **kwargs)
    164 

/opt/conda/lib/python3.7/site-packages/tensorflow/python/framework/ops.py in convert_to_tensor(value, dtype, name, as_ref, preferred_dtype, dtype_hint, ctx, accepted_result_types)
   1534           "Tensor conversion requested dtype %s for Tensor with dtype %s: %r" %
-> 1535           (dtype.name, value.dtype.name, value))
   1536     return value

ValueError: Tensor conversion requested dtype string for Tensor with dtype float32: <tf.Tensor 'args_0:0' shape=() dtype=float32>

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
/tmp/ipykernel_57/1360536814.py in <module>
....

我究竟做错了什么? 我没有在文档中发现任何可能的问题。

好的,这个问题的解决方案是将图像存储在.png而不是.bmp中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM