MLflow 설치
MLflow 설치
-
AWS EC2 프리티어 생성
-
EC2 생성 시 만든 키페어 (예 capstone.pem) 파일을 이용하여 ssh 로그인
-
탄력적 IP 생성 후 생성한 인스턴스에 할당
-
ssh 로 접속
ssh -i "capstone.pem" ec2-user@{퍼블릭 IPv4 DNS}
- EC2 스왑 파일 추가 (AWS 프리티어로 EC2를 사용하면서 발생하는 느려지는 문제 해결 방법)
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16 # swap 메모리를 할당 $ sudo chmod 600 /swapfile # 스왑 파일에 대한 읽기 및 쓰기 권한 업데이트 $ sudo mkswap /swapfile # Linux 스왑 영역을 설정 $ sudo swapon /swapfile # 스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록 만듦 $ sudo swapon -s # 성공했는지 확인
- /etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 활성화
$ sudo nano /etc/fstab # 파일 끝에 다음 줄을 새로 추가하고 파일을 저장(Ctrl+x 누른 후 y)한 다음 종료 /swapfile swap swap defaults 0 0
- 확인
$ free -h
-
한국시간 설정
$ sudo rm /etc/localtime $ sudo ln -s/usr/share/zoneinfo/Asia/Seoul/etc/localtime
- /etc/sysconfig/clock 파일을 열어 ZONE 값을 UTC에서 Asia/Seoul 으로 변경해준다.
$ sudo nano /etc/sysconfig/clock
-
AWS Console 에서 인스턴스 재부팅
- MLflow 설치
$ sudo yum install python3-virtualenv $ virtualenv mlflow $ cd mlflow $ source bin/activate $ pip install mlflow boto3 psycopg2-binary
- Mysqlclient 설치
$ sudo su – $ dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-4.noarch.rpm $ dnf -y install mysql mysql-community-client $ exit $ pip install pymysql $ pip install mysqlclient
-
EC2 인트턴스 보안그룹 5000 번 오픈
- S3 생성 및 IAM 역할(Role)을 사용해서 ec2에 S3 권한주기
- Mlflow tracking server 실행
$ mlflow server --host 0.0.0.0 \
--default-artifact-root mlflow-artifacts:/ \
--artifacts-destination s3://capstone-mlflow-bucket \
--serve-artifacts \
--backend-store-uri mysql+mysqldb://DB명:유저명@DB주소:3306/mlflow
- Pycharm 에서 Mlflow 사용 가이드
- 윈도우 PowerShell 에서 MLFLOW_TRACKING_URI 환경변수 등록 방법
$Env:MLFLOW_TRACKING_URI="http://서버주소:5000"
- 윈도우 PowerShell 에서 MLFLOW_TRACKING_URI 환경변수 등록 방법