본문 바로가기

[Day11] Data Visualization 2-3. Scatter Plot Scatter Plot =산점도 점을 사용해서 두 feature간의 관계를 나타낼 수 있다. .scatter() scatter components 색 : color 연속은 gradient, 이산은 개별 색상으로 표현 가장 뚜렷하게 잘 구분할 수 있다 모양 : marker 구별이 힘들고 점이 많아질수록 더 어렵다 또한 마커마다의 면적차이 때문에 인지차이가 있다 크기 : size 버블 차트(bubble chart) 구별은 쉽지만 오해하기 쉽다. 원의 크기가 작다고 값의 크기가 작은 것은 아닐 수 있다 Scatter plot의 목적 1. 상관관계 확인 정비례 : 양의 상관관계 : positive correlations x값이 커지면 y도 커지는 경향성 음의 상관관계 : negative correlations ..
[Day11] Data Visualization 2-2. Line Plot Line Plot Line Plot =Line chart = Line graph =꺾은선 그래프 = 선그래프 연속적으로 변화하는 값을 점으로 나타내고 선으로 이은 그래프 시간과 순서에 대한 변화를 살핀다. 점간의 기울기, 차이가 중요한 정보로 사용된다. Line Plot의 요소 선은 중첩되면 잘 보이지 않는다. 그래서 잘 구분하기 위해서 색상 : color 마커 : marker, marker size 선의 종류 : linestyle, linewidth 를 다르게 사용해서 구분한다. Line Plot 을 위한 전처리 시간단위가 너무 작으면 노이즈나 에러가 심해져서 패턴 파악이 잘 되지 않는다. 그래서 smoothing을 한다. sliding window, moving average(이동 평균)과 같은 방법..
[Day11] Data Visualization 2-1. Bar plot 막대 그래프 = Bar chart, Bar graph, bar plot 직사각형 막대를 사용해서 데이터를 표현하는 그래프 범주(category)형을 비교하기에 적합하다. 방향에 따른 분류 .bar() : 수직 방향 : vertical x축에 범주, y축에 값 .barh() : 수평 방향 : horizontal y축에 범주, z축에 값 다양한 Bar Plot 1. Multiple Bar plot 그룹별로 각각 plot을 그려 여러 개의 bar plot을 그리는 방법 stacked bar plot 각 그룹을 같은 범주끼리 쌓아준다 쌓는 순서를 같게 유지하고 수량을 annotation을 달아주는 것이 효과적이다. .bar(bottom='') .barh(left='')​ 로 구현한다. Overlapped Bar..
[Day11] Data visualization 1-2. 시각화의 요소 데이터 시각화를 위해서는 당연히 데이터가 필요하다 시각화를 진행할 데이터를 보는 관점 데이터셋 관점 Global 전체 데이터의 대해서 개별 데이터의 관점 Local Dataset 종류 정형 데이터 : Tabular 테이블형태이다. csv, tsv 파일 한 행(row)가 데이터 1개, 한 열(column)은 feature 통계적 특성(분포, 평균), feature 사이 관계(수치형 간의 관계, 수치형과 범주형 간의 관계), 데이터간 비교 등을 시각화 할 수 있다. 시계열 데이터 : Time-Series 시간 흐름에 따른 데이터 정형데이터 뿐만 아니라 비디오 같은 비정형 데이터도 시계열로 존재할 수 있다. 추세(Trend), 계절성(Seasonality), 주기성(Cycle)등을 분석할 수 있다. 지리 데이..
[Day10] Pytorch 10. Troubleshooting OOM : Out Of Memory iteration을 돌면서 발생 왜,어디서 발생했는지 알기 어려워서 대처가 어려움 #1 CUDNN_STATUS_NOT_INIT #GPU를 제대로 설치하지 않았을 때 #2 device-side-assert #OOM의 일종 1. 간단한 방법 Batch size를 줄이고 CPU를 비우고(커널 재실행) 다시 실행해보기 2. GPUUtil GPU Util 로 현재 내 GPU의 상태를 확인한다 iteration 마다 메모리가 늘어나는지 확인할 수 있다 !pip install GPUtil import GPUtil GPUtil.showUtilization() 3. torch.cuda.empty_cache() GPU에서 사용하지 않는 캐시 cache 정리 del은 주소 관계만 끊기 때..
[Day10] Pytorch 9. Hyperparameter Tuning 하이퍼 파라미터(Hyper Parameter)는 학습시 사람이 지정해주는 값들이다. learning rate(감쇠율), 모델의 크기, optimizer 이 대표적인 예시이다. 성능을 높히기 위해서 1. 모델을 바꾼다 2. 데이터를 바꾸거나 다듬는다 3. 하이퍼파라미터를 조절한다 와 같은 세 가지 방법이 있다. 2번이 대부분의 상황에서 가장 많은 영향을 미친다. Search Layout Grid Layout search 일정한 범위 내의 값을 모두 시도해보고 가장 나은 성능을 발휘하는 파라미터를 찾는 방법 Random Layout search 값을 random하게 돌려서 그 중 가장 잘 나오는 하이퍼파라이퍼를 찾는다 그래서 random layout 으로 어느정도 잘 나오는 틀이 잡히면 그 범위안에서 gri..
[Day10] Pytorch 8. Multi-GPU 학습 데이터가 많아져서 GPU가 많이 필요하게 되었다. GPU single : 1개의 GPU multi : 2개 이상의 GPU GPU node(=system) : 1대의 컴퓨터 TensorRT와 같은 GPU 사용을 돕는 도구도 있다 멀티 GPU를 사용하는 두 가지 방법이 있다 Model Parallel : 모델 병렬화 성능을 올리는 하나의 분야로 자리잡고 있다 밑의 사진처럼 되도록 파이프라인을 짜야 한다 Data Parallel : 데이터 병렬화 2개로 나눈다면 각각 batch로 반으로 데이터를 나눈 후 나중에 각 GPU에서의 loss를 미분,평균을 구해서 전체 미분값을 구한다. minibatch를 병렬적으로 돌리는 것과 유사 4번에서 다시 한 GPU에 output을 모으고 다시 분배하는데, 그 역할을 하는 ..
[Day8] Pytorch 7. Monitoring tools for PyTorch 학습과정을 tracking할 수 있는 방법들 Tensorboard weight & biases 이 두 가지의 사용법을 알아보자!! Tensorboard TensorFlow의 프로젝트로 만들어진 시각화 도구 computational graph, metric, 학습결과의 시각화를 지원한다. scalar : metric, loss, precision 등 상수들을 시간(epoch)에 따라서 표시해준다. 모델의 computational graph weight 등의 값을 histogram으로 표현 image나 text 를 예측 값과 실제 값을 바로 비교 mesh : 3d 형태의 데이터 표현 Weight & Biases MLOps 도구 중 하나 머신러닝 실험을 지원하기 위한 도구 협업, code versioning,..