Closed RyanKor closed 2 years ago
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: example-pipeline- annotations: {pipelines.kubeflow.org/kfp_sdk_version: 1.6.3, pipelines.kubeflow.org/pipeline_compilation_time: '2021-12-05T13:38:51.566777', pipelines.kubeflow.org/pipeline_spec: '{"inputs": [{"name": "number_1", "type": "Integer"}, {"name": "number_2", "type": "Integer"}], "name": "example_pipeline"}'} labels: {pipelines.kubeflow.org/kfp_sdk_version: 1.6.3} spec: entrypoint: example-pipeline templates: - name: example-pipeline inputs: parameters: - {name: number_1} - {name: number_2} dag: tasks: - name: print-and-return-number template: print-and-return-number arguments: parameters: - {name: number_1, value: '{{inputs.parameters.number_1}}'} - name: print-and-return-number-2 template: print-and-return-number-2 arguments: parameters: - {name: number_2, value: '{{inputs.parameters.number_2}}'} - name: sum-and-print-numbers template: sum-and-print-numbers dependencies: [print-and-return-number, print-and-return-number-2] arguments: parameters: - {name: print-and-return-number-2-Output, value: '{{tasks.print-and-return-number-2.outputs.parameters.print-and-return-number-2-Output}}'} - {name: print-and-return-number-Output, value: '{{tasks.print-and-return-number.outputs.parameters.print-and-return-number-Output}}'} - name: print-and-return-number container: args: [--number, '{{inputs.parameters.number_1}}', '----output-paths', /tmp/outputs/Output/data] command: - sh - -ec - | program_path=$(mktemp) printf "%s" "$0" > "$program_path" python3 -u "$program_path" "$@" - | def print_and_return_number(number): print(number) return number def _serialize_int(int_value: int) -> str: if isinstance(int_value, str): return int_value if not isinstance(int_value, int): raise TypeError('Value "{}" has type "{}" instead of int.'.format(str(int_value), str(type(int_value)))) return str(int_value) import argparse _parser = argparse.ArgumentParser(prog='Print and return number', description='') _parser.add_argument("--number", dest="number", type=int, required=True, default=argparse.SUPPRESS) _parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=1) _parsed_args = vars(_parser.parse_args()) _output_files = _parsed_args.pop("_output_paths", []) _outputs = print_and_return_number(**_parsed_args) _outputs = [_outputs] _output_serializers = [ _serialize_int, ] import os for idx, output_file in enumerate(_output_files): try: os.makedirs(os.path.dirname(output_file)) except OSError: pass with open(output_file, 'w') as f: f.write(_output_serializers[idx](_outputs[idx])) image: python:3.7 inputs: parameters: - {name: number_1} outputs: parameters: - name: print-and-return-number-Output valueFrom: {path: /tmp/outputs/Output/data} artifacts: - {name: print-and-return-number-Output, path: /tmp/outputs/Output/data} metadata: labels: {pipelines.kubeflow.org/kfp_sdk_version: 1.6.3, pipelines.kubeflow.org/pipeline-sdk-type: kfp} annotations: {pipelines.kubeflow.org/component_spec: '{"implementation": {"container": {"args": ["--number", {"inputValue": "number"}, "----output-paths", {"outputPath": "Output"}], "command": ["sh", "-ec", "program_path=$(mktemp)\nprintf \"%s\" \"$0\" > \"$program_path\"\npython3 -u \"$program_path\" \"$@\"\n", "def print_and_return_number(number):\n print(number)\n return number\n\ndef _serialize_int(int_value: int) -> str:\n if isinstance(int_value, str):\n return int_value\n if not isinstance(int_value, int):\n raise TypeError(''Value \"{}\" has type \"{}\" instead of int.''.format(str(int_value), str(type(int_value))))\n return str(int_value)\n\nimport argparse\n_parser = argparse.ArgumentParser(prog=''Print and return number'', description='''')\n_parser.add_argument(\"--number\", dest=\"number\", type=int, required=True, default=argparse.SUPPRESS)\n_parser.add_argument(\"----output-paths\", dest=\"_output_paths\", type=str, nargs=1)\n_parsed_args = vars(_parser.parse_args())\n_output_files = _parsed_args.pop(\"_output_paths\", [])\n\n_outputs = print_and_return_number(**_parsed_args)\n\n_outputs = [_outputs]\n\n_output_serializers = [\n _serialize_int,\n\n]\n\nimport os\nfor idx, output_file in enumerate(_output_files):\n try:\n os.makedirs(os.path.dirname(output_file))\n except OSError:\n pass\n with open(output_file, ''w'') as f:\n f.write(_output_serializers[idx](_outputs[idx]))\n"], "image": "python:3.7"}}, "inputs": [{"name": "number", "type": "Integer"}], "name": "Print and return number", "outputs": [{"name": "Output", "type": "Integer"}]}', pipelines.kubeflow.org/component_ref: '{}', pipelines.kubeflow.org/arguments.parameters: '{"number": "{{inputs.parameters.number_1}}"}'} - name: print-and-return-number-2 container: args: [--number, '{{inputs.parameters.number_2}}', '----output-paths', /tmp/outputs/Output/data] command: - sh - -ec - | program_path=$(mktemp) printf "%s" "$0" > "$program_path" python3 -u "$program_path" "$@" - | def print_and_return_number(number): print(number) return number def _serialize_int(int_value: int) -> str: if isinstance(int_value, str): return int_value if not isinstance(int_value, int): raise TypeError('Value "{}" has type "{}" instead of int.'.format(str(int_value), str(type(int_value)))) return str(int_value) import argparse _parser = argparse.ArgumentParser(prog='Print and return number', description='') _parser.add_argument("--number", dest="number", type=int, required=True, default=argparse.SUPPRESS) _parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=1) _parsed_args = vars(_parser.parse_args()) _output_files = _parsed_args.pop("_output_paths", []) _outputs = print_and_return_number(**_parsed_args) _outputs = [_outputs] _output_serializers = [ _serialize_int, ] import os for idx, output_file in enumerate(_output_files): try: os.makedirs(os.path.dirname(output_file)) except OSError: pass with open(output_file, 'w') as f: f.write(_output_serializers[idx](_outputs[idx])) image: python:3.7 inputs: parameters: - {name: number_2} outputs: parameters: - name: print-and-return-number-2-Output valueFrom: {path: /tmp/outputs/Output/data} artifacts: - {name: print-and-return-number-2-Output, path: /tmp/outputs/Output/data} metadata: labels: {pipelines.kubeflow.org/kfp_sdk_version: 1.6.3, pipelines.kubeflow.org/pipeline-sdk-type: kfp} annotations: {pipelines.kubeflow.org/component_spec: '{"implementation": {"container": {"args": ["--number", {"inputValue": "number"}, "----output-paths", {"outputPath": "Output"}], "command": ["sh", "-ec", "program_path=$(mktemp)\nprintf \"%s\" \"$0\" > \"$program_path\"\npython3 -u \"$program_path\" \"$@\"\n", "def print_and_return_number(number):\n print(number)\n return number\n\ndef _serialize_int(int_value: int) -> str:\n if isinstance(int_value, str):\n return int_value\n if not isinstance(int_value, int):\n raise TypeError(''Value \"{}\" has type \"{}\" instead of int.''.format(str(int_value), str(type(int_value))))\n return str(int_value)\n\nimport argparse\n_parser = argparse.ArgumentParser(prog=''Print and return number'', description='''')\n_parser.add_argument(\"--number\", dest=\"number\", type=int, required=True, default=argparse.SUPPRESS)\n_parser.add_argument(\"----output-paths\", dest=\"_output_paths\", type=str, nargs=1)\n_parsed_args = vars(_parser.parse_args())\n_output_files = _parsed_args.pop(\"_output_paths\", [])\n\n_outputs = print_and_return_number(**_parsed_args)\n\n_outputs = [_outputs]\n\n_output_serializers = [\n _serialize_int,\n\n]\n\nimport os\nfor idx, output_file in enumerate(_output_files):\n try:\n os.makedirs(os.path.dirname(output_file))\n except OSError:\n pass\n with open(output_file, ''w'') as f:\n f.write(_output_serializers[idx](_outputs[idx]))\n"], "image": "python:3.7"}}, "inputs": [{"name": "number", "type": "Integer"}], "name": "Print and return number", "outputs": [{"name": "Output", "type": "Integer"}]}', pipelines.kubeflow.org/component_ref: '{}', pipelines.kubeflow.org/arguments.parameters: '{"number": "{{inputs.parameters.number_2}}"}'} - name: sum-and-print-numbers container: args: [--number-1, '{{inputs.parameters.print-and-return-number-Output}}', --number-2, '{{inputs.parameters.print-and-return-number-2-Output}}'] command: - sh - -ec - | program_path=$(mktemp) printf "%s" "$0" > "$program_path" python3 -u "$program_path" "$@" - | def sum_and_print_numbers(number_1, number_2): print(number_1 + number_2) import argparse _parser = argparse.ArgumentParser(prog='Sum and print numbers', description='') _parser.add_argument("--number-1", dest="number_1", type=int, required=True, default=argparse.SUPPRESS) _parser.add_argument("--number-2", dest="number_2", type=int, required=True, default=argparse.SUPPRESS) _parsed_args = vars(_parser.parse_args()) _outputs = sum_and_print_numbers(**_parsed_args) image: python:3.7 inputs: parameters: - {name: print-and-return-number-2-Output} - {name: print-and-return-number-Output} metadata: labels: {pipelines.kubeflow.org/kfp_sdk_version: 1.6.3, pipelines.kubeflow.org/pipeline-sdk-type: kfp} annotations: {pipelines.kubeflow.org/component_spec: '{"implementation": {"container": {"args": ["--number-1", {"inputValue": "number_1"}, "--number-2", {"inputValue": "number_2"}], "command": ["sh", "-ec", "program_path=$(mktemp)\nprintf \"%s\" \"$0\" > \"$program_path\"\npython3 -u \"$program_path\" \"$@\"\n", "def sum_and_print_numbers(number_1, number_2):\n print(number_1 + number_2)\n\nimport argparse\n_parser = argparse.ArgumentParser(prog=''Sum and print numbers'', description='''')\n_parser.add_argument(\"--number-1\", dest=\"number_1\", type=int, required=True, default=argparse.SUPPRESS)\n_parser.add_argument(\"--number-2\", dest=\"number_2\", type=int, required=True, default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\n_outputs = sum_and_print_numbers(**_parsed_args)\n"], "image": "python:3.7"}}, "inputs": [{"name": "number_1", "type": "Integer"}, {"name": "number_2", "type": "Integer"}], "name": "Sum and print numbers"}', pipelines.kubeflow.org/component_ref: '{}', pipelines.kubeflow.org/arguments.parameters: '{"number_1": "{{inputs.parameters.print-and-return-number-Output}}", "number_2": "{{inputs.parameters.print-and-return-number-2-Output}}"}'} arguments: parameters: - {name: number_1} - {name: number_2} serviceAccountName: pipeline-runner
텍스트가 너무 길어 클라우드 상에 텍스트가 잘 복사가 안되는 관계로 생성본을 복사해 이슈로 기록