본문 바로가기

분류 전체보기

(131)
[프로그래머스] 다리를 지나는 트럭 (python) https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 내 첫번째 풀이 from collections import deque ''' 브리지 길이 만틈 큐 만들고 무게 이하일때 트럭 올린다. 이동포함 1초 무게 이상일때 이동 1초 ''' def solution(bridge_length, weight, truck_weights): # 브릿지 길이 큐 bridge = deque([0] * bri..
[python] 너비우선탐색, 깊이우선탐색(bfs, dfs) 1. 깊이 우선 탐색 (DFS, Depth-First Search) : 최대한 깊이 내려간 뒤, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동 출처 https://developer-mac.tistory.com/64 💡 깊이 우선 탐색의 개념 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식을 말합니다. 2. 너비 우선 탐색 (BFS, Breadth-First Search) : 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동 출처 https://developer-mac.tistory.com/64 💡 너비 우선 탐색의 개념 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법으로, 시작 정점..
[04] 머신러닝 프로젝트 라이프 사이클 현상 파악 구체적인 문제 정의 프로젝트 설계 지표 결정 Action(모델 개발 후 배포, 모니터링) 추가 원인 분석 내가 관심있거나 가고싶은 회사 비즈니스 모델파악하기. // 누군가 산업에 정리해둔 paper 찾아보기
[03] Model Serving Online Serving 단일 데이터를 받아 실시간을 에측을 하는 문제. ex) 기계 고장 예측 모델, 음식 배달 소요 시간 에측 직접 API 웹 서버 개발 : Flask, FastAPI 클라우드 서비스 활용 : AWS의 SageMaker, GCP의 Vertex Ai 등 Serving 라이브러리 활용 : Tensorflow Serving, Torch Serve, MLFlow, BentoML 등 바로 Serving 라이브러리를 활용해 개발하는 것보다 프로토타입, FastAPI 서버 개발을 먼저 해봐서 여러가지 방법 중 이 방법을 왜 선택하는지에 대한 인식을 키우는 것이 중요하다. 오픈소스는 계속 개발되고 있기 때문에 너무 라이브러리에 종속되지 말 것. Serving 할 때 Python 버전, 패키지 버전..
[02] MLOps 개론 MLOps 란? 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화 시키는 과정 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(Ops)에서 사용되는 문제, 반복을 최소화하고 비즈니스 가치를 창출하는 것이 목표 빠른 시간 내에 가장 적은 위험을 부담하며 아이디어 단계부터 Production 단계까지 ML 프로젝트를 진행할 수 있도록 기술적 마찰을 줄이는 것 Research와 Production 차이 MLOps 학습 방법 -> 문제를 해결하기 위한 방법으로 어떤 방식을 활용 할 지.. 모든 것을 학습하는 것은 ㄴㄴ MLOps Component - Infra 클라우드 : AWS, GCP, Azure, NCP .. 온 프레미스 : 회사나 대학원의 전산실에 서버를 직접 설치 MLOps Compon..
[01] Product Serving 개론 라이브러리가 왜? 만들어졌는지 집중하기 Special Misson 모두 진행하는 것을 추천 강의는 1회만 수강하고 전체적인 흐름파악, 키워드 필기하면서 수강하기 강의 자룔를 통해 복습
[00] 피어세션 정리 21.12.06 16:00 피어 세션 요약 회의사항 project serving - app으로 구현 공부해보고 잘 안되면 web 으로 다음 주 강의 참고 하면 될 것 같다. 분업 modeling : 정승균, 김원석 serving : 정효찬, 조준희, 한태호 21.12.07 16:00 피어 세션 요약 회의사항 Voila 설치 오류 해결 방법 공유 torch lighting 써보면 좋을 것 같다. 최종프로젝트 - 웹 기반 앱개발 고려 Special Mission 해결 공유 → 금요일 피어세션
[03] 좋은 모델과 파라미터 찾기 : AutoML 이론 모델 구조, 하이퍼 파라미터 train & eval 과정 -> End-to-end AutoML 일반적인 AutoML pipeline Bayesian Optimization Hyperparameter Optimization manual search 직관에 의해서 hyperparameter를 바꿔가며 대입하는 방식이다. grid search 가능한 hyperparameter 경우의 수를 일정구간으로 나눠서 구간별로 균일하게 대입해보는 방식이다. random search 가능한 hyperparameter 조합을 random하게 선택해서 대입해보는 방식이다. 더보기 보통 grid search나 random search가 주로 쓰이는데, 이 둘의 문제는 다음 hyperparameter 후보를 찾는 과정에서 이제까..
[02] 대회 및 데이터셋 소개 경량화의 다양한 관점 : 포커스를 어디에 둘까 ? 모델크기(=파라미터 수) 속도 연산횟수 (FLOPs) MACs (Multiply-accumulate operations) 합, 곱 연산의 횟수 MACs ~= 0.5 FLOPs 속도를 측정하기 어려운 상황에서의 대한 속도에 영향을 주는 요소에 대한 insight ( ShuffleNetv2 논문 ) FLOPs 이외의 Memory Access Cost 관점에서 속도에 영향을 주는 요소를 고려 입 출력의 채널 크기가 동일 o 큰 Group convolution x 여러 분기의 path가 나오는 구조는 병렬화에 악영향 Element-wise operation은 무시하지 못할 비중을 가짐 https://arxiv.org/abs/1807.11164v1 ShuffleN..
[01] 모델 경량화 개요 경량화의 목적 On device AI Power usage RAM Memory usage Storage Computing power AI on cloud Latency ( 요청 처리 시간) Throughput ( 단위 시간 당 처리 가능 요청 수 ) 경량화, 최적화 종류 네트워크 구조 관점 Efficient Architecture Design(+AutoML; Nerual Architecture Search(NAS)) Network Pruning : 찾은 모델 줄이기 ( 일반화하여 적용하기 아직 까진 어렵다 ) 중요도가 낮은 파라미터를 제거하는 것 좋은 중요도 ? -> loss gradient크면 등등 Structured Pruning : 파라미터를 그룹 단위 ( channel / filter, layer..