2017-01-18 60 views
5

Aşağıda hepsini CPU üzerinde çalıştırıyorum. Örnek ensorflow/örnekler/label_image 7 ~ 8 saniye harcadım. Bildiğim gibi, python aynı örneği işlemek için yaklaşık 0,5 saniye harcıyor ve bunun nedeni "TensorFlow Session nesnesi çok iş parçacıklı olduğundan, çoklu iş parçacıkları aynı oturumu kolayca kullanabilir ve paralel olarak ops yapabilir." AMA, C++ ile Oturumda nasıl multithread ayarlayabilirsiniz. Ben denemek NeC++ Tensorflow, nasıl çoklu oturum açarak oturum açma işlemi yapın() veya daha az zaman harcayabilirsiniz

... Ben "tensorflow/tensorflow/çekirdek/common_runtime/direct_session.cc" sert kod satırı 81: "const int32 NUM_THREADS = 16;" Ancak, işe yaramıyor.

Bazı yapılandırmaları nasıl ayarlayabilirim veya ne yapmalıyım?

cevap

3

Birden çok ileti dizisi nasıl kullanılır?

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

Cevabınız için teşekkür ederiz, ANCAK çalışmıyor – Air