프로젝트
이미지 올리면 피부 질환과 피부암을 알려주는 API 만들기.
AI로 API를 만듬
클라우드에 배포
1
https://console.aws.amazon.com/console/home
2
amazon linux
22 (디폴트)
2
ec2 접속
3
생성 실습
# 브라우저
새텝에서 보기
# 이름
fastapi-aws-web01
# 사양이 좀 높아야 하는 경우
c5.xlarge 로 변경함.
# Create new key pair
fastapi-aws-web01-key
ppk는 windows pc
pem은 리눅스, mac
# 디폴트로 외부에서 접속되는 공인 IP 할당 받는다.
Auto-assign public IP
Info
Enable
# 디폴트로 ssh (22) 허용
Allow SSH traffic from
Allow HTTP traffic from (체크해 허용)
생성
# 추가 허용 포트
8080
8081
4
네트워크에서 public ip 확인하고 접속
5
putty
ppk키 사용
ec2-user
생성형 AI로 만듬.
1
winscp로 애플리케이션 올리기
파일 이름 영어로 변경
폴더 이름을 영어로 변경
unzip해서 압축 풀기
sudo yum update
sudo yum install python3
sudo yum install python3-pip
sudo pip3 install fastapi
sudo pip3 install uvicorn
# 첫번째 애플리케이션
1
# 애플리케이션 실행해서 부족한 모듈이 없는지 확인
python3 Cancer.py
2
# 서버에서
cpu버전이면 tensorflow-cpu 만 설치하세요.
tensorflow 전체 설치하면 용량이 커서 서버가 다운되요.
sudo pip install tensorflow-cpu
sudo pip install python-multipart
sudo pip install --upgrade pillow
3
# 80으로 애플리케이션 실행 테스트
sudo uvicorn Cancer:app --host 172.30.1.49 --port 80
4
# pc에서 curl로 질의함. 이미지를 첨부해서 서버에 질의해보자.
curl -X POST -F "file=@./te.png" http://13.125.74.15
# 샘플 이미지 , te.png
5
# 2번째 애플리케이션
# 실행해서 부족한 모듈 확인 후 설치
python3 Disease.py
6
sudo pip install torch
sudo pip install torchvision
7
# 애플리케이션을 8081 포트로 띠워보자.
sudo uvicorn Disease:app --host 172.30.1.49 --port 8081
8
# 백그라운드 실행 - 터미널을 나가더라도 계속 동작하게 백그라운드로 실행하자.
# 터미널을 나가고 동작하는기 curl 로 점검하자.
nohup uvicorn Disease:app --host 172.30.1.49 --port 8080 &
9
# 같이 보면 좋을 자료
https://brunch.co.kr/@topasvga/4116