내일배움캠프 AI - 26일차 TIL, 2022.05.24

Dongwoo Kim·2022년 5월 24일
0

TIL / WIL

목록 보기
29/113

스파르타 코딩클럽

내일배움캠프 AI 웹개발자양성과정 2회차

2022.05.24. 26일차- TIL

1. 추가기능 구현 & 미세조정

09:00-12:00

대부분의 기능들은 어제 모두 구현이 완료되었기 때문에 오늘은 각자 맡은 부분에서 추가기능을 구현하거나 세부작업들을 진행하기로했다. 먼저 로그인/회원가입을 맡았던 팀원은 로그아웃 기능도 만들어보고, 어제 구현한 이미지 업로드 모달 기능도 웹페이지에 맞게 UI를 편집하는 등 핵심적인 기능들은 완료되었다는 것이 일단 안정감있게 다른 기능들을 손볼 수 있었다. 나는 어제 학습시켰던 MobileNetV2를 성능을 조금이라도 높일 수 있는지 추가 미세조정 작업을 했다.

결과적으로는 거의 효과를 보지못했다. 과적합을 피하기위해 learng_rate를 낮추고 opimizer를 Adam에서 SGD로도 바꿔보고 momentum를 줘보거나 l1규제를 주거나 등등 여러 작업을 해보았는데 결과적으론 성능이 0.67에서 0.69까지는 오르기는 했으나 그에 비해 과적합(overfitting)이 너무 많이 일어나서 그냥 이전 모델을 계속 사용하기로 결정했다.

추가 미세조정한 학습 결과, 오른쪽 그래프에서 val_acc 거의 그대로인데 training_acc만 계속 오르고있다.

2. 배포 문제

12:00-13:00 점심시간
13:00-15:00 배포 문제

오후에는 한가지 문제점이 발생했었다. 바로 백엔드 서버를 나의 컴퓨터로 통일하고 다른 팀원들은 클라이언트만 실행시켜서 내 컴퓨터의 서버로 API를 통신하고자 했는데 잘 되지않았다. 이 부분에 있어서 많은 서치를 해보았다. flask에서 development server가 아닌 production sever로 실행시키기 위해서 waitress를 다운받아서 적용시켜보거나 host를 다르게 설정해보는 등, 하지만 결과론적으론 코드 상에서 문제점을 찾을 수 없었고 튜터님께 문의해보았다. 문제는 개인 컴퓨터의 공유기 설정, 유동아이피 등과 같은 문제로 배포하기 어렵고 하고자한다면 KT와 같은 internet 통신사로부터 고정 IP를 받아야한는 것이다. 때문에 aws의 클라우드 컴퓨터를 이용하면 배포가 가능한지도 확인해봤는데 ec2와 같은 낮은 사양의 인스턴스로는 CNN 모델을 돌리기힘들어서 이것도 좋지 않은 방법이었다. 따라서 결과적으로는 배포에 대한 사항은 이번 프로젝트의 중요한 부분은 아니었기 때문에 로컬로 각자 백엔드 서버를 실행시키는 것으로 결론지었다.

다만 이렇게하지 않으려고했던 이유는 DB는 이미 aws를 이용한 ec2컴퓨터를 이용고있었기 때문에 클라이언트에서 업로드한 이미지는 DB가 아니라 백엔드 서버에 이미지파일로 저장하지만 그 결과 기록은 DB에 저장되기 때문에 다른 팀원이 이미지를 업로드하면 나의 컴퓨터에서는 이미지파일은 없지만 DB에 결과가 저장되어있어 히스토리 페이지를 볼때 이미지를 불러오지 못하는 현상이 발생했다.

3. 발표 영상 촬영 & PPT 작성

15:00-18:00 발표 준비
18:00-19:00 저녁시간
19:00-21:00 발표 영상 촬영 & PPT 작성

오후부터는 개발을 최종적으로 마무리하고 내일있을 발표 준비 단계로 돌입했다. 놀랍게도 PPT 디자인을 너무나도 멋있게 만들어준 팀원이 있어서 그 팀원에게 PPT를 맡겼고 나는 발표 영상을 촬영했다. 또한 내일 발표시연은 내가 해도 됐지만 이왕이면 발표를 해본적 없는 팀원에게 기회를 주고 싶어 다른 팀원들에게 추천해주었고 처음에는 다들 부담스러워했지만 결국에는 한번도 발표해본 적없는 팀원이 발표하기로했고 서로서로 도와주며 발표를 준비했다.

내일이 와봐야 알겠지만 이번 팀프로젝트를 진행하면서 좋았던 점은 오늘처럼 각 팀원들이 서로서로의 부족한 점을 채워주며 시너지효과를 볼 수 있었다는 것이다. 혼자서 이 프로젝트를 진행하라고 했으면 절대 못 했을 것 같은 일들을 다같이 진행하니 그보다 더 많은 것들을, 더 잘 할 수 있었다.

앞으로도 지금처럼 서로 도와가며 같이 성장해나가는 팀이 되었으면 좋겠다.

4. 개발 문서

profile
kimphysicsman

0개의 댓글