ChainerやPyTorch のフレームワークでの、Dropoutは、該当する層のノードを削減しますが、実際の入力に対する計算はどのように処理していますか?
PyTorch
1 2例 3class Model(): 4 ... 5 6 def forward(self, x): 7 x1 = self.conv1(x) 8 x2 = self.dropout1(x1) 9 ...
Python
1# パラメータ Tensolやchannelは省略 2 3model.conv1.weight = [ 4 [0,1], 5 [2,3], 6] 7 8model.conv1.bias = [0] 9 10x = [ 11 [0,0,0], 12 [1,1,1], 13 [2,2,2], 14] 15 16padding = 0 17stride = 1 18dropout_rate = 0.5 19kernel_size = 2 # 2x2のフィルター -> model.conv1.weight
Python
1# 出力 2 3x1 = [ 4 [5, 5], 5 [11, 11] 6] 7 8x2 = ?
テスト時の順伝播で、
x1 は、xとconv1.weight を畳み込みで計算した後に、 conv1.bias を足ます。
x2 は、どのような計算になりますか?
あなたの回答
tips
プレビュー