Safemotion Lib
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
resnet2d.ResNet2d Class Reference
Inheritance diagram for resnet2d.ResNet2d:

Public Member Functions

None __init__ (self, in_channels, stage_blocks, input_key)
 
 forward (self, sample)
 

Public Attributes

 inplanes
 
 input_key
 
 conv1
 
 bn1
 
 relu
 
 layer1
 
 layer2
 
 layer3
 
 layer4
 

Protected Member Functions

nn.Sequential _make_layer (self, block, int planes, int blocks, int stride=1)
 

Detailed Description

이미지 특징을 사용하기 위한 모델
입력을 T x 1 로 가정하고 만듦

Definition at line 42 of file resnet2d.py.

Constructor & Destructor Documentation

◆ __init__()

None resnet2d.ResNet2d.__init__ ( self,
in_channels,
stage_blocks,
input_key )
args:
    in_channels (int) : 입력 채널수
    stage_blocks (List) : 스테이지 마다 쌓는 블럭의 수를 설정
    input_key (str) : 모듈의 inference에서 사용하는 입력데이터의 키값

Definition at line 47 of file resnet2d.py.

52 ) -> None:
53 """
54 args:
55 in_channels (int) : 입력 채널수
56 stage_blocks (List) : 스테이지 마다 쌓는 블럭의 수를 설정
57 input_key (str) : 모듈의 inference에서 사용하는 입력데이터의 키값
58
59 """
60 super(ResNet2d, self).__init__()
61
62 block = BasicBlock
63
64 self.inplanes = in_channels
65 self.input_key = input_key
66
67 # input block
68 self.conv1 = nn.Conv2d(in_channels, self.inplanes, kernel_size=1, stride=1, padding=0, bias=True)
69 self.bn1 = nn.BatchNorm2d(self.inplanes)
70 self.relu = nn.ReLU(inplace=True)
71
72 # residual blocks
73 self.layer1 = self._make_layer(block, in_channels, stage_blocks[0], stride=1)
74 self.layer2 = self._make_layer(block, in_channels, stage_blocks[1], stride=2)
75 self.layer3 = self._make_layer(block, in_channels, stage_blocks[2], stride=2)
76 self.layer4 = self._make_layer(block, in_channels, stage_blocks[3], stride=1)
77
78

Member Function Documentation

◆ _make_layer()

nn.Sequential resnet2d.ResNet2d._make_layer ( self,
block,
int planes,
int blocks,
int stride = 1 )
protected

Definition at line 79 of file resnet2d.py.

79 def _make_layer(self, block, planes: int, blocks: int, stride: int = 1) -> nn.Sequential:
80
81 downsample = None
82
83 # downsampling 필요할경우 downsample layer 생성
84 if stride != 1 or self.inplanes != planes:
85 downsample = nn.Sequential(
86 nn.Conv2d(self.inplanes, planes, kernel_size=1, stride=stride),
87 nn.BatchNorm2d(planes)
88 )
89
90 layers = []
91 layers.append(block(self.inplanes, planes, stride, downsample))
92 self.inplanes = planes
93 for _ in range(1, blocks):
94 layers.append(block(self.inplanes, planes))
95
96 return nn.Sequential(*layers)
97

◆ forward()

resnet2d.ResNet2d.forward ( self,
sample )
args:
    sample (dict)) : 입력 데이터, self.input_key에 해당하는 키가 있어야함
        self.input_key의 아이템은 Tensor 타입 -> shape (B, C, T, 1)
            B : 배치 크기
            C : 입력 채널
            T : 시간

return (Tensor):
    특정 해상도의 특징 벡터 -> shape (B, C_o, T_o, 1)
        B : 배치 크기
        C_o : 채널
        T_o : 시간

Definition at line 98 of file resnet2d.py.

98 def forward(self, sample):
99 """
100 args:
101 sample (dict)) : 입력 데이터, self.input_key에 해당하는 키가 있어야함
102 self.input_key의 아이템은 Tensor 타입 -> shape (B, C, T, 1)
103 B : 배치 크기
104 C : 입력 채널
105 T : 시간
106
107 return (Tensor):
108 특정 해상도의 특징 벡터 -> shape (B, C_o, T_o, 1)
109 B : 배치 크기
110 C_o : 채널
111 T_o : 시간
112 """
113 x = sample[self.input_key]
114 x = self.conv1(x)
115 x = self.bn1(x)
116 x = self.relu(x)
117
118 x = self.layer1(x)
119 x = self.layer2(x)
120 x = self.layer3(x)
121 x = self.layer4(x)
122
123 return x

Member Data Documentation

◆ bn1

resnet2d.ResNet2d.bn1

Definition at line 69 of file resnet2d.py.

◆ conv1

resnet2d.ResNet2d.conv1

Definition at line 68 of file resnet2d.py.

◆ inplanes

resnet2d.ResNet2d.inplanes

Definition at line 64 of file resnet2d.py.

◆ input_key

resnet2d.ResNet2d.input_key

Definition at line 65 of file resnet2d.py.

◆ layer1

resnet2d.ResNet2d.layer1

Definition at line 73 of file resnet2d.py.

◆ layer2

resnet2d.ResNet2d.layer2

Definition at line 74 of file resnet2d.py.

◆ layer3

resnet2d.ResNet2d.layer3

Definition at line 75 of file resnet2d.py.

◆ layer4

resnet2d.ResNet2d.layer4

Definition at line 76 of file resnet2d.py.

◆ relu

resnet2d.ResNet2d.relu

Definition at line 70 of file resnet2d.py.


The documentation for this class was generated from the following file: