Is it possible to add a layer in a keras model that is only applied during inference?
up vote
0
down vote
favorite
I am trying to quantize a custom keras model myself. Next to the weights I also want to quantize activations to have all fixed point values for the computationally intensive convolutional layers. Can I add a custom layer to my model that is only used for infernce and not during training? I want to train at full precision and only quantize post-training and for activations during infernce obviously.
Another alternative might be to save the weights after training to a .h5 file and build a similar model that includes the activation quantization layers. But I am guessing keras would be thrown off if the model structure is not exactly the same.
I am just getting started with ML and TF. Thanks so much for any tips!
python tensorflow keras quantization
add a comment |
up vote
0
down vote
favorite
I am trying to quantize a custom keras model myself. Next to the weights I also want to quantize activations to have all fixed point values for the computationally intensive convolutional layers. Can I add a custom layer to my model that is only used for infernce and not during training? I want to train at full precision and only quantize post-training and for activations during infernce obviously.
Another alternative might be to save the weights after training to a .h5 file and build a similar model that includes the activation quantization layers. But I am guessing keras would be thrown off if the model structure is not exactly the same.
I am just getting started with ML and TF. Thanks so much for any tips!
python tensorflow keras quantization
1
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to quantize a custom keras model myself. Next to the weights I also want to quantize activations to have all fixed point values for the computationally intensive convolutional layers. Can I add a custom layer to my model that is only used for infernce and not during training? I want to train at full precision and only quantize post-training and for activations during infernce obviously.
Another alternative might be to save the weights after training to a .h5 file and build a similar model that includes the activation quantization layers. But I am guessing keras would be thrown off if the model structure is not exactly the same.
I am just getting started with ML and TF. Thanks so much for any tips!
python tensorflow keras quantization
I am trying to quantize a custom keras model myself. Next to the weights I also want to quantize activations to have all fixed point values for the computationally intensive convolutional layers. Can I add a custom layer to my model that is only used for infernce and not during training? I want to train at full precision and only quantize post-training and for activations during infernce obviously.
Another alternative might be to save the weights after training to a .h5 file and build a similar model that includes the activation quantization layers. But I am guessing keras would be thrown off if the model structure is not exactly the same.
I am just getting started with ML and TF. Thanks so much for any tips!
python tensorflow keras quantization
python tensorflow keras quantization
asked Nov 22 at 17:27
Paul Boehnke
211
211
1
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41
add a comment |
1
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41
1
1
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41
add a comment |
active
oldest
votes
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',
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/3.0/"u003ecc by-sa 3.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%2f53435846%2fis-it-possible-to-add-a-layer-in-a-keras-model-that-is-only-applied-during-infer%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53435846%2fis-it-possible-to-add-a-layer-in-a-keras-model-that-is-only-applied-during-infer%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
1
Why don't you create a new model for inference time which includes the layers of your training model as well as other inference-specific layers you would like? Could you provide a minimal example of what you want to achieve?
– today
Nov 23 at 13:17
Yes, you are right. I figured it out, I thought one could only load the weights from a file into a model of the exact same structure but as long as one does not add any layers containing weights it works as expected. Thanks so much!
– Paul Boehnke
Nov 24 at 14:41