{
  "type": "record",
  "name": "TrainingData",
  "namespace": "com.linkedin.pegasus2avro.ml.metadata",
  "doc": "Ideally, the MLModel card would contain as much information about the training data as the evaluation data. However, there might be cases where it is not feasible to provide this level of detailed information about the training data. For example, the data may be proprietary, or require a non-disclosure agreement. In these cases, we advocate for basic details about the distributions over groups in the data, as well as any other details that could inform stakeholders on the kinds of biases the model may have encoded.",
  "fields": [
    {
      "name": "trainingData",
      "type": {
        "type": "array",
        "items": {
          "type": "record",
          "name": "BaseData",
          "doc": "BaseData record",
          "fields": [
            {
              "name": "dataset",
              "type": "string",
              "doc": "What dataset were used in the MLModel?",
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.DatasetUrn"
              }
            },
            {
              "name": "motivation",
              "type": [
                "null",
                "string"
              ],
              "doc": "Why was this dataset chosen?",
              "default": null
            },
            {
              "name": "preProcessing",
              "type": [
                "null",
                {
                  "type": "array",
                  "items": "string"
                }
              ],
              "doc": "How was the data preprocessed (e.g., tokenization of sentences, cropping of images, any filtering such as dropping images without faces)?",
              "default": null
            }
          ]
        }
      },
      "doc": "Details on the dataset(s) used for training the MLModel"
    }
  ],
  "Aspect": {
    "name": "mlModelTrainingData"
  }
}