2015-05-12 8 views
14

के उपयोग किए गए डिवाइस को कैसे बदल सकता हूं मैंने थानो-आधारित प्रोग्राम में उपयोग किए गए डिवाइस को बदलने की कोशिश की।मैं थानो

from theano import config 
config.device = "gpu1" 

हालांकि मैं त्रुटि

Exception: Can't change the value of this config parameter after initialization! 

मुझे आश्चर्य है कि क्या कोड में gpu1 करने के लिए परिवर्तन GPU का सबसे अच्छा तरीका है मिल गया?

धन्यवाद

उत्तर

8

कोई रास्ता नहीं एक ही प्रक्रिया में चल रहे कोड में यह मान बदलने के लिए नहीं है। सबसे अच्छा आप कर सकते हैं एक "पैरेंट" प्रक्रिया है जो बदलती है, उदाहरण के लिए, THEANO_FLAGS पर्यावरण परिवर्तनीय और बच्चों को जन्म देती है। हालांकि, स्पॉन्गिंग की विधि यह निर्धारित करेगी कि बच्चे किस पर्यावरण में काम करते हैं।

यह भी ध्यान दें कि ऐसा करने का कोई तरीका नहीं है जिससे परिवर्तन के माध्यम से प्रक्रिया की स्मृति को बनाए रखा जा सके। आप सीपीयू पर चलना शुरू नहीं कर सकते हैं, मेमोरी में संग्रहीत मूल्यों के साथ कुछ काम करें, फिर GPU पर चलने के लिए बदलें और काम के पहले (सीपीयू) चरण से स्मृति में मानों का उपयोग करके चलना जारी रखें। लागू होने के लिए डिवाइस को बदलने के लिए प्रक्रिया को बंद करना और पुनरारंभ करना होगा।

जैसे ही आप import theano डिवाइस को ठीक कर दिया गया है और आयात की प्रक्रिया के भीतर बदला नहीं जा सकता है।

7

एक और संभावना है जो मेरे लिए काम किया प्रक्रिया में वातावरण चर की स्थापना की गई थी, आयात थेनो से पहले:

import os  
os.environ['THEANO_FLAGS'] = "device=gpu1"  
import theano 
संबंधित मुद्दे