Вот душа: [см. Ссылку https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8]
include
с использованием факела пространства имен;используя факел пространства имен :: nn;
int main () {auto net = Sequential (Conv2d (1 / входные каналы /, 1 / выходные каналы /, 2/ размер ядра /), Conv2d (1, 1, 2));
for (auto& p : net->named_parameters()) {
NoGradGuard no_grad;
// Access name.
std::cout << p.key() << std::endl;
// Access weigth and bias.
p.value().zero_(); // set all zero
std::cout << p.value() << std::endl;
}
return 0;
}
Слои последовательного, имеют следующее соглашение об именах:., Например, см. Вывод консоли
0.weight # name of the layer
(1,1,.,.) =
0 0
0 0
[ Variable[CPUFloatType]{1,1,2,2} ]
0.bias
0
[ Variable[CPUFloatType]{1} ]
1.weight
(1,1,.,.) =
0 0
0 0
[ Variable[CPUFloatType]{1,1,2,2} ]
1.bias
0
[ Variable[CPUFloatType]{1} ]