Package: dongwha-datalab
Dangwha-datalab 설명동화기업의 MLOPS 소스 코드 이다.설치pip install dongwha-datalab필요한 리스트해당 프로그램을 돌리기 위해서는 로컬PC 총4개의 파일이 필요하다.추출 : sql.txt전처리 : k121_transform.py학습 : k121_density.pyENDPOINT : k121_sf_api.py사용 방법1. 기본모드( 학습 )from data_lab import mlops_trainAWS_ACCESS_KEY="key"
AWS_SECRET_KEY="key"Mlops = mlops_train.mlops('dev', AWS_ACCESS_KEY, AWS_SECRET_KEY)Mlops.main_display()1.1 기본모드( 배포 )from data_lab import mlops_deployAWS_ACCESS_KEY="key"
AWS_SECRET_KEY="key"Mlops = mlops_deploy.mlops(AWS_ACCESS_KEY, AWS_SECRET_KEY)Mlops.main_display()1.1 기본모드 화면2. 간단 모드Mlops = mlops('dev_simple', AWS_ACCESS_KEY, AWS_SECRET_KEY)Mlops.main_display()2.1 기본모드 화면함수 설명최초 실행create_config_train_image( environment, model_id, endpoint_url,  aws_access_key_id = '', aws_secret_access_key = '', ssm_path = '/mlops/{0}/database/mongo' ) :environment : DEV/PROD 여부를 입력한다.model_id : ML의 고유 아이디를 입력한다.endpoint_url : endpoint_url 주소를 입력한다. 입력이 필요한 경우는 aws_access_key_id, aws_secret_access_key가 없는 경우이다. aws_access_key_id, aws_secret_access_key가 입력을 받으면, NONE으로 입력을 해준다.aws_access_key_id : AWS 발급 키이다.aws_secret_access_key : AWS 발급 키이다.ssm_path : 주소값이다.최초 실행 예시config = create_config_train_image( 'dev', '0776438ecc5911ed87d5027b3249a460', None, aws_access_key_id, aws_secret_access_key )중간부터 실행 하는 방법get_config_train_image(environment, model_id, script_ver, endpoint_url = None, aws_access_key_id = '', aws_secret_access_key = '', ssm_path = '/mlops/{0}/database/mongo' ) :environment : DEV/PROD 여부를 입력한다.model_id : ML의 고유 아이디를 입력한다.script_ver : ML의 실행 버전을 입력한다.endpoint_url : endpoint_url 주소를 입력한다. 입력이 필요한 경우는 aws_access_key_id, aws_secret_access_key가 없는 경우이다. aws_access_key_id, aws_secret_access_key가 입력을 받으면, NONE으로 입력을 해준다.aws_access_key_id : AWS 발급 키이다.aws_secret_access_key : AWS 발급 키이다.ssm_path : 주소값이다.중간부터 실행 예시config = get_config_train_image( 'dev', '0776438ecc5911ed87d5027b3249a460', 22, None, aws_access_key_id, aws_secret_access_key )config의 구성{"model_id" : "0776438ecc5911ed87d5027b3249a460","model_name" : "k121-dev-density","script_ver" : 29,"endp_name" : "k121-dev-labcut-density-optimization-serverless","endp_config_mode" : "serverless","max_concurrency" : 1,"mem_size" : 2048,"local" : {"model_id" : "0776438ecc5911ed87d5027b3249a460","model_name" : "k121-dev-density","endp_name" : "k121-dev-labcut-density-optimization-serverless","endp_config_mode" : "serverless","max_concurrency" : 1,"mem_size" : 2048,"user_id" : "auto","user_name" : "auto","comment" : "휨강도 평균 예측","extract_local_script_path" : "./script/k121/sql.txt","transform_local_script_path" : "./script/k121/k121_transform.py","train_local_script_path" : "./script/k121/k121_density.py","endpoint_local_script_path" : "./script/k121/k121_sf_api.py","image_name" : "autogluon","transform_image_name" : "scikit-learn","deploy" : true,"mongo_ssm" : "/mlops/dev/database/mongo","script_ver" : 29},"init" : {"model_id" : "0776438ecc5911ed87d5027b3249a460","model_name" : "k121-dev-density","mongo_ssm" : "/mlops/dev/database/mongo","tar_to_s3_bucket" : "test-commit-event-dwe-v1","tar_to_s3_file_path" : "dev/k121-dev-density/29/local/sourcedir.tar.gz","script_ver" : 29,"sourcedir_train_path" : "./script/k121_density.py","sagemaker_model_id" : "k121-dev-density-20230508-044647-752939","bucket" : "test-commit-event-dwe-v1","script_path" : "dev/k121-dev-density/29/script","extract_script_path" : "sql.txt","transform_script_path" : "k121_transform.py","create_model_script_path" : "k121_density.py","endpoint_script_path" : "k121_sf_api.py","endp_name" : "k121-dev-labcut-density-optimization-serverless","endp_config_mode" : "serverless","max_concurrency" : 1,"mem_size" : 2048}}config 생성 발생 에러print( 'extract_local_script_path 작업을 pass 할 수 없습니다.')print( 'transform_local_script_path 작업을 pass 할 수 없습니다.')print( 'train_local_script_path 작업을 pass 할 수 없습니다.')print( 'transform_local_script_path 작업을 pass 할 수 없습니다.')print( 'train_local_script_path 작업을 pass 할 수 없습니다.')print( 'train_local_script_path 작업을 pass 할 수 없습니다.')print( '전부 extract, transform, train, endpoint를 전부 패스하시면, 배포가 불필요합니다. ')배포upload_s3_ml_script(environment, config, endpoint_url = None, aws_access_key_id = '', aws_secret_access_key = '', stepfunction_job = 'mlops_test_step_01',  bucket = 'dwe-mlops-hub-repository',  ssm_path = '/mlops/{0}/database/mongo'  ):environment : DEV/PROD 여부를 입력한다.config : get_config_train_image(), create_config_train_image() 에서 만들어진 config를 넣어준다.endpoint_url : endpoint_url 주소를 입력한다. 입력이 필요한 경우는 aws_access_key_id, aws_secret_access_key가 없는 경우이다. aws_access_key_id, aws_secret_access_key가 입력을 받으면, NONE으로 입력을 해준다.aws_access_key_id : AWS 발급 키이다.aws_secret_access_key : AWS 발급 키이다.stepfunction_job : 배포 프로세스를 입력해 준다.bucket: s3 버킷이름이다.ssm_path : 주소값이다.배포 실행 예시data = upload_s3_ml_script('dev', config, None, aws_access_key_id , aws_secret_access_key,  'mlops_test_step_01', 'test-commit-event-dwe-v1'  )자동 실행auto_excute(environment, model_id, endpoint_url = None, aws_access_key_id = '', aws_secret_access_key = '', stepfunction_job = 'mlops_test_step_01',  bucket = 'dwe-mlops-hub-repository',  ssm_path = '/mlops/{0}/database/mongo'  ):environment : DEV/PROD 여부를 입력한다.model_id : ML의 고유 아이디를 입력한다.endpoint_url : endpoint_url 주소를 입력한다. 입력이 필요한 경우는 aws_access_key_id, aws_secret_access_key가 없는 경우이다. aws_access_key_id, aws_secret_access_key가 입력을 받으면, NONE으로 입력을 해준다.aws_access_key_id : AWS 발급 키이다.aws_secret_access_key : AWS 발급 키이다.stepfunction_job : 배포 프로세스를 입력해 준다.bucket: s3 버킷이름이다.ssm_path : 주소값이다.자동 실행 예시auto_excute('dev', '0776438ecc5911ed87d5027b3249a460', None, aws_access_key_id, aws_secret_access_key, stepfunction_job = 'mlops_test_step_01',  bucket = 'test-commit-event-dwe-v1')업데이트 내용0.0.0.16 : 리젠 추가0.0.0.17 : 리젠 추가 수정0.0.0.18 : README 사진 첨부 테스트 (삭제)0.0.0.19 : README 사진 첨부( 삭제 )0.0.0.20 : README 사진 첨부