How to change Keras backend (where's the json file)?
Solution 1
After looking at keras sources (this place):
Start up your python-binary and do the following
import os
print(os.path.expanduser('~'))
# >>> C:\\Users\\Sascha' # will look different for different OS
- This should be the base-directory
- Keras will build an folder
.keras
there wherekeras.json
resides (if it was already created). If it's not there, create it there - Example:
C:\\Users\\Sascha\\.keras\\keras.json'
Solution 2
In case of Ubuntu,the following worked for me:
The '.keras' folder is present in your home directory,but is hidden.So,you need to unhide the hidden files in your home directory. You can see the hidden files in Ubuntu by
- View-> show hidden files or
- pressing ctrl+H.
You can now see the '.keras' folder in your home directory.Inside that folder,you will see the 'keras.json' file which you can modify to switch the keras backend to theano according to the official documentation https://keras.io/backend/
Solution 3
"Can’t find your keras.json file? : Windows
On most systems the keras.json file (and associated sub-directories) will not be created until you open up a Python shell and directly import the keras package itself.
If you find that the ~/.keras/keras.json file does not exist on your system, simply open up a shell, (optionally) access your Python virtual environment (if you are using virtual environments), and then import Keras:
$ workon keras_tf
$ python
>>> import keras
>>> quit()
"
Referenced from : keras-with-tensorflow/theano-backend
Solution 4
For those with a python shell open:
import os
with open(os.path.expanduser('~')+'\\.keras\\keras.json','w') as f:
new_settings = """{\r\n
"epsilon": 1e-07,\r\n
"image_data_format": "channels_last",\n
"backend": "theano",\r\n
"floatx": "float32"\r\n
}"""
f.write(new_settings)
import keras
Solution 5
You can directly use,
import os
os.environ['KERAS_BACKEND']='theano'
or
os.environ['KERAS_BACKEND']='tensorflow'
George Liu
"You can learn anything" is my motto. From engineering, business all the way to programming, data science and machine learning, I have always been improving and enjoying myself through learning. I am a data scientist with a particular interest in machine learning. I always look forward to learning from others and contribute to others' learning!
Updated on June 21, 2020Comments
-
George Liu almost 4 years
I have installed Keras, and wanted to switch the backend to Theano. I checked out this post, but still have no idea where to put the created json file. Also, below is the error I got when running
import keras
in Python Shell:Using TensorFlow backend.
Traceback (most recent call last): File "", line 1, in import keras File "C:\Python27\lib\site-packages\keras__init__.py", line 2, in from . import backend File "C:\Python27\lib\site-packages\keras\backend__init__.py", line 64, in from .tensorflow_backend import * File "C:\Python27\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in import tensorflow as tf ImportError: No module named tensorflow
When running
python -c "import keras; print(keras.__version__)"
from Windows command line, I got:Using TensorFlow backend. Traceback (most recent call last): File "", line 1, in File "C:\Python27\lib\site-packages\keras__init__.py", line 2, in from . import backend File "C:\Python27\lib\site-packages\keras\backend__init__.py", line 64, in from .tensorflow_backend import * File "C:\Python27\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in import tensorflow as tf ImportError: No module named tensorflow
Can someone please help? Thanks!