본문 바로가기

AI

(6)
[DL, PyTorch] 신경망 모델 정의하기 -- Class, nn.Module PyTorch로 신경망 모델을 설계할 때, 크게 다음과 같은 세 가지 스텝을 따르면 된다. Design your model using class with Variables Construct loss and optim Train cycle (forward, backward, update) 이 포스팅에선 첫번째 단계인 클래스와 변수를 정의하는 방법을 다루려고 한다. PyTorch로 신경망을 설계할 때크게 두 가지 방법이 있다. 사용자 정의 nn 모듈 nn.Module을 상속한 클래스 이용 어느 방식으로 신경망을 설계해도 상관 없지만, 복잡한 신경망을 직접 설계할 때는 내 마음대로 정의하는 방식의 nn모듈을 더 많이 사용한다고 한다. (참고: tutorials.pytorch.kr/beginner/pytorch..
사이킷런 사이킷런은 sklearn.neural_network 모듈 아래에 분류 작업을 위한 MLPClassifier, 회귀 작업을 위한 MLPRegressor를 제공 사이킷런의 다른 추정기 모델과 마찬가지로 MLPClassifier도 사용하기 매우 쉽다. 클래스 객체를 생성한 후 fit() 메서드로 훈련하고 score() 메서드로 정확도를 평가한다. predict() 메서드는 새로운 샘플에 대한 분류 결과를 예측 from sklearn.neural_network import MLPClassifier mlp = MLPClassifier(hidden_layer_sizes=(10,), activation='logistic', \ solver='sgd', alpha=0.01, batch_size=32, \ learnin..
[리스트와 넘파이어레이] [왜 딥러닝에서는 넘파이가 중요한가?] 훈련샘플은 2차원, 3차원 ... 행렬에 저장됨 (아이리스 데이터...) [리스트와 넘파이어레이] 리스트는 입력으로 들어갈 수 없음 -> 넘파이어레이로 바꿔줘야 함 리스트는 하나하나 독립적 넘파이어레이 ㄱ 넘파이 배열의 속성 (2주 강의 35페이지) 축 아규맥스 등등 ??? 더보기 type -> 텐서가 뭘로 되어있는지를 파악하기 이해 많이 사용 (텐서 : 인공지능의 아웃풋 형태) 텐서/토치텐서 (5주 - 넘파이어레이를 토치텐서로, 토치텐서를 넘파이어레이로) 원핫코드 하이퍼파라미터 파이썬에서의 클래스
파이토치 패키지의 기본 구성 torch : 메인 네임스페이스 텐서 등의 다양한 수학 함수가 포함되어져 있으며 Numpy와 유사한 구조를 가집니다. torch.autograd 자동 미분을 위한 함수들이 포함되어져 있습니다. 자동 미분의 on/off를 제어하는 콘텍스트 매니저(enable_grad/no_grad)나 자체 미분 가능 함수를 정의할 때 사용하는 기반 클래스인 'Function' 등이 포함되어져 있습니다. 3. torch.nn 신경망을 구축하기 위한 다양한 데이터 구조나 레이어 등이 정의되어져 있습니다. 예를 들어 RNN, LSTM과 같은 레이어, ReLU와 같은 활성화 함수, MSELoss와 같은 손실 함수들이 있습니다. 4. torch.optim 확률적 경사 하강법(Stochastic Gradient Descent, SG..
벡터, 행렬 그리고 텐서(Vector, Matrix and Tensor) 딥 러닝을 하게 되면 다루게 되는 가장 기본적인 단위는 벡터, 행렬, 텐서 차원이 없는 값을 스칼라 1차원으로 구성된 값 -> 벡터 2차원으로 구성된 값 -> 행렬 3차원으로 구성된 값 -> 텐서 우리가 살고 있는 세계 = 3차원 -> 4차원 이상의 세계를 인간의 머리로 생각하는 것은 어려운 일 같은 표현 (벡터 = 1차원 텐서, 2차원 행렬 = 2차원 텐서, 그리고 3차원4차원5차원 텐서 ....) 텐서 * 2D Tensor(Typical Simple Setting) |t| = (Batch size, dim) 위의 경우는 2차원 텐서의 크기 |t|를 (batch size × dimension)으로 표현하였을 경우입니다. 조금 쉽게 말하면, 아래의 그림과 같이 행렬에서 행의 크기가 batch size, ..
딥러닝 라이브러리 딥러닝 라이브러리 pandas 데이터 처리를 위한 라이브러리 csv 파일 읽고 쓰기 x = pd.read_csv('파일명', header=0).values (헤더 제외) -> print(x)로 출력하여 확인 sklearn (사이킷런) 머신러닝 분석 시 유용한 라이브러리. 여러 머신러닝 모듈들로 구성 numpy 파이썬에서 대규모 다차원 배열을 다룰 수 있도록 도와주는 라이브러리 -> 대부분의 데이터가 배열로 구성 넘파이가 리스트보다 비교적 빠른 연산 지원, 메모리 효율적으로 사용함 리스트는 정수실수문자열 등의 다양한 타입으로 구성될 수 있지만 np의 array는 단일 타입 데이터로만 구성 가 효율적인 행렬 연산 라이브러리 다차원 배열 데이터 구조가 포함되어 있음 텐서플로우 딥러닝 지원 라이브러리 케라스 고..