Tensorflow ошибка: tfds build not supported yet
Хочу создать датасет из своих картинок в Tensorflow. Действую по этой инструкции. Добавил свой код в основной файл датасета, запускаю tfds build и получают ошибку:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\User\Desktop\Projects\ml\Scripts\tfds.exe\__main__.py", line 7, in <module>
File "c:\users\user\desktop\projects\ml\lib\site-packages\tensorflow_datasets\scripts\cli\main.py", line 61, in launch_cli
app.run(main, flags_parser=_parse_flags)
File "c:\users\user\desktop\projects\ml\lib\site-packages\absl\app.py", line 300, in run
_run_main(main, args)
File "c:\users\user\desktop\projects\ml\lib\site-packages\absl\app.py", line 251, in _run_main
sys.exit(main(argv))
File "c:\users\user\desktop\projects\ml\lib\site-packages\tensorflow_datasets\scripts\cli\main.py", line 56, in main
args.subparser_fn(args)
File "c:\users\user\desktop\projects\ml\lib\site-packages\tensorflow_datasets\scripts\cli\build.py", line 37, in _build_datasets
raise NotImplementedError('tfds build not supported yet (#2447).')
NotImplementedError: tfds build not supported yet (#2447).
Что означает эта ошибка:"tfds build not supported yet"? Мой файл в этом сообщении даже не упомянут, он не содержит ошибку? Подскажите пожалуйста, в чём может быть дело?
На всякий случай, мой файл с описанием датасета:
"""posture1 dataset."""
import tensorflow_datasets as tfds
# TODO(posture1): Markdown description that will appear on the catalog page.
_DESCRIPTION = """
Description is **formatted** as markdown.
It should also contain any processing which has been applied (if any),
(e.g. corrupted example skipped, images cropped,...):
"""
# TODO(posture1): BibTeX citation
_CITATION = """
"""
class Posture1(tfds.core.GeneratorBasedBuilder):
"""DatasetBuilder for posture1 dataset."""
VERSION = tfds.core.Version('1.0.0')
RELEASE_NOTES = {
'1.0.0': 'Initial release.',
}
def _info(self) -> tfds.core.DatasetInfo:
"""Returns the dataset metadata."""
# TODO(posture1): Specifies the tfds.core.DatasetInfo object
return tfds.core.DatasetInfo(
builder=self,
description=_DESCRIPTION,
features=tfds.features.FeaturesDict({
'image': tfds.features.Image(shape=(480, 640, 3)),
'label': tfds.features.ClassLabel(names=['bad', 'good']),
}),
# If there's a common (input, target) tuple from the
# features, specify them here. They'll be used if
# `as_supervised=True` in `builder.as_dataset`.
# supervised_keys=None, # e.g. ('image', 'label')
# homepage='https://dataset-homepage/',
# citation=_CITATION,
)
def _split_generators(self, dl_manager: tfds.download.DownloadManager):
"""Returns SplitGenerators."""
# TODO(posture1): Downloads the data and defines the splits
#path = dl_manager.download_and_extract('https://todo-data-url')
# TODO(posture1): Returns the Dict[split names, Iterator[Key, Example]]
return {
'train': self._generate_examples('train'),
'test': self._generate_examples('test'),
'verify': self._generate_examples('verify'),
}
def _generate_examples(self, subset):
"""Yields examples."""
filepath = 'C:\\Users\\User\\PycharmProjects\\posture1\\Dataset\\data.csv'
with open(filepath) as fp:
line = fp.readline()
cnt = 0
while line:
parts = line.split("\t")
if len(parts) < 2 or parts[1] == "unknown" or parts[1] == "":
continue
r = cnt % 6
if subset == "train" and r <= 3:
yield parts[0], {
'image': "C:\\Users\\User\\PycharmProjects\\posture1\\Dataset\\" + parts[0],
'label': parts[1],
}
if subset == "test" and r == 4:
yield parts[0], {
'image': "C:\\Users\\User\\PycharmProjects\\posture1\\Dataset\\" + parts[0],
'label': parts[1],
}
if subset == "verify" and r == 5:
yield parts[0], {
'image': "C:\\Users\\User\\PycharmProjects\\posture1\\Dataset\\" + parts[0],
'label': parts[1],
}
print("Line {}: {}".format(cnt, line.strip()))
line = fp.readline()
cnt += 1