kwcoco.cli.coco_split module

class kwcoco.cli.coco_split.CocoSplitCLI[source]

Bases: object

Splits a coco files into two parts base on some criteria.

Useful for generating quick and dirty train/test splits, but in general users should opt for using kwcoco subset instead to explicitly construct these splits based on domain knowledge.

name = 'split'
class CLIConfig(data=None, default=None, cmdline=False)[source]

Bases: Config

Split a single COCO dataset into two sub-datasets.

default = {'balance_categories': <Value(None: True)>, 'compress': <Value(None: 'auto')>, 'dst1': <Value(None: 'split1.kwcoco.json')>, 'dst2': <Value(None: 'split2.kwcoco.json')>, 'factor': <Value(None: 3)>, 'num_write': <Value(None: 1)>, 'rng': <Value(None: None)>, 'splitter': <Value(None: 'auto')>, 'src': <Value(None: None)>}
classmethod main(cmdline=True, **kw)[source]

Example

>>> from kwcoco.cli.coco_split import *  # NOQA
>>> import ubelt as ub
>>> dpath = ub.Path.appdir('kwcoco/tests/cli/split').ensuredir()
>>> kw = {'src': 'special:vidshapes8',
>>>       'dst1': dpath / 'train.json',
>>>       'dst2': dpath / 'test.json'}
>>> cmdline = False
>>> cls = CocoSplitCLI
>>> cls.main(cmdline, **kw)