파이토치로 신경망을 구축하는 방법에는 두가지가 있다.
첫번째는 torch.nn.Sequential을 활용하는 것이다. 이 함수는 네트워크를 인스턴스화하는 동시에, 원하는 신경망에 연산 순서를 인수로 전달한다.
A seqential containier. Modules will be added to it in the order they are passed in the constructor. Alternatively, an ordered dict of modules can also be passed in.
순차적인 container이다. torch.nn.Sequential에 전달되는 순서대로 연산 모듈이 추가된다.
ordered dict를 연산을 전달하는 인자로 사용할 수도 있다.
import torch.nn as nn
from collections import OrderedDict
# Example of using Sequential
model = nn.Sequential(
nn.Conv2d(1,20,5),
nn.ReLU(),
nn.Conv2d(20,64,5),
nn.ReLU()
)
# Example of using Sequential with OrderedDict
model = nn.Sequential(OrderedDict([
('conv1', nn.Conv2d(1,20,5)),
('relu1', nn.ReLU()),
('conv2', nn.Conv2d(20,64,5)),
('relu2', nn.ReLU())
]))