Skip to content

Create training app and models

This is the first issue related to ML training in Arkindex !

We need to create a new django application named training, and then add 2 models:

  • training.Model will define an evolving Machine learning model

    • UUID PK
    • CharField name, unique
    • description textfield
    • public boolean (default False)
    • created/update date
    • M2M workers towards dataimport.Worker named compatible_workers
  • training.ModelVersion will define a specific model version, that's where we control the model data

    • UUID PK
    • ForeignKey toward training.Model named model, related name is versions
    • nullable ForeignKey toward training.ModelVersion named parent, related name is children
    • description textfield
    • nullable charfield tag (unique together with FK model)
    • charfield hash (of the archive)
    • positive integer size (of the archive)
    • enum state
      • created
      • available (and thus checked by the backend)
      • error
    • JsonField configuration to store dict of parameters, provided by the ML dev
    • created/update date
graph TD

    Model --> ModelVersion
    Model --> Right
    Model --> ModelWorker --> Worker
    ModelVersion -- parent --> ModelVersion

Please make sure both models are available through the admin interface:

  • Model with lists: name, created date (search on name & description)
  • ModelVersion with lists: PK, model name, tag, size, state (filter on model name and state)