How to change Keras backend (where's the json file)?

48,343

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 where keras.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'
Share:
48,343
George Liu
Author by

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, 2020

Comments

  • George Liu
    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!