[英]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.