first commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
from clearml import PipelineDecorator
|
||||
|
||||
|
||||
# @PipelineDecorator.component(
|
||||
# return_values=['number'],
|
||||
# cache=False,
|
||||
# repo='ssh://git@cmlgit.mxm.kr:20104/ACAI/model-yolo26-human.git', # 원격 실행 시 가져올 Git URL
|
||||
# repo_branch='main' # 사용할 브랜치 (지정하지 않으면 기본 브랜치)
|
||||
# # repo_commit='<특정_커밋_해시>' # 특정 커밋 버전으로 고정할 경우 추가
|
||||
# )
|
||||
# def getHumanDetectionModel():
|
||||
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Task 1: 1~10 중 랜덤한 숫자를 출력하고 반환하는 컴포넌트
|
||||
# ---------------------------------------------------------
|
||||
@PipelineDecorator.component(return_values=['number'], cache=False)
|
||||
def generate_number() -> int:
|
||||
import random
|
||||
random.seed(None)
|
||||
# 1에서 10 사이의 랜덤 정수 생성
|
||||
num = random.randint(1, 10)
|
||||
print(f"Generated number: {num}")
|
||||
return num
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Task 2: 파라미터로 받은 숫자가 5 이하인지 초과인지 판별하는 컴포넌트
|
||||
# ---------------------------------------------------------
|
||||
@PipelineDecorator.component(return_values=['size_label'], cache=False)
|
||||
def evaluate_number(num: int) -> str:
|
||||
# 받은 파라미터가 5 이하인지 초과인지 체크
|
||||
if num > 5:
|
||||
result = 'Max'
|
||||
else:
|
||||
result = 'Min'
|
||||
|
||||
print(f"Input number {num} is '{result}'.")
|
||||
return result
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 파이프라인 정의: 위 두 Task를 연결
|
||||
# ---------------------------------------------------------
|
||||
@PipelineDecorator.pipeline(
|
||||
name='Number Evaluation Pipeline111',
|
||||
project='My Pipeline Project11',
|
||||
version='1.0',
|
||||
default_queue='default', # 1. 개별 Task(Step)들이 실행될 원격 큐 이름
|
||||
pipeline_execution_queue='default' # 2. 파이프라인 전체를 관리할 Controller가 실행될 큐 (기본값 'services'))
|
||||
)
|
||||
|
||||
def my_pipeline():
|
||||
|
||||
|
||||
# 1. 첫 번째 Task 실행 및 결과 받기
|
||||
generated_num = generate_number()
|
||||
|
||||
# 2. 첫 번째 Task의 결과를 두 번째 Task의 입력으로 전달
|
||||
final_result = evaluate_number(generated_num)
|
||||
# 2. 첫 번째 Task의 결과를 두 번째 Task의 입력으로 전달
|
||||
final_result = evaluate_number(generated_num)
|
||||
# 2. 첫 번째 Task의 결과를 두 번째 Task의 입력으로 전달
|
||||
final_result = evaluate_number(generated_num)
|
||||
|
||||
print(f"파이프라인 최종 결과: {final_result}")
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 실행 부
|
||||
# ---------------------------------------------------------
|
||||
if __name__ == '__main__':
|
||||
# 로컬에서 코드를 바로 실행하면서 ClearML 서버에 로깅되도록 설정
|
||||
PipelineDecorator.run_locally()
|
||||
# PipelineDecorator.run_on_queue(queue_name='default')
|
||||
# 파이프라인 실행
|
||||
my_pipeline()
|
||||
Reference in New Issue
Block a user