목록[개발자]/[교과목] (10)
개발자로 후회없는 삶 살기
서론 교과목 3주차 협업에 관한 내용을 정리해 보겠습니다. 본론 - 협업이란? 정의 : 공통된 규칙을 지키는 것 > 검증받지 않은 코드는 에러를 유발한다고 하여 100라인 이상 짜지 못하게 하는 회사가 있다고 합니다. (100라인 이상 짜면 버그가 발생할 확률이 높아집니다. > 코드가 긴 만큼 규칙을 지키기 어렵습니다.) + 혼자 만드는 코드는 그래도 돌아는 갑니다. 근데 같이 짤 때는 절대로 버그가 없을 수 없습니다. 하지만 우리는 프로젝트를 완성하기 위해서 혼자 할 수 없는 경우가 있으므로 협업을 해야 하고 따라서 규칙을 지켜야 합니다. ∴ 협업을 하는 위해 규칙을 만들어야 합니다! > 협업을 잘하게 해주는 협업 툴이 있고 협업 관리 툴을 잘 사용해야 합니다. => 형상관리(version contro..
서론 교과목 실습 과제 2에서 수행한 사항들을 정리해 보겠습니다. 본론 - 텔레그램 봇 기능 추가 1. 텔레그램 봇은 30분마다 메시지 전송 2. 단, 저녁 23~ 아침 6시까지는 메시지 전송 불가 => 목적 텔레그램 봇을 연동한 MASK-RCNN 학습 완료 후 자동 알림과 가중치 파일 알림 => 코드 import telegram import schedule import time import datetime import pytz token = "" bot = telegram.Bot(token) public_chat_name = "@ktest2022" def job(): now = datetime.datetime.now(pytz.timezone('Asia/Seoul')) if now.hour >= 23 o..
서론 교과목 실습 과제 1에서 수행한 사항들을 정리해 봅시다. 본론 - 내용 MASK-RCNN 개발 환경 구축 - 산출물 1. MASK-RCNN 개발 환경 구축 단계별 문제점 및 해결 방안 정리 (PPT, 동영상, 문서 중 선택) 2. MASK-RCNN 개발 가상 환경 배포 버전 (Anaconda 가상 환경 Export) - 검증방안 1. 수업 시간에 각 팀 별 발표 + 제출 산출물 기반 MASK-RCNN Sample 실행 가능 여부 확인 2. Training Validation을 통해 확인 - 단계 1. MASK RCNN 환경 구축 2. Sample Balloon 학습 3. Test - 수행(tensorflow version 1) => MASK RCNN 환경 구축 1. 가상환경 만들기 2. 라이브러리 ..
서론 교과목 14주차 강의 내용을 정리해 보겠습니다. 본론 - 쿠버네티스란? 우리는 지금까지 도커 이미지를 이용해서 프로젝트를 하기 위한 도구들을 배웠습니다. 도커 이미지를 사용하기 위한 인프라를 다져주는 것이 쿠버네티스입니다. 이미지 기반으로 동작을 하더라도 단순히 한 개나 적게 설치할 때는(이미지 pull) 쉽지만 엄청나게 많이 설치할 때는 이미지 기반으로 설치하는 것도 어렵습니다. 구글이라고 하면 하루에 셀 수 없이 많은 컨테이너가 발생합니다. 이 수많은 이미지를 다운 받는 것을 내가 로컬에 이미지를 다운 받을 때처럼 타이핑으로 pull하면 시간도 많이 걸리고 상식적으로 말이 안 된다고 할 수 있습니다. > 이런 것을 조율해 주는 것이 쿠버네티스로 컨테이너 오케스트레이션 도구입니다. (k8s라고 부..
서론 교과목 11주차 강의 내용을 정리해 보겠습니다. 본론 - 최종 목표 쿠버네티스를 적용한 도커 기반 mlops 플랫폼을 오픈 소스 중심으로 구축하고 미니 프로젝트를 수행 > 레드마인, 젠킨스 등을 전부 도커 위에서 진행하여서 이미지로 만들 것입니다. -> 텔레그램을 한 이유 기본적으로 mlops 시스템은 알림을 제공합니다. + 텔레그램으로 파이썬 코드에 명령을 내릴 수도 있습니다. > 텔레그램 봇을 먼저 한 이유 : 실무에 나가면 알람이 굉장한 스트레스가 됩니다다. 어디는 메일로 어디는 슬랙으로 어디는 레드마인으로 하기도 합니다. 어쨋든 내가 필요한 알람을 나에게 오게 하는 것이 중요합니다. 텔레그램 봇을 기초하여 알림 기능 아이디어를 발전시킬 수 있습니다. -> 텔레그램 봇의 목적 일반적으로 스크린..
서론 교과목 10주차 강의 내용 정리해 보겠습니다. 본론 - 인공지능 모델 개발 프로세스 및 분석 사례 우리는 이번 과목에서 프로젝트로 전체 인공지능 모델 개발 프로세스를 다뤄 볼 거고 그중 상당수를 오픈 SW로 진행할 것입니다. => 위 사진을 보면 1. 프로젝트 기획 2. 데이터 수집 ㆍ 정제 -> 이 부분에서 EDA가 발생 : 데이터 분석에서 배운 것을 인공지능 모델 개발 프로세스에서 사용합니다. > 피쳐 엔지니어링에서 PCA, 정규화 등을 실제로 진행합니다. 3. 모델 개발 : 데이터 정체가 끝나면 모델 개발 4. 배포 -> 이전 포스팅에서 설명한 것보다 조금 빠졌지만 전체 흐름은 동일합니다. 우리 수업의 최종 목적이 MLops를 이해하고 실습해 보고 경험해 보는 것입니다. MLops 전체를 다루..
서론 교과목 9주차 강의 내용을 정리해 보겠습니다. 본론 - MLOps란? => DevOps란? 개발과 운영을 같이 해보자 모바일 게임을 보면 운영하면서 계속 수정을 합니다.(개발, 이슈 수정, 운영을 거의 동시에 이루어집니다.) -> 이런 게 가능한 것이 도구들 덕분입니다. 젠킨스의 역할인 통합을 사람이 하니 빌드가 오래 걸렸습니다(휴먼에러 + 수동 타이핑) > 이제는 젠킨스가 모아서 도커로 이미지로 만들어서 배포하니 어느 환경에서든 거의 다 잘 동작합니다. > 이런 것을 '인공지능에 써보자!' 하여, 이를 ML 시스템에 적용한 것이 MLOps입니다. => 이것을 ML에 왜 넣을까요? 1. 어떻게 해야 최적화된 ML 알고리즘이 나오는지 손수 하이퍼 파라미터 튜닝에 영향을 많이 받아서 최적화된 모델이 모..
서론 실무에서 신입이 입사를 했어 그러면 가장 먼저 해야할 것이 환경 셋팅인데 그것을 하는 순서와 방법, 프로세스를 적어보겠습니다. 본론 - jenkins, redmine, git, vscode를 연동 1. vscode 와 git 1) 이렇게 연동해도 되지만 2) 일반적으로는 mkdir해서 git clone 하는 것이 더 많습니다. 2. redmine이랑 git 적용 레드마인이 이슈를 관리해 주는 애인데 git이 레드 마인 안에서 버전 관리 시스템인 주기적인 버전 업로드를 할 수 없다. 따라서 crontab 명령어를 써서 주기적으로 폴더를 refresh 합니다. ∵ 레드마인에 저장소를 연동시키면 그냥 정적인 폴더이다. 클론 탭으로 폴더를 계속 업데이트합니다. > 이렇게 해야 레드마인이 변화를 보고 이슈를..