Inception ResNet v1 설계

Hα ყҽσɳɠ·2020년 9월 2일
0

WICWIU

목록 보기
5/5

Basic idea

기존 WICWIU에 있던 Resnet에서는 basic block을 구성한 후, 이를 적층시켜 resnet을 구현하였다.
Inception Resnet의 구조는 이와 다르므로, reduction block과 inception block을 따로 구성해보자.
➡️ Block(종류별로 세분화)을 구성한 후, 이를 적층시켜 Inception Resnet을 구성한다.

How to

stem 영역은 Inception Resnet class에서, block 구현은 basic block 클래스에서 하자.
블럭 클래스를 나눠야 할 듯?
--> 각각 클래스 별로 나눠서 구현하는걸로!

Memo

module class가 operator class를 상속받고 있는 구조.
각각의 블럭 클래스가 module class를 상속받아서 구현하기

Pytorch / WICWIU

  • 파이토치에서는 concat연산을 할 때, torch.cat()을 사용한다. (복수의 텐서 결합)
  • nn.Sequential은 다른 Module들을 포함하는 Module로, 그 Module들을 순차적으로 적용하여 출력을 생성한다.
    파이토치에서는 nn.Sequential 연산을 통해 여러개의 값들이 하나의 레이어를 통과하게끔 하는데, 위큐에서는 직접 해줘야 하는 것 같다 ..? (다시 확인)
    --> 그냥 하나하나 연산해주면 될 듯
    self.conv = Conv2d

memo

Maxpooling2D(pInput, maskRow, maskCol, strideRow, strideCol, pName);

ConvolutionLayer2D(Operator* pInput, int pNumInputChannel,
int pNumOutputChannel, int pNumKernelRow, int pNumKernelCol,
int pStrideRow, int pStrideCol, int pPaddingRow, int pPaddingCol,
int use_bias, std::string pName);

Addall 은 skip connection할 때, Relu는 블럭 마지막에 다 넣어준 다음에 그래프를 만든다~~!~!~!

필요한 block

Block35
Block17
Block8
Reduction A
Reduction B

profile
𝑯𝒐𝒏𝒆𝒔𝒕𝒚 𝑰𝒏𝒕𝒆𝒈𝒓𝒊𝒕𝒚 𝑬𝒙𝒄𝒆𝒍𝒍𝒆𝒏𝒄𝒆

0개의 댓글