하루 하루

TORCH.NN 본문

IT/Artificial intelligence

TORCH.NN

san_deul 2020. 4. 17. 13:25

https://pytorch.org/docs/stable/nn.html

 

torch.nn — PyTorch master documentation

Shortcuts

pytorch.org

 

Parameters

torch.nn.Parameter

- 매개변수 

1. data ( Tensor 

2. needs_grad ( bool , optional ) : 매개 변수에 그래디언트가 필요한 경우 ( default = True)

 

Containers

torch.nn.Module

 

neural network modules의 기본적인 클래스 

 

import torch.nn as nn
import torch.nn.functional as F

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
        x = F.relu(self.conv1(x))
        return F.relu(self.conv2(x))

 

- forward ( *input ) : 호출시 수행될 코드 정의 

- eval( ) 모듈을 평가모드로 설정

- train ( mod = True ) :  모듈을 훈련모드로 설정 

- to ( * args , ** kwargs ) : 매개 변수 및 버퍼를 이동 및 / 또는 캐스트

  = to( device = None , dtype = None , non_blocking = False )

  = to( dtype , non_blocking = False )

  = to( tensor , non_blocking = False )

  :  device ( torch.device) –이 모듈에서 원하는 매개 변수 및 버퍼 장치 

  :  dtype ( torch.dtype) –이 모듈에서 부동 소수점 매개 변수 및 버퍼의 원하는 부동 소수점 유형

  :  tensor ( torch.Tensor ) –이 모듈의 모든 매개 변수 및 버퍼에 대해 dtype 및 장치가 원하는 dtype 및 장치 인 Tensor

ReLU

torch.nn.ReLU( inplace=False )  

 

- Input: (N, *) : * 는 추가 차원 수  

- Output: (N, *)

 

활성화 함수로 0보다 작은 값이 나온 경우에는 0을 반환하고, 0보다 큰 값이 나온 경우에는 그 값을 그대로 반환

 

Linear

torch.nn.Linear(in_features, out_features, bias=True)

- in_features – input 사이즈 

- out_features – outsize 

- bias False로 설정하면 레이어에서 추가 bias 를 학습하지 않습니다. ( Default: True )

 

 

Comments