मैं नीचे कैफ मॉडल के आधार पर एक पाइटोरच मॉडल लिख रहा हूं। क्या आप जानते हैं कि मैं पाइटोरच में वेट फिलर और बायस फिलर कैसे लिख सकता हूँ?

layer {
  name: "conv3"
  type: "Convolution"
  bottom: "pool2"
  top: "conv3"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  convolution_param {
    num_output: 128
    pad_h: 0
    pad_w: 1
    kernel_h: 1
    kernel_w: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}

शुक्रिया

1
toulouse_codeur 5 अक्टूबर 2020, 12:17

1 उत्तर

सबसे बढ़िया उत्तर

Pytorch में torch.nn.init लाइब्रेरी है जो नेटवर्क के इनिट वेट में मदद करती है .
आप शायद nn.init.normal_ "gaussian" फिलर के लिए, और nn.init.constant_ पूर्वाग्रह के "constant" भराव के लिए।

आप किसी मॉड्यूल m के भार को भरने के लिए फ़ंक्शन का उपयोग कर सकते हैं:

def init_weights(m):
    if type(m) == nn.Conv2d:
        torch.nn.init.normal_(m.weight, std=0.1)
        if m.bias is not None:
            torch.nn.init.constant_(m.bias, val=0)

# define the net
net = MyCaffeLikeNetwork()
# use the function to init all weights of the net
net.apply(init_weights)

पाइटोरच में वज़न init के बारे में अधिक जानकारी के लिए आप यह विस्तृत उत्तर देख सकते हैं।

1
Shai 5 अक्टूबर 2020, 12:39