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!










share|improve this question


















  • 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















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!










share|improve this question


















  • 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













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!










share|improve this question













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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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














  • 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

















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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

What visual should I use to simply compare current year value vs last year in Power BI desktop

How to ignore python UserWarning in pytest?

Alexandru Averescu