Asthestarsfalll / ExCore

A Modern Configuration/Registry System designed for deeplearning, with some utils.
https://excore.onism.space/
MIT License
13 stars 0 forks source link

:sparkles: add workspace config and cli #16

Closed Asthestarsfalll closed 8 months ago

Asthestarsfalll commented 8 months ago

This PR implements workspace config and some cli. Features changed or added as follows:

  1. User should define fields in workspace config.
  2. Introduce a new format to define the relationship between registries and fields when config parsing. For example:
    "Transform" 
    "*Model"  # `*` means the Registry should be added into fields
    "*Data: TrainData, TestData"  # `*` and `:` exist meanwhile, so `TrainData` and `TestData` instead of `Data` will be added into fields
    1. All Registry definition should be in a single python file(default in init.py), see example/src/__init__.py. If Registry are defined in given entry file, the field in workspace config will be automatically added instead of mannully input. Otherwise the Registry definition will be generated according to the input fields.
    2. json_schema_fields need to be added in workspace file manully.
    3. Intending to add a props field in workspace config, which represents the constant in the whole project and can be used when config parsing somehow(seems not necessary, shelved now).

resolve #12