我按照Keras documentation page的說明更改了keras.json
文件。但在我的Ipython筆記本中,它仍然說我使用Tensorflow作爲後端。將Keras後端更改爲Ipython筆記本中的Theano
也許這是關係到Jupyter設置莫名其妙?請提供幫助。我甚至不知道如何找出問題的來源。謝謝!
我按照Keras documentation page的說明更改了keras.json
文件。但在我的Ipython筆記本中,它仍然說我使用Tensorflow作爲後端。將Keras後端更改爲Ipython筆記本中的Theano
也許這是關係到Jupyter設置莫名其妙?請提供幫助。我甚至不知道如何找出問題的來源。謝謝!
你可以嘗試在筆記本開始執行以下操作:
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前一種方式。後端。
# 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
參見[這裏](HTTP: //www.nodalpoint.com/switch-keras-backend/)。 –
謝謝@ ParagS.Chandakkar。但它不適用於我。當我做'keras.backend.backend()'時,它仍然會說'tensorflow'。也許我可以通過卸載tensorflow來解決問題? – user3768495
你有沒有試過KERAS_BACKEND = theano jupyter notebook --no-browser --ip xxx.xxx.xxx.xxx?然後keras.backend.set_image_dim_ordering('tf') – maz