2017-01-18 8 views
5

以下のすべてをCPU上で実行します。 サンプルensorflow/examples/label_imageを実行すると、7〜8秒かかります。私が知っているように、Pythonは同じサンプルを処理するのに約0.5秒かかります。これは「TensorFlowセッションオブジェクトがマルチスレッドであるため、複数のスレッドが同じセッションを簡単に使用し、並列でopsを実行できるからです。 しかし、C++を使用してセッションでマルチスレッドを設定するにはどうしたらいいですか?私がしようと何C++ Tensorflow、セッション - > Run()をマルチスレッドで実行する方法、または時間を節約する方法

... I "tensorflow/tensorflow /コア/ common_runtime/direct_session.cc" でハードコードの行81: "constのINT32のNUM_THREADS = 16;" しかし、動作しません。

は、どのように私はいくつかの設定を設定することができますか私は何かが何をすべき?複数のスレッドをusiungについて

答えて

3

どのように?

std::vector<std::thread> threads; 

for (std::size_t i = 0; i < 10; ++i) { 
    threads.push_back(std::thread([&]{ session->Run(); })); 
} 


for (std::size_t i = 0; i < 10; ++i) { 
    threads[i].join(); 
} 
+0

ありがとうございますが、動作しません – Air

関連する問題