对tensorflow :: graph :: SetDefaultDevice的调用将被忽略

时间:2019-04-02 18:09:05

标签: c++11 tensorflow

在具有2个NVidia 1080 ti(Tensorflow 1.12 / Cuda 10)的系统上,调用tensorflow :: graph :: SetDefaultDevice选择特定的1080的系统将被忽略,并且该图形始终在gpu:0上执行(根据nvidia-smi)

称为tensorflow :: graph :: SetDefaultDevice,如互联网上的文档所述。

if(check_status(ReadBinaryProto(tf :: Env :: Default(),graphFilePath,&graph_))))   {

tf::SessionOptions options;
options.config.set_log_device_placement(true);
options.config.set_allow_soft_placement(true);
if (check_status(tf::NewSession(tf::SessionOptions(), &session_)))
{

  if (check_status(session_->Create(graph_)))
  {
    tensorflow::graph::SetDefaultDevice("/gpu:1", &(graph_));
    success = true;
  }
  else
  {
    session_->Close();
    session_= nullptr;
  }
}

}

预期的行为是该图形将在gpu:1上执行,但根据nvidia-smi,该图形始终在gpu:0上执行。

0 个答案:

没有答案