이미지 올리면 피부 질환과 피부암을 알려주는 API
딸
AI로 API를 만듬
아빠
클라우드에 배포
1
네이버 클라우드 가입
2
로그인
2차 인증을 필수로 하자.
3
콘솔 > VPC 네트워크와 퍼블릭 서브넷 1개를 만든다.
여기서는 비공식 표준 가이드를 참고해서 만든다.
# 콘솔
https://console.ncloud.com/dashboard
# 비공식 네트워크 가이드
https://brunch.co.kr/@topasvga/3956
4
# 네트워크 생성
Service > VPC
VPC 생성
cancer-naver-vpc
10.0.0.0/21
pub1-subnet
10.0.2.0/24
5
# 서버 생성
Service > Server > 서버 생성
Rocky Linux 8.10
High CPU
vcpu32
서버이름
cancer-naver-api01
Network Interface 추가
공인IP > 새로운 공인IP 할당으로 변경
새로운 인증키 생성
cancer-naver-key1
생성
10분
2
# 브라우저
새텝에서 보기
3
acg는 tcp
22 (디폴트 허용)
3389 (디폴트 허용)
80 (추가)
4
네트워크에서 public ip 확인하고 접속
putty
passwd
g1!!
생성형 AI로 만듬.
1
winscp로 애플리케이션 올리기
파일 이름 영어로 변경
폴더 이름을 영어로 변경
unzip해서 압축 풀기
best_model_checkpoint
yum update
yum install python3
yum install python3-pip
pip3 install fastapi
pip3 install uvicorn
# 파이썬 최신 버전 설치
cd /opt
wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz --no-check-certificate
tar -zxvf Python-3.11.3.tgz
cd Python-3.11.3
./configure
make
sudo make install
# 첫번째 애플리케이션
1
# 애플리케이션 실행해서 부족한 모듈이 없는지 확인
python3 Cancer.py
2
# 서버에서 없는 모듈 설치후 재실행 반복!
cpu버전이면 tensorflow-cpu 만 설치하세요.
tensorflow 전체 설치하면 용량이 커서 서버가 다운되요.
sudo yum install epel-release
sudo yum install python-pip
pip3 install --upgrade pip
pip3 install tensorflow-cpu
pip3 install python-multipart
pip3 install --upgrade pillow
pip uninstall typing_extensions
pip uninstall fastapi
pip install --no-cache fastapi
# ImportError: cannot import name 'AdamW'
pip install --upgrade torch
pip install --upgrade torch torchvision
pip install transformers
pip install fastapi
3
# 가상환경 만들어 사용하기
python3 -m venv myenv
source myenv/bin/activate
pip install PyYAML
pip install --upgrade pip
4
# 80으로 애플리케이션 실행 테스트
uvicorn Cancer:app --host 172.30.1.49 --port 80
5
# pc에서 curl로 질의함. 이미지를 첨부해서 서버에 질의해보자.
curl -X POST -F "file=@./te.png" http://13.125.74.15
# 샘플 이미지 , te.png
6
# 2번째 애플리케이션
# 실행해서 부족한 모듈 확인 후 설치
python3 Disease.py
pip install torch
pip install torchvision
7
# 애플리케이션을 8081 포트로 띠워보자.
sudo uvicorn Disease:app --host 172.30.1.49 --port 8081
8
curl -X POST -F "file=@./te.png" http://13.125.74.15
9
# 백그라운드 실행 - 터미널을 나가더라도 계속 동작하게 백그라운드로 실행하자.
# 터미널을 나가고 동작하는기 curl 로 점검하자.
nohup uvicorn Disease:app --host 172.30.1.49 --port 80 &
10
# 같이 보면 좋을 자료
https://brunch.co.kr/@topasvga/4116