-
Notifications
You must be signed in to change notification settings - Fork 782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tf global variables initializer #17
Comments
From the sort demo,
Once the session is created and the variables initialized once, you should be able to evaluate the network for any other values of the placeholders without any additional requirements to call the initializers again (Just like in any other TF model). If you do not want to deal with variable initialization explicitly, you may be interested on using Hope this helps :) |
Thank you for your answer, Alvaro. I should clarify my issue a little better: However, when we initialize our model, e.g. (from the physics demo):
we assume the number of predictions/estimations are fixed (num_processing_steps_tr). Now, what can one do if the number of model estimations varies during training? The only idea which comes to my mind is to set the num_processing_steps_tr to the highest number that occurs during training and computing the loss only over the required estimation length. Is there a more elegant way to do this? |
As you said, the easy solution is to have a fixed maximum number of num_processing_steps. This is actually the option with the fastest inference as well, however it is not only not very elegant, but if you make the number of thinking steps arbitrarily high, the time it takes to build the graph will grow linearly with that, The alternative solution is to have a placeholder that contains the number of processing steps, so you can change the value dynamically. However, this would mean that now the exact number of processing steps is not known at graph definition time, so you cannot longer use a python |
In the demos we can see that tf.global_variables_initializer() is called before every model execution. Since one might be interested in batch-wise computation, it would be good to know whether there's a work around to this requirement.
Specifically, not calling the initialization line before running EncodeProcessDecode model yields:
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value EncodeProcessDecode/graph_independent/edge_model/edge_output/b
Is there a more efficient way to run the model on the input / target placeholders?
The text was updated successfully, but these errors were encountered: