[英]How to initialize tensorflow variable that wasn't saved other than with tf.global_variables_initializer()
[英]How to invoke tf.initialize_all_variables() in C++? tensorflow
我是tensorflow的新手。 順便說一句,如何在C ++中執行ops,如tf.initialize_all_variables()或優化器返回的一些操作self.train_op = self.optimizer.apply_gradients(漸變)? 我試過了
init_all_vars_op = tf.initialize_variables(tf.all_variables(), name='init_all_vars_op')
...
tf.train.write_graph(session.graph_def, 'models/', 'graph.pb', as_text=False)
在python中,然后在C ++中:
status = session->Run(inputs, {"init_all_vars_op"}, {}, &outputs);
if (!status.ok()) {
std::cout << "tf error: " << status.ToString() << "\n";
return;
}
所以我得到了
tf error: Invalid argument: FetchOutputs init_all_vars_op: output index too large, must be < 0
我改變了
status = session->Run(inputs, {"init_all_vars_op"}, {}, &outputs);
至
status = session->Run(inputs, {}, {"init_all_vars_op"}, &outputs);
現在它工作正常。
根據https://www.tensorflow.org/versions/master/api_docs/cc/ClassSession.html#virtual_Status_tensorflow_Session_Run第二個參數用於返回輸出張量的操作,第三個參數用於不返回張量的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.