首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Tensorflow c++中为种子配置设置inter_op_parallelism_threads和intra_op_parallelism_threads

如何在Tensorflow c++中为种子配置设置inter_op_parallelism_threads和intra_op_parallelism_threads
EN

Stack Overflow用户
提问于 2020-04-22 17:10:09
回答 1查看 266关注 0票数 0

我知道如何在python tensorflow中设置内部和内部线程,如下所示

代码语言:javascript
复制
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++中有没有等价的代码来设置线程间和线程内呢?

EN

回答 1

Stack Overflow用户

发布于 2020-10-23 00:28:52

您可以使用以下代码在C++中实现此功能。

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61361334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档