繁体   English   中英

如何在C ++中调用tf.initialize_all_variables()? tensorflow

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM