Access Weight and Bias with nn::sequentialSet neural network initial weight values in C++ torch
Where did Otto von Bismarck say "lying awake all night, hating"?
Who are the people reviewing far more papers than they're submitting for review?
Why don't airports use arresting gears to recover energy from landing passenger planes?
Do encumbered characters suffer any penalties when exploring and/or traveling?
All numbers twice in a 7x7 Minesweeper grid
Better way to obtain a smaller vertical line | scaled to math?
Wrong Schengen Visa exit stamp on my passport, who can I complain to?
Very lazy puppy
Tips for remembering the order of parameters for ln?
Which block header fields are miners able to change in an effort to avoid having to recalculate the Merkle Root?
Bash attempts to write two shell prompts?
What is Cousin Itt in The Addams Family?
Should the pagination be reset when changing the order?
How far away from you does grass spread?
How do rulers get rich from war?
Explanation of 申し訳ございません
Is a global DNS record a security risk for phpMyAdmin?
What does the Free Recovery sign (UK) actually mean?
Three knights searching for a princess in a castle
Why would a fighter use the afterburner and air brakes at the same time?
Inquiry answerer
Paradox regarding phase transitions in relativistic systems
What exactly is a web font, and what does converting to one involve?
Amortized Loans seem to benefit the bank more than the customer
Access Weight and Bias with nn::sequential
Set neural network initial weight values in C++ torch
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
If I define std::vector<torch::nn::Linear> linear_layers; and fill this vector with some torch::nn::Linear objects, then I can access the weight and bias values by linear_layers[k].weight and linear_layers[k].bias. Same feature is available with other layer types, e.g., torch::nn::Conv2d.
If create my network using nn::sequential and then push back either of Linear or Conv2d I cannot access the weight and bias directly. Now, my question is how can I access the weight and bias values of each layer when I have used nn::sequential?
Thanks,
Afshin
libtorch
add a comment
|
If I define std::vector<torch::nn::Linear> linear_layers; and fill this vector with some torch::nn::Linear objects, then I can access the weight and bias values by linear_layers[k].weight and linear_layers[k].bias. Same feature is available with other layer types, e.g., torch::nn::Conv2d.
If create my network using nn::sequential and then push back either of Linear or Conv2d I cannot access the weight and bias directly. Now, my question is how can I access the weight and bias values of each layer when I have used nn::sequential?
Thanks,
Afshin
libtorch
add a comment
|
If I define std::vector<torch::nn::Linear> linear_layers; and fill this vector with some torch::nn::Linear objects, then I can access the weight and bias values by linear_layers[k].weight and linear_layers[k].bias. Same feature is available with other layer types, e.g., torch::nn::Conv2d.
If create my network using nn::sequential and then push back either of Linear or Conv2d I cannot access the weight and bias directly. Now, my question is how can I access the weight and bias values of each layer when I have used nn::sequential?
Thanks,
Afshin
libtorch
If I define std::vector<torch::nn::Linear> linear_layers; and fill this vector with some torch::nn::Linear objects, then I can access the weight and bias values by linear_layers[k].weight and linear_layers[k].bias. Same feature is available with other layer types, e.g., torch::nn::Conv2d.
If create my network using nn::sequential and then push back either of Linear or Conv2d I cannot access the weight and bias directly. Now, my question is how can I access the weight and bias values of each layer when I have used nn::sequential?
Thanks,
Afshin
libtorch
libtorch
asked Mar 28 at 13:21
Afshin OroojlooyAfshin Oroojlooy
5529 silver badges25 bronze badges
5529 silver badges25 bronze badges
add a comment
|
add a comment
|
1 Answer
1
active
oldest
votes
Here is the soultion: [see the link https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8 ]
include
using namespace torch;
using namespace torch::nn;
int main()
auto net = Sequential(Conv2d(1 /input channels/, 1 /output channels/, 2 /kernel size/),
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;
The layers of a sequential, have the following naming convention: ., e.g. see the console output
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 ]
add a comment
|
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55398723%2faccess-weight-and-bias-with-nnsequential%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is the soultion: [see the link https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8 ]
include
using namespace torch;
using namespace torch::nn;
int main()
auto net = Sequential(Conv2d(1 /input channels/, 1 /output channels/, 2 /kernel size/),
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;
The layers of a sequential, have the following naming convention: ., e.g. see the console output
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 ]
add a comment
|
Here is the soultion: [see the link https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8 ]
include
using namespace torch;
using namespace torch::nn;
int main()
auto net = Sequential(Conv2d(1 /input channels/, 1 /output channels/, 2 /kernel size/),
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;
The layers of a sequential, have the following naming convention: ., e.g. see the console output
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 ]
add a comment
|
Here is the soultion: [see the link https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8 ]
include
using namespace torch;
using namespace torch::nn;
int main()
auto net = Sequential(Conv2d(1 /input channels/, 1 /output channels/, 2 /kernel size/),
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;
The layers of a sequential, have the following naming convention: ., e.g. see the console output
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 ]
Here is the soultion: [see the link https://discuss.pytorch.org/t/common-class-of-linear-conv-etc/39987/8 ]
include
using namespace torch;
using namespace torch::nn;
int main()
auto net = Sequential(Conv2d(1 /input channels/, 1 /output channels/, 2 /kernel size/),
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;
The layers of a sequential, have the following naming convention: ., e.g. see the console output
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 ]
edited Jun 27 at 18:21
Afshin Oroojlooy
5529 silver badges25 bronze badges
5529 silver badges25 bronze badges
answered Jun 27 at 18:19
Davood HajinezhadDavood Hajinezhad
314 bronze badges
314 bronze badges
add a comment
|
add a comment
|
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55398723%2faccess-weight-and-bias-with-nnsequential%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown