Spaces:
Runtime error
Runtime error
import os | |
from .parser_image_folder import ParserImageFolder | |
from .parser_image_tar import ParserImageTar | |
from .parser_image_in_tar import ParserImageInTar | |
def create_parser(name, root, split='train', **kwargs): | |
name = name.lower() | |
name = name.split('/', 2) | |
prefix = '' | |
if len(name) > 1: | |
prefix = name[0] | |
name = name[-1] | |
# FIXME improve the selection right now just tfds prefix or fallback path, will need options to | |
# explicitly select other options shortly | |
if prefix == 'tfds': | |
from .parser_tfds import ParserTfds # defer tensorflow import | |
parser = ParserTfds(root, name, split=split, shuffle=kwargs.pop('shuffle', False), **kwargs) | |
else: | |
assert os.path.exists(root) | |
# default fallback path (backwards compat), use image tar if root is a .tar file, otherwise image folder | |
# FIXME support split here, in parser? | |
if os.path.isfile(root) and os.path.splitext(root)[1] == '.tar': | |
parser = ParserImageInTar(root, **kwargs) | |
else: | |
parser = ParserImageFolder(root, **kwargs) | |
return parser | |