오늘은 코칭스터디 - 인공지능 기초 다지기에서 딥러닝 기초 다지기 파트를 들었다. 도커 환경설정 python에서 tensor를 다루는 법을 간단하게 배웠다. gradient descent, SGD를 파이썬 코드 관점에서 간단하게 배웠다. 간단한 지식이었지만, pytorch에 대해서 기본 지식도 없는 채로 실무에서 코드를 봤을 때 막막했던 부분들이었는데, 이번 기회에 알아서 좋았기도 했고, 한편으로는 이런 기본 지식도 없는데 어떻게 일을 했을까 싶더라. pytorch methods Squeeze: dimension의 사이즈가 1인 부분을 날려버린다. Unsqueeze: 내가 원하는 dimension에 1을 넣어준다. 그래서 반드시 쓸 때 꼭 dimension을 명시해야 한다. 참고: https://pyto..
딥러닝
1. Predict def predict( model, dataset, batch_size = 64, device = 'cuda' ): model.eval() loader = DataLoader( dataset, batch_size=batch_size, shuffle=False, num_workers=NUM_WORKERS ) preds = [] with torch.no_grad(): for data in loader: pred = model(data['input'].to(device)).squeeze(-1) preds.append(pred.detach().cpu().numpy()) preds = np.concatenate(preds, 0) ● Torch.no_grad() - gradient 계산을 안하게..
# pytorch에서는 keras와는 달리 compile, fit으로 쉽게 사용하는 부분을 전부 직접 코딩해야 한다고 한다. # 이것도 모르고 인터넷에서 찾은 자료만 보고 compile을 못 찾고 있었다. # compile, fit을 직접 만들어야 하기 때문에 실제 모델이 돌아가면서 해야할 일을 직접 코딩해 내 입맛에 맞출 수 있나보다. # 신경망의 구조를 모르면 구현하기 힘들 것 같다. # 아 그냥 keras로 할걸, 그래도 좋은 경험 했다 생각하자. 1. compile & fit & evaluate - 이 notebook에는 compiling과 fit, model evaluate이 한 function에 있다. 그래서 처음 딥러닝을 접하거나, 어색한 사람은 보다가 너무 길어 살짝 멘붕이 올 수도 있겠다..
1. data preprocess - dataset - sample과 target을 저장하는 구조. - DataLoader - sample에 쉽게 접근할 수 있도록 dataset을 순회 가능한(iterable) 객체로 감싼다. import torch from torch.utils.data import Dataset # dataset은 sample과 정답을 저장 # DataLoader는 sample에 쉽게 접근할 수 있도록 dataset을 순회 가능한 객체로 감싼다. class VentilatorDataset(Dataset): def __init__(self, df): if 'pressure' not in df.columns: # pressure가 없는 test / validation df인 경우, 0으로..
# overview, data, submission을 꼭 챙겨보자 1. 참고자료 - EDA + lightGBM : https://www.kaggle.com/artgor/ventilator-pressure-prediction-eda-fe-and-models - LSTM : https://www.kaggle.com/theoviel/deep-learning-starter-simple-lstm 2. 내 colab note https://colab.research.google.com/drive/1LTb1wiyeiH6wLEXui2uUR1ny9t-JMCmv?usp=sharing https://colab.research.google.com/drive/1ZxbT9v3ZY7IdSu_RHYHY3PQUFSLwK2hj?usp=..
이번에 kaggle의 google brain - ventilator Pressure prediction 을 진행하면서, 딥러닝의 전체 순서가 너무 헷갈렸다. 머신러닝 할 때와 순서가 거의 비슷하긴 하지만, 나는 한 눈에 보이는 걸 좋아하기 때문에, 개념 정리할 겸, 딥러닝의 주요 스텝을 정리해보고자 한다. 순서를 정리해보면 1. Load data 2. pre process data - 데이터 전처리 3. define architecture - 대충 읽어보니, 예를 들어 CNN으로 할건지, RNN, LSTM으로 할건지 고르는듯 4. compiling model - loss, optimizer, metrics 등을 정의 5. fit the model - model 학습 및 validation predict ..