We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Backend Docker build fails with python error in resnet-train-pipeline.py
Ran on master branch (`086d4763d9f163acdeb423bc2bc49ab470442a92`) with `--no-cache` arg and got the following the error:
```
Step 20/31 : RUN  find . -maxdepth 2 -name '*.py' -type f | while read pipeline; do dsl-compile --py "$pipeline" --output "$pipeline.tar.gz"; done
 ---> Running in 3205bef0c5cb
Traceback (most recent call last):
  File "/usr/local/bin/dsl-compile", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py", line 103, in main
    compile_pyfile(args.py, args.function, args.output, not args.disable_type_check)
  File "/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py", line 92, in compile_pyfile
    _compile_pipeline_function(function_name, output_path, type_check)
  File "/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py", line 72, in _compile_pipeline_function
    kfp.compiler.Compiler().compile(pipeline_func, output_path, type_check)
  File "/usr/local/lib/python3.5/site-packages/kfp/compiler/compiler.py", line 644, in compile
    workflow = self._compile(pipeline_func)
  File "/usr/local/lib/python3.5/site-packages/kfp/compiler/compiler.py", line 596, in _compile
    pipeline_func(*args_list)
  File "./resnet-cmle/resnet-train-pipeline.py", line 127, in resnet_train
    export_output = os.path.join(str(train.outputs['job-dir']), 'export')
KeyError: 'job-dir'
The command '/bin/sh -c find . -maxdepth 2 -name '*.py' -type f | while read pipeline; do dsl-compile --py "$pipeline" --output "$pipeline.tar.gz"; done' returned a non-zero code: 1

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `samples/resnet-cmle/resnet-train-pipeline.py`
Content:
```
1 #!/usr/bin/env python3
2 # Copyright 2019 Google LLC
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 
16 
17 import kfp.dsl as dsl
18 import kfp.gcp as gcp
19 import kfp.components as comp
20 import datetime
21 import json
22 import os
23 
24 dataflow_python_op = comp.load_component_from_url(
25     'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/dataflow/launch_python/component.yaml')
26 cloudml_train_op = comp.load_component_from_url(
27     'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/train/component.yaml')
28 cloudml_deploy_op = comp.load_component_from_url(
29     'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/deploy/component.yaml')
30 
31 
32 def resnet_preprocess_op(project_id: 'GcpProject', output: 'GcsUri', staging_dir: 'GcsUri', train_csv: 'GcsUri[text/csv]',
33                          validation_csv: 'GcsUri[text/csv]', labels, train_size: 'Integer', validation_size: 'Integer',
34                          step_name='preprocess'):
35     return dataflow_python_op(
36         python_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/preprocess.py',
37         project_id=project_id,
38         requirements_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/requirements.txt',
39         staging_dir=staging_dir,
40         args=json.dumps([
41             '--train_csv', str(train_csv),
42             '--validation_csv', str(validation_csv),
43             '--labels', str(labels),
44             '--output_dir', str(output),
45             '--train_size', str(train_size),
46             '--validation_size', str(validation_size)
47         ])
48     )
49 
50 
51 def resnet_train_op(project_id, data_dir, output: 'GcsUri', region: 'GcpRegion', depth: int, train_batch_size: int,
52                     eval_batch_size: int, steps_per_eval: int, train_steps: int, num_train_images: int,
53                     num_eval_images: int, num_label_classes: int, tf_version, step_name='train'):
54     return cloudml_train_op(
55         project_id=project_id,
56         region='us-central1',
57         python_module='trainer.resnet_main',
58         package_uris=json.dumps(
59             ['gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/trainer/trainer-1.0.tar.gz']),
60         job_dir=output,
61         args=json.dumps([
62             '--data_dir', str(data_dir),
63             '--model_dir', str(output),
64             '--use_tpu', 'True',
65             '--resnet_depth', str(depth),
66             '--train_batch_size', str(train_batch_size),
67             '--eval_batch_size', str(eval_batch_size),
68             '--steps_per_eval', str(steps_per_eval),
69             '--train_steps', str(train_steps),
70             '--num_train_images', str(num_train_images),
71             '--num_eval_images', str(num_eval_images),
72             '--num_label_classes', str(num_label_classes),
73             '--export_dir', '{}/export'.format(str(output))
74         ]),
75         runtime_version=tf_version,
76         training_input=json.dumps({
77             'scaleTier': 'BASIC_TPU'
78         })
79     )
80 
81 
82 def resnet_deploy_op(model_dir, model, version, project_id: 'GcpProject', region: 'GcpRegion',
83                      tf_version, step_name='deploy'):
84     # TODO(hongyes): add region to model payload.
85     return cloudml_deploy_op(
86         model_uri=model_dir,
87         project_id=project_id,
88         model_id=model,
89         version_id=version,
90         runtime_version=tf_version,
91         replace_existing_version='True'
92     )
93 
94 
95 @dsl.pipeline(
96     name='ResNet_Train_Pipeline',
97     description='Demonstrate the ResNet50 predict.'
98 )
99 def resnet_train(
100         project_id,
101         output,
102         region='us-central1',
103         model='bolts',
104         version='beta1',
105         tf_version='1.12',
106         train_csv='gs://bolts_image_dataset/bolt_images_train.csv',
107         validation_csv='gs://bolts_image_dataset/bolt_images_validate.csv',
108         labels='gs://bolts_image_dataset/labels.txt',
109         depth=50,
110         train_batch_size=1024,
111         eval_batch_size=1024,
112         steps_per_eval=250,
113         train_steps=10000,
114         num_train_images=218593,
115         num_eval_images=54648,
116         num_label_classes=10):
117     output_dir = os.path.join(str(output), '{{workflow.name}}')
118     preprocess_staging = os.path.join(output_dir, 'staging')
119     preprocess_output = os.path.join(output_dir, 'preprocessed_output')
120     train_output = os.path.join(output_dir, 'model')
121     preprocess = resnet_preprocess_op(project_id, preprocess_output, preprocess_staging, train_csv,
122                                       validation_csv, labels, train_batch_size, eval_batch_size).apply(gcp.use_gcp_secret())
123     train = resnet_train_op(project_id, preprocess_output, train_output, region, depth, train_batch_size,
124                             eval_batch_size, steps_per_eval, train_steps, num_train_images, num_eval_images,
125                             num_label_classes, tf_version).apply(gcp.use_gcp_secret())
126     train.after(preprocess)
127     export_output = os.path.join(str(train.outputs['job-dir']), 'export')
128     deploy = resnet_deploy_op(export_output, model, version, project_id, region,
129                               tf_version).apply(gcp.use_gcp_secret())
130 
131 
132 if __name__ == '__main__':
133     import kfp.compiler as compiler
134     compiler.Compiler().compile(resnet_train, __file__ + '.zip')
135
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/samples/resnet-cmle/resnet-train-pipeline.py b/samples/resnet-cmle/resnet-train-pipeline.py
--- a/samples/resnet-cmle/resnet-train-pipeline.py
+++ b/samples/resnet-cmle/resnet-train-pipeline.py
@@ -124,7 +124,7 @@
                             eval_batch_size, steps_per_eval, train_steps, num_train_images, num_eval_images,
                             num_label_classes, tf_version).apply(gcp.use_gcp_secret())
     train.after(preprocess)
