2015-12-03 16 views
7

मैं एक gpu पर प्रशिक्षण कोड के साथ CIFAR10 ट्यूटोरियल चलाने और दूसरे पर eval कोड चलाने की कोशिश कर रहा हूं। मुझे यकीन है कि मेरे कंप्यूटर पर दो gpus हैं, और मैं यहां सरल उदाहरणों को चलाकर इसका परीक्षण कर सकता हूं: https://www.tensorflow.org/how_tos/using_gpu/index.htmlटेंसर फ्लो स्पष्ट डिवाइस आवश्यकता त्रुटि

हालांकि, with device('/gpu:0') का उपयोग करके CIFAR उदाहरण में अधिकांश चर के लिए काम नहीं करता है। मैंने जीपीयू बनाम सीपीयू, या एक या दूसरे पर सभी चरों पर विभिन्न चर के संयोजनों की पूरी कोशिश की। हमेशा कुछ चर, कुछ इस तरह के लिए एक ही त्रुटि:

Cannot assign a device to node 'shuffle_batch/random_shuffle_queue': Could not satisfy explicit device specification '/gpu:0' 

यह संभवतः टेन्सर प्रवाह में एक बग है या मैं कुछ याद आ रही है?

उत्तर

8

Could not satisfy explicit device specification का मतलब है कि आपके पास संबंधित डिवाइस नहीं है। क्या आपके पास वास्तव में आपकी मशीन पर एक CUDA- सक्षम GPU है?

अद्यतन: के रूप में यह नीचे चर्चा में निकला, यह त्रुटि भी अगर विशेष आपरेशन (इस मामले, RandomShuffleQueue में) GPU पर निष्पादित नहीं किया जा सकता है, क्योंकि यह केवल एक सीपीयू कार्यान्वयन है उठाया है।

आप TensorFlow आप के लिए एक उपकरण को चुनने (विशेष रूप से, सीपीयू कोई GPU कार्यान्वयन उपलब्ध है जब पर वापस गिरने) के साथ ठीक कर रहे हैं, के लिए, अपने विन्यास में allow_soft_placement सेट करने से प्रति this article के रूप में विचार करें:

sess = tf.Session(config=tf.ConfigProto(
    allow_soft_placement=True, log_device_placement=True)) 
+0

मैं यह पता मेरी मशीन पर जीपीयू का उपयोग करता है। यह लॉग करता है कि यह करता है। मैं इसे स्पष्ट रूप से लेबलिंग के बिना चला सकता हूं कि कौन से जीपीयू का उपयोग करना है और यह/gpu: 0 का उपयोग करने का प्रयास करेगा। यह ठीक काम करता है। मुझे यह भी पता है कि साधारण चर के लिए सामान्य मामले में मैं स्पष्ट रूप से एक विशेष जीपीयू का उपयोग कर सकता हूं, जैसा कि मैंने जो लिंक रखा है, उसमें वर्णित है। – bschreck

+0

समस्या यह है कि कोड ट्यूटोरियल – bschreck

+0

में काम कर रहा है जिस तरह से विशेष लाइन यह विफल हो जाती है (मुझे पता है कि आपने कहा है कि कई हैं, लेकिन कम से कम एक उदाहरण सहायक होगा)। क्या यह हो सकता है कि यह आदेश विफल हो सकता है केवल सीपीयू पर ही चलाया जा सकता है? – Ishamael

संबंधित मुद्दे