2017-03-27 14 views
5

मुझे पता है कि केरास ने थैनो से टेंसरफ्लो से स्विच किया है, लेकिन थेनो I के देव संस्करण के साथ ओपनसीएल के साथ जीपीयू पर ट्रेन कर सकते हैं (मेरे पास एक है एएमडी कार्ड)।

~ $ cat $HOME/.keras/keras.json 
{"epsilon": 1e-07, "floatx": "float32", "backend": "theano"} 

~ $ python -c 'import keras' 
Using TensorFlow backend. 

~ $ KERAS_BACKEND=theano python -c 'import keras' 
Using Theano backend. 
Mapped name None to device opencl0:2: AMD Radeon R9 M370X Compute Engine 

इसके अलावा, मुझे पता है कि Keras विन्यास फाइल पढ़ रही है:

हालांकि, जब मैं Keras आयात करते हैं, यह केवल TensorFlow बैकएंड के बाद भी मैं Keras विन्यास फाइल में मान बदले का उपयोग करता है

~ $ cat $HOME/.keras/keras.json 
{"epsilon": 1e-07, "floatx": "float32", "backend": "foobar"} 


~ $ python -c 'import keras' 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/Users/antalek/anaconda/envs/ENVPy3/lib/python3.5/site-packages/keras/__init__.py", line 3, in <module> 
    from . import activations 
    File "/Users/antalek/anaconda/envs/ENVPy3/lib/python3.5/site-packages/keras/activations.py", line 3, in <module> 
    from . import backend as K 
    File "/Users/antalek/anaconda/envs/ENVPy3/lib/python3.5/site-packages/keras/backend/__init__.py", line 34, in <module> 
    assert _backend in {'theano', 'tensorflow'} 
AssertionError 

प्रणाली विवरण::

आयात के बाद क्योंकि अगर मैं "backend" के लिए कुछ गैर मान्य मान भरने मैं कोई त्रुटि मिलती है
  • मैक OSX 10.11.6
  • एनाकोंडा अजगर v 3.5
  • Keras वी 2.0.2

मैं डिफ़ॉल्ट बैकएंड के रूप में थेनो का उपयोग Keras करना चाहते हैं। किसी को भी यह कैसे सेट करना है?

संपादित करें:

~ $ which python 
/Users/<my name>/anaconda/envs/ENVPy3/bin/python 

कौन सा conda आभासी वातावरण है कि Keras में रूप में अच्छी तरह स्थापित है:

@Marcin Możejko के सवाल का जवाब देने के लिए।

+0

क्या आपके कंसोल में 'पायथन' एक 'कोंडा' विचलन से मेल खाता है? –

+0

ने आपके प्रश्न को संबोधित करने के लिए एक संपादन जोड़ा – themantalope

उत्तर

6

ही यहां मुद्दा यह है, सिस्टम सेटअप:

  • उबंटू 16.04
  • एनाकोंडा + अजगर 3.6
  • Keras 2.0.2

बैकएंड बदलने का एकमात्र तरीका KERAS_BACKEND वातावरण का उपयोग है चर। जेसन क्षेत्र को नजरअंदाज कर दिया गया है।

संपादित करें: मुद्दा एनाकोंडा, खुले anaconda3/envs/ENV-NAME/etc/conda/activate.d/keras_activate.sh

#!/bin/bash 
if [ "$(uname)" == "Darwin" ] 
then 
    # for Mac OSX 
    export KERAS_BACKEND=tensorflow 
elif [ "$(uname)" == "Linux" ] 
then 
    # for Linux 
    export KERAS_BACKEND=theano 
fi 

आपको लगता है कि tensorflow मैक के लिए मजबूर किया जाता है देखेंगे, और लिनक्स के लिए थेनो।

मुझे नहीं पता कि यह फ़ाइल कौन बनाता है, केरेस या एनाकोंडा, और इस मजबूती के पीछे तर्क। मैं बस इसे अनदेखा कर रहा हूं और अपना रास्ता कर रहा हूं :)

+0

मुझे बताने के लिए धन्यवाद। मैंने एक [कोड-फीडस्टॉक पर मुद्दा] खोला [https://github.com/conda-forge/keras-feedstock/issues/13) conda-forge repo। उम्मीद है कि वे कुछ स्पष्टता दे सकते हैं कि उन डिजाइन विकल्पों को क्यों बनाया गया था। – themantalope

+1

मैंने [जीथब रेपो] पर एक पीआर प्रस्तुत किया (https://github.com/conda-forge/keras-feedstock/pull/14)। उम्मीद है कि स्वीकार किया जाएगा। – themantalope

+0

एनाकोंडा में केरास को अपग्रेड/डाउनग्रेड करने के साथ खेलकर मुझे पता चला कि केरास 1.2.2 ने इन फ़ाइलों को – user1118094

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

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