728x90
반응형
GitHub
쿠브플로우 관련 코드 내용은 GitHub에서 관리하고 있습니다.
https://github.com/Seokii/Study-MLOps
참고사이트 : 모두의 MLOps
(쿠브플로우 공부에 많은 도움이 된 사이트입니다!)
컴포넌트 작성
컴포넌트 작성에 관한 내용은 이전 글인
쿠브플로우 파이프라인 - 컴포넌트 생성하기 를 참고하시기 바랍니다.
@create_component_from_func
def print_and_return_number(number: int) -> int:
print(number)
return number
@create_component_from_func
def sum_and_print_numbers(number_1: int, number_2: int) -> int:
sum_num = number_1 + number_2
print(sum_num)
return sum_num
숫자를 입력 받아 출력하는 print_and_return_number 함수와
입력 받은 두 수의 합을 출력하는 sum_and_print_numbers 함수를 통해
2개의 컴포넌트를 작성했습니다.
@pipeline(name="example_pipeline")
def example_pipeline(number_1: int, number_2: int):
number_1_result = print_and_return_number(number_1)
number_2_result = print_and_return_number(number_2)
sum_result = sum_and_print_numbers(
number_1=number_1_result.output, number_2=number_2_result.output
)
두 가지의 컴포넌트를 통해 함수를 코드 순서대로 작성하고,
kfp.dsl.pipline 함수를 통해 쿠브플로우에서 사용할 수 있는 파이프라인 형태로 변환합니다.
if __name__ == "__main__":
kfp.compiler.Compiler().compile(example_pipeline, "example_pipeline.yaml")
Kubeflow에서 파이프라인을 실행하기 위해서는 yaml 형식으로만 가능하기 때문에,
생성한 파이프라인을 정해진 yaml 형식으로 컴파일합니다.
전체 코드
# make_pipeline.py
import kfp
from kfp.components import create_component_from_func
from kfp.dsl import pipeline
@create_component_from_func
def print_and_return_number(number: int) -> int:
print(number)
return number
@create_component_from_func
def sum_and_print_numbers(number_1: int, number_2: int) -> int:
sum_num = number_1 + number_2
print(sum_num)
return sum_num
@pipeline(name="example_pipeline")
def example_pipeline(number_1: int, number_2: int):
number_1_result = print_and_return_number(number_1)
number_2_result = print_and_return_number(number_2)
sum_result = sum_and_print_numbers(
number_1=number_1_result.output, number_2=number_2_result.output
)
if __name__ == "__main__":
kfp.compiler.Compiler().compile(example_pipeline, "example_pipeline.yaml")
작성한 전체코드 내용입니다.
파이썬 파일을 실행하면, yaml파일이 생성된 것을 확인할 수 있습니다.
728x90
반응형
'MLOps' 카테고리의 다른 글
[MLOps] 쿠브플로우 파이프라인 - 실행(Run) (0) | 2023.01.17 |
---|---|
[MLOps] 쿠브플로우 파이프라인 - yaml 파일 업로드 (0) | 2023.01.16 |
[MLOps] 쿠브플로우 파이프라인 - 컴포넌트 생성하기 (0) | 2023.01.16 |
[MLOps] 쿠브플로우 파이프라인(Pipeline)이란? (0) | 2023.01.13 |
[MLOps] 쿠버네티스 프로메테우스&그라파나 설치하기 (0) | 2023.01.12 |
댓글