Variable not found when using a Tensorflow session in another function
I am creating a Flask app and I want to restore a tensorflow session with it's variables only once and use it on various routes to make predictions but it doesn't seem to work.I created a class whose constructor restores the interactive session and it's variables,the class also contains a function named predict which tries to predict the outcome using the interactive session described in the constructor.The following code is how i initialize the object to be shared among all routes.
class MyServer(Flask):
def __init__(self, *args, **kwargs):
super(MyServer, self).__init__(*args, **kwargs)
self.testClass=TestClass()
app = MyServer(__name__)
Here is an example of the route I used
@app.route('/')
def index():
size_dict=app.testClass.test(saveName)
return jsonify(size_dict)
But this throws the following error
ValueError: Variable Net_WT/block1/bn does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=tf.AUTO_REUSE in VarScope?
But if I initialize the object and use it in the same route it works
python tensorflow flask
add a comment |
I am creating a Flask app and I want to restore a tensorflow session with it's variables only once and use it on various routes to make predictions but it doesn't seem to work.I created a class whose constructor restores the interactive session and it's variables,the class also contains a function named predict which tries to predict the outcome using the interactive session described in the constructor.The following code is how i initialize the object to be shared among all routes.
class MyServer(Flask):
def __init__(self, *args, **kwargs):
super(MyServer, self).__init__(*args, **kwargs)
self.testClass=TestClass()
app = MyServer(__name__)
Here is an example of the route I used
@app.route('/')
def index():
size_dict=app.testClass.test(saveName)
return jsonify(size_dict)
But this throws the following error
ValueError: Variable Net_WT/block1/bn does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=tf.AUTO_REUSE in VarScope?
But if I initialize the object and use it in the same route it works
python tensorflow flask
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57
add a comment |
I am creating a Flask app and I want to restore a tensorflow session with it's variables only once and use it on various routes to make predictions but it doesn't seem to work.I created a class whose constructor restores the interactive session and it's variables,the class also contains a function named predict which tries to predict the outcome using the interactive session described in the constructor.The following code is how i initialize the object to be shared among all routes.
class MyServer(Flask):
def __init__(self, *args, **kwargs):
super(MyServer, self).__init__(*args, **kwargs)
self.testClass=TestClass()
app = MyServer(__name__)
Here is an example of the route I used
@app.route('/')
def index():
size_dict=app.testClass.test(saveName)
return jsonify(size_dict)
But this throws the following error
ValueError: Variable Net_WT/block1/bn does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=tf.AUTO_REUSE in VarScope?
But if I initialize the object and use it in the same route it works
python tensorflow flask
I am creating a Flask app and I want to restore a tensorflow session with it's variables only once and use it on various routes to make predictions but it doesn't seem to work.I created a class whose constructor restores the interactive session and it's variables,the class also contains a function named predict which tries to predict the outcome using the interactive session described in the constructor.The following code is how i initialize the object to be shared among all routes.
class MyServer(Flask):
def __init__(self, *args, **kwargs):
super(MyServer, self).__init__(*args, **kwargs)
self.testClass=TestClass()
app = MyServer(__name__)
Here is an example of the route I used
@app.route('/')
def index():
size_dict=app.testClass.test(saveName)
return jsonify(size_dict)
But this throws the following error
ValueError: Variable Net_WT/block1/bn does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=tf.AUTO_REUSE in VarScope?
But if I initialize the object and use it in the same route it works
python tensorflow flask
python tensorflow flask
edited Dec 27 '18 at 15:11
asked Dec 27 '18 at 14:51
sudojdoe
226
226
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57
add a comment |
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57
add a comment |
1 Answer
1
active
oldest
votes
I didn't want to answer my own question but I found a solution,in the constructor of the TestClass I added self.graph = tf.get_default_graph() after restoring the session and variables.
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/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%2f53946904%2fvariable-not-found-when-using-a-tensorflow-session-in-another-function%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
I didn't want to answer my own question but I found a solution,in the constructor of the TestClass I added self.graph = tf.get_default_graph() after restoring the session and variables.
add a comment |
I didn't want to answer my own question but I found a solution,in the constructor of the TestClass I added self.graph = tf.get_default_graph() after restoring the session and variables.
add a comment |
I didn't want to answer my own question but I found a solution,in the constructor of the TestClass I added self.graph = tf.get_default_graph() after restoring the session and variables.
I didn't want to answer my own question but I found a solution,in the constructor of the TestClass I added self.graph = tf.get_default_graph() after restoring the session and variables.
answered Dec 28 '18 at 5:20
sudojdoe
226
226
add a comment |
add a comment |
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%2f53946904%2fvariable-not-found-when-using-a-tensorflow-session-in-another-function%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
How are you serving the app?
– Sergei Lebedev
Dec 27 '18 at 15:57