전체 글 102

IProgress not found. Please update jupyter and ipywidgets

파이토치 Efficient Net이나 RegNet을 쓰려고 하니까 IProgress not found. Please update jupyter and ipywidgets 이런 에러가 떴다. jupyter와 ipywidgets를 업데이트도 해봤는데 계속해서 떴다. 그러다가 콘솔에 downloading "http~~" to 현재dir/torch/hub/checkpoints 라는 출력을 보았다. 해당 url에 들어가니까 직접 pth파일을 다운 받을 수 있었고 이를 위의 dir로 이동시켜주니 바로 해결되었다.

TroubleShooting 2023.12.24

Docker Compose | 여러 컨테이너 관리하기

Docker Compose 이번 포스팅은 도커 컴포즈에 관한 내용이다. 멘토님이 실제 서비스에서는 여러 컨테이너를 띄우기 때문에 docker compose 공부를 추천해주셨다!👍 docker compose란 Docker compose는 compose 파일로 여러 컨테이너를 관리하기 쉽게 해주는 기능이다. 아래 실습 내용들은 도커의 공식 document를 따라 실습 후, 작성하였다. installation 우선 나는 Docker desktop을 설치하였다. 이 경우 docker-compose는 설치되어있으며, 터미널에 docker-compose 입력 시 아래 결과로 설치되어있음을 확인할 수 있다. app.py 다음은 redis와 flask를 이용한 간단한 웹페이지 작성이다. get_hit_count 함수로..

MLOps 2023.12.24

AI 프로젝트의 Flow 와 유의할 점 파악해보기

오늘은 머신러닝 프로젝트의 flow에 대하여 정리하려고 한다. 머신러닝 프로젝트 Flow 문제 정의가 중요한 이유 특정 현상을 파악하고 그 현상에 있는 문제를 정의하는 과정이다. 본질을 파악하는 과정 문제를 잘 풀기 위해서는 문제정의가 중요하다. 해결해야 하는 문제는 무엇이고, 해결하면 무엇이 좋을까? 어떻게 해결하면 좋을까? How 보다는 Why! 근본적인 사고 능력과 문제를 충분히 정의하고 고민하는 습관을 만드는 것이 중요하다! 전반적인 Flow 현상파악 목적, 문제 정의 => 계속 생각하기, 쪼개서 생각하기 프로젝트 설계 Action 추가 원인 분석 현상파악 어떤 일이 발생하고 있는지, 어떤 현상이 발견되었는지, 해당 일에서 어려운 점은 무엇인지, 해당 일에서 해결하면 좋은 것은 무엇인지, 추가적으..

MLOps 2023.12.24

SVM 복잡한 수식 쉽게 이해하기!

SVM 전반적인 설명 svm : support Vector Machine 고차원 데이터의 분류문제에 좋은 성능 트레이드오프(generalization ability, training data) 관계에서 generalization ability 증가시키는 방향 Statistical learning theory에 근거 SVM 상황 -> 이진분류문제의 예시이다. 이처럼 hyper plane, decision boundary를 찾는 것이 목표이다! 그런데 이렇게 클래스를 구별할 수 있는 경계들이 너무 많다... 그러면 기준을 세워볼까...? svm 기준 | Margin 바로 Margin! 마진을 최대화할 수 있는 hyperplane을 찾자 → generalization error를 최소화 Margin : 각 클..

AI/ML 2023.12.24

RNN에 대해 알아보기

RNN Basic 시퀀스 데이터 먼저 시퀀스 데이터란 소리, 문자열, 주가 등의 데이터처럼 나열된 데이터를 말한다. 이벤트의 순서가 중요하다는 특징이 있다. 독립동등분포가정을 잘 위배하기 때문에 순서를 바꾸거나 과거정보에 손실이 발생하면 데이터의 확률분포도 바뀐다. 조건부 확률을 이용해 앞으로 발생할 데이터의 확률분포 다룬다. *** 과거의 모든 정보를 가지고 예측할 필요 없다. AR(τ) : 고정된 길이만큼의 시퀀스만 사용하는 경우를 표시한다. W(2),W_X(1)​,W_H(1)​은 시간 t에 따라 변하지 않는다. t에 따라 변하는 것은 잠재변수, 입력, 데이터이다. BPTT RNN의 역전파 방법이다. 잠재변수의 연결 그래프에 따라 순차적으로 계산한다. ( 현재에서 과거까지 ) ∏부분은 시퀀스 길이가 ..

AI/ML 2023.12.24

CNN에 대해 알아보기

CNN Basic Convolution 연산 신호(signal)를 커널을 이용해 국소적으로 증표 또는 감소시켜서 정보를 추출, 필터링하는 것 CNN에서 사용하는 연산은 계속 convolution이라고 불러왔지만 정확히는 cross-correlation이다. *** 위치(i,j)에 따라 커널이 바뀌지 않는다. 각 원소 성분곱으로 위의 결과는 19이다. 결과는 입력 크기 - 커널 크기 + 1 이다. 여러개의 2차원은 3차원으로 보고 Tensor라고 부른다. 채널이 여러 개인 2차원은 convolutions은 채널 개수만큼 커널을 만들고 각각의 2차원 입력에 적용한 후 더하면서 수행한다. Back propagation 포워딩 반대로 미분을 이용하여 가중치를 업데이트 시켜주는 과정이다. 으로 forwarding..

AI/ML 2023.12.24