문제 발생현재 우리는 경진대회에서 제공해 주는 서버에서 MLflow를 연동해 실험 기록을 남기려 하고 있다. tracking_uri를 다음과 같이 설정해서 서버 내부 파일 경로에 데이터를 기록하려고 했다.mlflow.set_tracking_uri("/data/ephemeral/home/exp/mlruns")mlflow.set_experiment("Image Classification")그리고 mlflow ui 명령어로 MLflow UI를 실행했는데 화면에 실험 기록이 보이지 않았다..이유를 찾아보니 MLflow UI가 해당 경로를 직접 참조하지 않기 때문에 발생한 문제라고 한다. MLflow UI에서 실험 데이터를 확인하려면 tracking_uri가 서버에 올바르게 연결되어야 한다.tracking uri..
전체 글
하다보니 재미있는 AI에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.com서론기존에 머신러닝 프로젝트를 진행하면서 주로 회귀 모델을 사용해 왔는데 최근 프로젝트에서는 KMeans 클러스터링을 활용한 유사 음악 추천 시스템을 구축하게 되었다. 이 시스템의 목표는 다양한 노래 데이터셋을 활용하여 사용자가 입력한 노래와 유사한 곡을 10개 추천하는 것이었다. 클러스터링이 완료된 KMeans 모델을 pkl 파일로 저장하고 서빙하려고 했으나 예상치 못한 에러가 발생했다. KMeans 모델을 이용해 추천하려면 단순히 모델 파일뿐 아니라 클러스터링에 사용한 데이터셋도 필요하다는 사실을 처음 알게 되었다. 이에 따라 회귀 모델과 KMeans 모델의 차이점을 정리해 보았다. 유사곡 추천 시스템을 정리한 내용은 다음 링크에서 확인해볼 수 있다.유사도 기반 음악 추천 시스템 Docker 기반 A..
딥러닝 모델 구현에서 PyTorch딥러닝 모델 구현에 필요한 요소들을 PyTorch를 통해 편리하게 사용할 수 있다.이 그림을 PyTorch 클래스를 이용해서 어떻게 구현을 하는지는 다음과 같다. Dataset, DataLoader를 이용해서 데이터를 만들게 되고, 만들어진 데이터를 모델에 넘겨주게 된다. 이 모델의 연산과정을 통해서 Output을 내게 된다. 이 Output을 이용해서 Loss를 계산하게 된다. 계산된 Loss들을 이용해서 모델의 파라미터를 업데이트하는 Optimization을 진행하게 된다. 1. 데이터Dataset과 DataLoader를 조합하여 데이터를 손쉽게 로드하고 처리할 수 있다.Dataset과 DataLoader를 사용하면, 데이터 집합에서 미니 배치 크기만큼의 데이터를 ..
Data Sources (데이터 소스)데이터 소스는 기업의 다양한 시스템에서 발생하는 원천 데이터를 의미한다. 이를테면, 마케팅, 주문, 재고 관리 등 기업이 운영되는 과정에서 발생하는 모든 데이터를 원천 시스템이라고 부르며, 이 데이터가 저장되는 곳을 데이터 소스라고 한다. 데이터 소스는 해당 시스템에서 최초로 생성된 데이터를 보관하는 역할을 한다. 예를 들어, 마케팅 활동의 결과 데이터는 마케팅 DB에, 주문 시스템에서 발생한 주문 데이터는 주문 DB에 저장된다. 이러한 시스템을 원천 시스템 또는 데이터 소스라고 칭하며, 여기서 생성된 원본 데이터를 활용해 다양한 분석 및 비즈니스 활동이 진행된다. Data Lake (데이터 레이크)데이터 레이크는 다양한 원천 시스템에서 수집된 대량의 데이터를 저장하..
PandasPandas는 Python에서 널리 사용되는 데이터 분석 라이브러리로, 다양한 형식의 데이터를 쉽게 불러오고 처리할 수 있다. 그중 가장 자주 사용하는 함수 중 하나는 read_csv로 CSV 파일을 읽을 때 사용된다. 하지만 이 함수는 데이터를 즉시 메모리에 로딩하므로, 물리적 메모리보다 큰 파일을 읽는 데는 한계가 있다. 예를 들어, 64GB의 메모리를 가진 로컬 PC에서 500GB 크기의 CSV 파일을 처리하는 경우, 단순하게 read_csv로 불러오는 것은 불가능하다. 예전에는 500GB를 한 땀 한 땀 자르기도 했는데 더 스마트한 방법이 있다.nrows, chunksizePandas는 이러한 문제를 해결하기 위해 일부 데이터를 로딩하거나, 데이터를 나누어 처리할 수 있는 옵션을 제공한..
tensor에 대해서 공부하다가 각각의 함수가 비슷비슷하고 -1, 1의 쓰임이 조금씩 다르고 텐서를 공부하면서 슬라이싱([:])에 대해서도 새롭게 알게된 내용이 있어서 정리해보려고 한다. 텐서 shape 바꾸기 (1) reshape 함수reshape은 텐서의 모양을 다시 배열하는 함수로 텐서의 원소 수는 유지하되 차원 배열을 바꿀 수 있다. 메모리를 공유하지 않는다.# 모양 변경a = torch.randn(2, 3, 5) # (2,3,5) 크기를 가지는 텐서 생성print(a)print("Shape : ", a.size()) # 텐서 모양 반환print('\n')reshape_a = a.reshape(5, 6) # 3차원 텐서를 2차원 텐서로 크기 변경 (2,3,5) -> (5,6)print(resha..
딥러닝을 공부하면서 내가 헷갈렸던 개념들과 각 함수들의 순서, 쓰임, 역할에 대해서 정리해보려고 한다. 손실 함수 (Loss Function)손실 함수는 모델이 예측한 값과 실제 값 사이의 차이를 측정하여 오차를 계산한다. 이 오차를 줄이는 것이 모델 학습의 목표이다.손실 함수는 학습 과정에서 출력된 예측 값과 실제 값(레이블) 사이의 차이를 계산하는 데 사용된다. 대표적인 손실 함수는 다음과 같다.회귀 문제: MSE분류 문제: Cross-Entropy Loss손실 함수의 순서는 순전파 후, 모델이 예측한 값과 실제 값 간의 차이를 계산하는 과정에서 사용된다. 활성화 함수 (Activation Function)활성화 함수는 각 뉴런이 계산한 값에 비선형성을 부여한다. 딥러닝 모델은 비선형 문제를 다루기 ..
pytorch 강의를 듣기 앞서 환경세팅 강의를 듣고있는데 Pytorch를 설치할때 GPU가 있고 없고에 따라서 설치하는게 달랐다. 나는 일단 맥북 에어 M1칩을 사용하고있어서 구글에 검색해보니까 아래 블로그들을 참고해서 MPS 활성화까지는 성공했다. (import torch cu 쳤을때 아무 에러 없이 다음 코드 입력창이 나오는것까지 확인했다.) [PyTorch] 💻 맥북 에어 M1칩에서 GPU 사용하기(MPS 장치 활용) for 머신러닝 학습작년 초에 Pytorch를 이용해 딥러닝 모델을 학습시킬 때 겪었던 문제가 있었다. 필자는 macOS intel칩 데스크톱과 macOS m1칩 맥북 에어 유저였는데, 엔비디아에서 macOS에 대한 cuda지원을 중단해서, GPU를velog.io M1(App..