components:
  comp-ingestion:
    executorLabel: exec-ingestion
    inputDefinitions:
      parameters:
        input_location:
          parameterType: STRING
    outputDefinitions:
      artifacts:
        examples:
          artifactType:
            schemaTitle: system.Dataset
            schemaVersion: 0.0.1
  comp-trainer:
    executorLabel: exec-trainer
    inputDefinitions:
      artifacts:
        examples:
          artifactType:
            schemaTitle: system.Dataset
            schemaVersion: 0.0.1
      parameters:
        n_epochs:
          parameterType: NUMBER_INTEGER
        optimizer:
          parameterType: STRING
    outputDefinitions:
      artifacts:
        model:
          artifactType:
            schemaTitle: system.Model
            schemaVersion: 0.0.1
defaultPipelineRoot: dummy_root
deploymentSpec:
  executors:
    exec-ingestion:
      container:
        args:
        - --input-location
        - '{{$.inputs.parameters[''input_location'']}}'
        - --output-examples
        - '{{$.outputs.artifacts[''examples''].uri}}'
        image: gcr.io/my-project/my-ingestor
    exec-trainer:
      container:
        args:
        - --input-examples
        - '{{$.inputs.artifacts[''examples''].uri}}'
        - --optimizer
        - '{{$.inputs.parameters[''optimizer'']}}'
        - --n_epochs
        - '{{$.inputs.parameters[''n_epochs'']}}'
        - --output-model
        - '{{$.outputs.artifacts[''model''].uri}}'
        image: gcr.io/my-project/my-fancy-trainer
pipelineInfo:
  name: two-step-pipeline-with-ontology
root:
  dag:
    tasks:
      ingestion:
        cachingOptions:
          enableCache: true
        componentRef:
          name: comp-ingestion
        inputs:
          parameters:
            input_location:
              componentInputParameter: input_location
        taskInfo:
          name: ingestion
      trainer:
        cachingOptions:
          enableCache: true
        componentRef:
          name: comp-trainer
        dependentTasks:
        - ingestion
        inputs:
          artifacts:
            examples:
              taskOutputArtifact:
                outputArtifactKey: examples
                producerTask: ingestion
          parameters:
            n_epochs:
              componentInputParameter: n_epochs
            optimizer:
              componentInputParameter: optimizer
        taskInfo:
          name: trainer
  inputDefinitions:
    parameters:
      input_location:
        defaultValue: gs://test-bucket/pipeline_root
        parameterType: STRING
      n_epochs:
        defaultValue: 200.0
        parameterType: NUMBER_INTEGER
      optimizer:
        defaultValue: sgd
        parameterType: STRING
schemaVersion: 2.1.0
sdkVersion: kfp-2.0.0-alpha.5