-    export_output = os.path.join(str(train.outputs['job-dir']), 'export')
+    export_output = os.path.join(str(train.outputs['job_dir']), 'export')
     deploy = resnet_deploy_op(export_output, model, version, project_id, region,
                               tf_version).apply(gcp.use_gcp_secret())

{"golden_diff": "diff --git a/samples/resnet-cmle/resnet-train-pipeline.py b/samples/resnet-cmle/resnet-train-pipeline.py\n--- a/samples/resnet-cmle/resnet-train-pipeline.py\n+++ b/samples/resnet-cmle/resnet-train-pipeline.py\n@@ -124,7 +124,7 @@\n                             eval_batch_size, steps_per_eval, train_steps, num_train_images, num_eval_images,\n                             num_label_classes, tf_version).apply(gcp.use_gcp_secret())\n     train.after(preprocess)\n-    export_output = os.path.join(str(train.outputs['job-dir']), 'export')\n+    export_output = os.path.join(str(train.outputs['job_dir']), 'export')\n     deploy = resnet_deploy_op(export_output, model, version, project_id, region,\n                               tf_version).apply(gcp.use_gcp_secret())\n", "issue": "Backend Docker build fails with python error in resnet-train-pipeline.py\nRan on master branch (`086d4763d9f163acdeb423bc2bc49ab470442a92`) with `--no-cache` arg and got the following the error:\r\n```\r\nStep 20/31 : RUN  find . -maxdepth 2 -name '*.py' -type f | while read pipeline; do dsl-compile --py \"$pipeline\" --output \"$pipeline.tar.gz\"; done\r\n ---> Running in 3205bef0c5cb\r\nTraceback (most recent call last):\r\n  File \"/usr/local/bin/dsl-compile\", line 10, in <module>\r\n    sys.exit(main())\r\n  File \"/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py\", line 103, in main\r\n    compile_pyfile(args.py, args.function, args.output, not args.disable_type_check)\r\n  File \"/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py\", line 92, in compile_pyfile\r\n    _compile_pipeline_function(function_name, output_path, type_check)\r\n  File \"/usr/local/lib/python3.5/site-packages/kfp/compiler/main.py\", line 72, in _compile_pipeline_function\r\n    kfp.compiler.Compiler().compile(pipeline_func, output_path, type_check)\r\n  File \"/usr/local/lib/python3.5/site-packages/kfp/compiler/compiler.py\", line 644, in compile\r\n    workflow = self._compile(pipeline_func)\r\n  File \"/usr/local/lib/python3.5/site-packages/kfp/compiler/compiler.py\", line 596, in _compile\r\n    pipeline_func(*args_list)\r\n  File \"./resnet-cmle/resnet-train-pipeline.py\", line 127, in resnet_train\r\n    export_output = os.path.join(str(train.outputs['job-dir']), 'export')\r\nKeyError: 'job-dir'\r\nThe command '/bin/sh -c find . -maxdepth 2 -name '*.py' -type f | while read pipeline; do dsl-compile --py \"$pipeline\" --output \"$pipeline.tar.gz\"; done' returned a non-zero code: 1\n", "before_files": [{"content": "#!/usr/bin/env python3\n# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\nimport kfp.dsl as dsl\nimport kfp.gcp as gcp\nimport kfp.components as comp\nimport datetime\nimport json\nimport os\n\ndataflow_python_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/dataflow/launch_python/component.yaml')\ncloudml_train_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/train/component.yaml')\ncloudml_deploy_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/deploy/component.yaml')\n\n\ndef resnet_preprocess_op(project_id: 'GcpProject', output: 'GcsUri', staging_dir: 'GcsUri', train_csv: 'GcsUri[text/csv]',\n                         validation_csv: 'GcsUri[text/csv]', labels, train_size: 'Integer', validation_size: 'Integer',\n                         step_name='preprocess'):\n    return dataflow_python_op(\n        python_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/preprocess.py',\n        project_id=project_id,\n        requirements_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/requirements.txt',\n        staging_dir=staging_dir,\n        args=json.dumps([\n            '--train_csv', str(train_csv),\n            '--validation_csv', str(validation_csv),\n            '--labels', str(labels),\n            '--output_dir', str(output),\n            '--train_size', str(train_size),\n            '--validation_size', str(validation_size)\n        ])\n    )\n\n\ndef resnet_train_op(project_id, data_dir, output: 'GcsUri', region: 'GcpRegion', depth: int, train_batch_size: int,\n                    eval_batch_size: int, steps_per_eval: int, train_steps: int, num_train_images: int,\n                    num_eval_images: int, num_label_classes: int, tf_version, step_name='train'):\n    return cloudml_train_op(\n        project_id=project_id,\n        region='us-central1',\n        python_module='trainer.resnet_main',\n        package_uris=json.dumps(\n            ['gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/trainer/trainer-1.0.tar.gz']),\n        job_dir=output,\n        args=json.dumps([\n            '--data_dir', str(data_dir),\n            '--model_dir', str(output),\n            '--use_tpu', 'True',\n            '--resnet_depth', str(depth),\n            '--train_batch_size', str(train_batch_size),\n            '--eval_batch_size', str(eval_batch_size),\n            '--steps_per_eval', str(steps_per_eval),\n            '--train_steps', str(train_steps),\n            '--num_train_images', str(num_train_images),\n            '--num_eval_images', str(num_eval_images),\n            '--num_label_classes', str(num_label_classes),\n            '--export_dir', '{}/export'.format(str(output))\n        ]),\n        runtime_version=tf_version,\n        training_input=json.dumps({\n            'scaleTier': 'BASIC_TPU'\n        })\n    )\n\n\ndef resnet_deploy_op(model_dir, model, version, project_id: 'GcpProject', region: 'GcpRegion',\n                     tf_version, step_name='deploy'):\n    # TODO(hongyes): add region to model payload.\n    return cloudml_deploy_op(\n        model_uri=model_dir,\n        project_id=project_id,\n        model_id=model,\n        version_id=version,\n        runtime_version=tf_version,\n        replace_existing_version='True'\n    )\n\n\n@dsl.pipeline(\n    name='ResNet_Train_Pipeline',\n    description='Demonstrate the ResNet50 predict.'\n)\ndef resnet_train(\n        project_id,\n        output,\n        region='us-central1',\n        model='bolts',\n        version='beta1',\n        tf_version='1.12',\n        train_csv='gs://bolts_image_dataset/bolt_images_train.csv',\n        validation_csv='gs://bolts_image_dataset/bolt_images_validate.csv',\n        labels='gs://bolts_image_dataset/labels.txt',\n        depth=50,\n        train_batch_size=1024,\n        eval_batch_size=1024,\n        steps_per_eval=250,\n        train_steps=10000,\n        num_train_images=218593,\n        num_eval_images=54648,\n        num_label_classes=10):\n    output_dir = os.path.join(str(output), '{{workflow.name}}')\n    preprocess_staging = os.path.join(output_dir, 'staging')\n    preprocess_output = os.path.join(output_dir, 'preprocessed_output')\n    train_output = os.path.join(output_dir, 'model')\n    preprocess = resnet_preprocess_op(project_id, preprocess_output, preprocess_staging, train_csv,\n                                      validation_csv, labels, train_batch_size, eval_batch_size).apply(gcp.use_gcp_secret())\n    train = resnet_train_op(project_id, preprocess_output, train_output, region, depth, train_batch_size,\n                            eval_batch_size, steps_per_eval, train_steps, num_train_images, num_eval_images,\n                            num_label_classes, tf_version).apply(gcp.use_gcp_secret())\n    train.after(preprocess)\n    export_output = os.path.join(str(train.outputs['job-dir']), 'export')\n    deploy = resnet_deploy_op(export_output, model, version, project_id, region,\n                              tf_version).apply(gcp.use_gcp_secret())\n\n\nif __name__ == '__main__':\n    import kfp.compiler as compiler\n    compiler.Compiler().compile(resnet_train, __file__ + '.zip')\n", "path": "samples/resnet-cmle/resnet-train-pipeline.py"}], "after_files": [{"content": "#!/usr/bin/env python3\n# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\nimport kfp.dsl as dsl\nimport kfp.gcp as gcp\nimport kfp.components as comp\nimport datetime\nimport json\nimport os\n\ndataflow_python_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/dataflow/launch_python/component.yaml')\ncloudml_train_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/train/component.yaml')\ncloudml_deploy_op = comp.load_component_from_url(\n    'https://raw.githubusercontent.com/kubeflow/pipelines/d2f5cc92a46012b9927209e2aaccab70961582dc/components/gcp/ml_engine/deploy/component.yaml')\n\n\ndef resnet_preprocess_op(project_id: 'GcpProject', output: 'GcsUri', staging_dir: 'GcsUri', train_csv: 'GcsUri[text/csv]',\n                         validation_csv: 'GcsUri[text/csv]', labels, train_size: 'Integer', validation_size: 'Integer',\n                         step_name='preprocess'):\n    return dataflow_python_op(\n        python_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/preprocess.py',\n        project_id=project_id,\n        requirements_file_path='gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/preprocess/requirements.txt',\n        staging_dir=staging_dir,\n        args=json.dumps([\n            '--train_csv', str(train_csv),\n            '--validation_csv', str(validation_csv),\n            '--labels', str(labels),\n            '--output_dir', str(output),\n            '--train_size', str(train_size),\n            '--validation_size', str(validation_size)\n        ])\n    )\n\n\ndef resnet_train_op(project_id, data_dir, output: 'GcsUri', region: 'GcpRegion', depth: int, train_batch_size: int,\n                    eval_batch_size: int, steps_per_eval: int, train_steps: int, num_train_images: int,\n                    num_eval_images: int, num_label_classes: int, tf_version, step_name='train'):\n    return cloudml_train_op(\n        project_id=project_id,\n        region='us-central1',\n        python_module='trainer.resnet_main',\n        package_uris=json.dumps(\n            ['gs://ml-pipeline-playground/samples/ml_engine/resnet-cmle/trainer/trainer-1.0.tar.gz']),\n        job_dir=output,\n        args=json.dumps([\n            '--data_dir', str(data_dir),\n            '--model_dir', str(output),\n            '--use_tpu', 'True',\n            '--resnet_depth', str(depth),\n            '--train_batch_size', str(train_batch_size),\n            '--eval_batch_size', str(eval_batch_size),\n            '--steps_per_eval', str(steps_per_eval),\n            '--train_steps', str(train_steps),\n            '--num_train_images', str(num_train_images),\n            '--num_eval_images', str(num_eval_images),\n            '--num_label_classes', str(num_label_classes),\n            '--export_dir', '{}/export'.format(str(output))\n        ]),\n        runtime_version=tf_version,\n        training_input=json.dumps({\n            'scaleTier': 'BASIC_TPU'\n        })\n    )\n\n\ndef resnet_deploy_op(model_dir, model, version, project_id: 'GcpProject', region: 'GcpRegion',\n                     tf_version, step_name='deploy'):\n    # TODO(hongyes): add region to model payload.\n    return cloudml_deploy_op(\n        model_uri=model_dir,\n        project_id=project_id,\n        model_id=model,\n        version_id=version,\n        runtime_version=tf_version,\n        replace_existing_version='True'\n    )\n\n\n@dsl.pipeline(\n    name='ResNet_Train_Pipeline',\n    description='Demonstrate the ResNet50 predict.'\n)\ndef resnet_train(\n        project_id,\n        output,\n        region='us-central1',\n        model='bolts',\n        version='beta1',\n        tf_version='1.12',\n        train_csv='gs://bolts_image_dataset/bolt_images_train.csv',\n        validation_csv='gs://bolts_image_dataset/bolt_images_validate.csv',\n        labels='gs://bolts_image_dataset/labels.txt',\n        depth=50,\n        train_batch_size=1024,\n        eval_batch_size=1024,\n        steps_per_eval=250,\n        train_steps=10000,\n        num_train_images=218593,\n        num_eval_images=54648,\n        num_label_classes=10):\n    output_dir = os.path.join(str(output), '{{workflow.name}}')\n    preprocess_staging = os.path.join(output_dir, 'staging')\n    preprocess_output = os.path.join(output_dir, 'preprocessed_output')\n    train_output = os.path.join(output_dir, 'model')\n    preprocess = resnet_preprocess_op(project_id, preprocess_output, preprocess_staging, train_csv,\n                                      validation_csv, labels, train_batch_size, eval_batch_size).apply(gcp.use_gcp_secret())\n    train = resnet_train_op(project_id, preprocess_output, train_output, region, depth, train_batch_size,\n                            eval_batch_size, steps_per_eval, train_steps, num_train_images, num_eval_images,\n                            num_label_classes, tf_version).apply(gcp.use_gcp_secret())\n    train.after(preprocess)\n    export_output = os.path.join(str(train.outputs['job_dir']), 'export')\n    deploy = resnet_deploy_op(export_output, model, version, project_id, region,\n                              tf_version).apply(gcp.use_gcp_secret())\n\n\nif __name__ == '__main__':\n    import kfp.compiler as compiler\n    compiler.Compiler().compile(resnet_train, __file__ + '.zip')\n", "path": "samples/resnet-cmle/resnet-train-pipeline.py"}]}