- 프로젝트명 :
Git 활용 및 DevOps / MLOps
- 목적
- 범위
2-1. Python 신조어 퀴즈 - 제시된 신조어를 맞추는 퀴즈
취존
, 솔까말
, 케바케
- Python 앱이 시작되면 환영인사가 출력
- 취존이 어떤 문장의 줄임말인가요? 출력되고 입력을 받음
- 입력 받은 문장과 저장된 문장을 비교해 같으면 정답 틀리면 오답 출력
- 3개 질문 모두 완료하면 “3개 퀴즈 중 X개 정답”을 출력
1️⃣ 랜덤 숫자(정수형)을 생성하려면 randint(시작값, 종료값) 사용
2️⃣ 숫자 비교 처리는 IF-ELSE 구문
3️⃣ 반복문은 for 또는 while 구문 사용
4️⃣ 반복문을 종료하려면 break
5️⃣ 함수는 def 구문을 사용해 생성하며 코드를 모듈화
2-2. Python 랜덤 업/다운 숫자 맞추기 게임
게임이 시작되면 1~20 사이의 랜덤 숫자를 프로그램이 가지고 시작합니다. 숫자를 입력해 맞추는 게임으로 입력한 숫자가 프로그램의 랜덤 숫자와 비교해 작으면 다운 크면 업이 출력됩니다. 총 3번의 기회가 주어집니다.
- Python 앱이 시작되면 “숫자를 맞춰보세요”가 출력되고 입력을 받음
- 입력 값과 랜덤 숫자를 비교해 업 다운 출력
- 입력 값과 랜덤 숫자가 같으면 정답 출력
- 총 3번의 기회. 3번 안에 못 맞추면 실패 출력
- 입력 값과 숫자 비교는 Python 함수를 사용해 처리
- 반복문을 이용해 3회 반복 처리
1️⃣ 랜덤 숫자(정수형)을 생성하려면 randint(시작값, 종료값) 사용
2️⃣ 숫자 비교 처리는 IF-ELSE 구문
3️⃣ 반복문은 for 또는 while 구문 사용
4️⃣ 반복문을 종료하려면 break
5️⃣ 함수는 def 구문을 사용해 생성하며 코드를 모듈화
2-3. Python Flask RESTful 웹 서비스 제작
127.0.0.1:포트번호/hello
- hello world를 출력
127.0.0.1:포트번호/echo
- hello GET 방식으로 전달한 파라미터와 값을 JSON 형식으로 출력
127.0.0.1:포트번호/upload_image
- upload_image는 POST 방식으로 업로드한 이미지를 분석해 이미지의 가로 세로 픽셀 사이즈를 JSON 형식으로 출력
- Python flask 코드를 리뷰
- hello route 구현
- GET/POST 방식 파라미터와 값 전달 - curl 또는 Postman 등 사용
- echo route 구현
- JSON 으로 echo 결과 출력 { "parameter": "value" }
- upload_image route 구현
- JSON으로 upload_image 결과 출력 { "width": 1024, "height”: 512 }
1️⃣ flask 설치
2-4. 공부시간/점수 예측 회귀 머신러닝 모델 생성
- CSV 데이터를 로드
- matplotlib으로 데이터 시각화
- 데이터 분할
- 선형 회귀 또는 다른 회귀 모델 생성
- 모델 정확도 평가, MSE나 MAE 사용
- 모델을 파일로 저장하고, 다시 파일을 모델을 로드
- 로드한 모델로 12시간, 14시간 공부할 경우 예측 결과 출력
1️⃣ CSV 로드
2️⃣ matplotlib 산점도
3️⃣ 데이터 분할
4️⃣ 선형회귀
5️⃣ 모델 정확도 평가
6️⃣ 모델 저장과 로드
2-5. 타이타닉 우주선 분류 모델 생성
주어진 데이터는 타이타닉 우주선에서 사고가 발생하여 다른 차원으로 안전하게 이동한 승객과 그렇지 못한 승객에 대한 정보를 포함합니다. 이 정보를 분석하여 분류(Classification) 모델을 생성하고 모델의 정확도를 평가하는 작업을 수행할 것입니다.
- 분류 모델에 대한 이해
- 대량 데이터 처리를 위한 pandas
- EDA 수행
- 모델을 생성하고 AUC 계산
- 모델을 파일로 저장하고, 다시 파일을 모델을 로드
2-6. Cat & Dogs 이미지 분류 딥 러닝 모델 생성
딥러닝 프레임워크를 활용해 모델을 생성하고, 이 모델에 개나 고양이 아무 이미지나 넣으면 개 또는 고양이로 분류해 결과를 출력합니다.
- 딥러닝 실행
- 대량 이미지 파일 처리
- 이미지를 머신러닝이 처리할 수 있는 포맷으로 변환
- 딥러닝 모델을 생성하고 모델 평가
- 딥러닝 모델을 파일로 저장하고 다시 로드
- 로드된 딥러닝 모델에 아무 강아지/고양이 이미지를 입력하고 예측 결과 출력
1️⃣ keras 공식 가이드(Image classification from scratch)
2️⃣ 모델 저장 및 로드(Keras 모델 저장 및 로드 | TensorFlow Core) 또는 (케라스(keras) 모델 저장(save) 및 불러오는(load) 2가지 방법)
2-7. Git과 Github 활용
지난 코드들을 Github에 게시하고, 기본적인 코드 관리를 위해 Git 명령을 사용하는 방법을 이해합니다.
-
신조어퀴즈 코드를 Github 리포지토리로 Push
- Github 리포지토리를 만들고 “도전과제 1번 신조어 퀴즈” 코드를 push
- Branch를 생성
- branch에서 README, .gitignore와 MIT License 파일을 추가
- push 하고 main branch에 merge 수행
-
업다운 퀴즈 코드를 Github 리포지토리로 Push
- 먼저 새로운 리포지토리를 Github에서 생성
- git clone 명령으로 리포지토리 가져오기
- “도전과제 2번 업다운 퀴즈” 코드를 Github으로 push
- Github에서 branch를 생성
- branch에서 린트(Lint) 처리와 단순 Unit test 코드를 추가
- push & main branch에 merge 수행
-
Flask 웹앱에 머신러닝 예측 기능 추가
-
3번 Flask 앱
에4번 공부시간/점
코드를 Route 추가 - 새로운 Github 리포지토리로 push
- curl이나 Postman으로 GET방식 요청
- JSON 으로 예측 결과 출력 { "score": 80 }
-
-
Flask 웹앱에 딥러닝 예측 기능 추가
-
6번 Cats&Dogs 이미지 분류
예측 코드를 Route 추가 - 새로운 Github 리포지토리로 push
- curl이나 Postman으로 POST방식으로 아무 개/고양이 이미지 파일을 요청
- JSON 으로 예측 결과 출력
-
1️⃣ Git과 Github 튜토리얼
2️⃣ SSH Key 인증이해
3️⃣ Python 린트