2017-03-08 55 views
2

我按照Keras documentation page的說明更改了keras.json文件。但在我的Ipython筆記本中,它仍然說我使用Tensorflow作爲後端。將Keras後端更改爲Ipython筆記本中的Theano

enter image description here

也許這是關係到Jupyter設置莫名其妙?請提供幫助。我甚至不知道如何找出問題的來源。謝謝!

+1

參見[這裏](HTTP: //www.nodalpoint.com/switch-keras-backend/)。 –

+0

謝謝@ ParagS.Chandakkar。但它不適用於我。當我做'keras.backend.backend()'時,它仍然會說'tensorflow'。也許我可以通過卸載tensorflow來解決問題? – user3768495

+0

你有沒有試過KERAS_BACKEND = theano jupyter notebook --no-browser --ip xxx.xxx.xxx.xxx?然後keras.backend.set_image_dim_ordering('tf') – maz

回答

2

你可以嘗試在筆記本開始執行以下操作:

import os 
os.environ["KERAS_BACKEND"] = "theano" 
import keras; import keras.backend 
if keras.backend.backend() != 'theano': 
    raise BaseException("This script uses other backend") 
else: 
    keras.backend.set_image_dim_ordering('th') 
    print("Backend ok") 

基本上環境KERAS_BACKEND可以通過Jupyter某些時候會自動覆蓋,所以這是迫使它要的東西你導入keras前一種方式。後端。

0

什麼在Python 2.7工程 - 動態變化Keras後端

# When I executed the suggestion -- the output I got.. 
BaseExceptionTraceback (most recent call last) 
<ipython-input-7-c4352a2d60e6> in <module>() 
     3 import keras; import keras.backend 
     4 if keras.backend.backend() != 'theano': 
----> 5  raise BaseException("This script uses other backend") 
     6 else: 
     7  keras.backend.set_image_dim_ordering('th') 

BaseException: This script uses other backend 

- 不知道,這將如何幫助,如果我們不能夠動態改變後端。

- 取而代之的是什麼幫助我的是以下幾點: How to switch Backend with Keras (from TensionFlow to Theano)

守則IPython的

from keras import backend; print(backend._BACKEND) 
from keras import backend as K 
import os 
def set_keras_backend(backend): 
    if K.backend() != backend: 
     os.environ['KERAS_BACKEND'] = backend 
     reload(K) 
     assert K.backend() == backend 
print ("Change Keras Backend to Theano")   
set_keras_backend("theano") 
from keras import backend; print(backend._BACKEND) 

輸出在IPython中

tensorflow 
Change Keras Backend to Theano 
theano