我知道如何在python tensorflow中设置内部和内部线程,如下所示
n_cpus=1
sess = tf.Session(config=tf.ConfigProto(
device_count={ "CPU": n_cpus },
inter_op_parallelism_threads=n_cpus,
intra_op_parallelism_threads=8
));但我需要在c++中实现这一点。那么在tensorflow c++中有没有等价的代码来设置线程间和线程内呢?
发布于 2020-10-23 00:28:52
您可以使用以下代码在C++中实现此功能。
Status LoadGraph(string graph_file_name, std::unique_ptr<tensorflow::Session>* session) {
tensorflow::GraphDef graph_def;
Status load_graph_status =
ReadBinaryProto(tensorflow::Env::Default(), graph_file_name, &graph_def);
if (!load_graph_status.ok()) {
return tensorflow::errors::NotFound("Failed to load compute graph at '",
graph_file_name, "'");
}
// initialize the number of worker threads
tensorflow::SessionOptions options;
tensorflow::ConfigProto & config = options.config;
config.set_inter_op_parallelism_threads(1);
config.set_intra_op_parallelism_threads(1);
config.set_use_per_session_threads(false);
session->reset(tensorflow::NewSession(options));
Status session_create_status = (*session)->Create(graph_def);
if (!session_create_status.ok()) {
return session_create_status;
}
return Status::OK();
}https://stackoverflow.com/questions/61361334
复制相似问题