keras ignorando valores no arquivo $ HOME / .keras / keras.json
Sei que o back-end padrão do Keras mudou de Theano para TensorFlow, mas com a versão de desenvolvimento do Theano eu posso treinar na GPU com OpenCL (eu tenho uma placa AMD).
No entanto, quando importo o Keras, ele usa apenas o back-end do TensorFlowmesmo depois de alterar os valores no arquivo de configuração do Keras:
~ $ 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
Além disso, sei que o Keras está lendo o arquivo de configuração após a importação, porque se eu preencher algum valor não válido para"backend"
Eu recebo um erro:
~ $ 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
Detalhes do sistema:
Mac OSX 10.11.6Anaconda Python v 3.5Keras v 2.0.2Gostaria que o Keras usasse o Theano como back-end padrão. Alguém sabe como defini-lo como tal?
EDITAR:
Para responder à pergunta de @Marcin Możejko:
~ $ which python
/Users/<my name>/anaconda/envs/ENVPy3/bin/python
Qual é o ambiente virtual conda em que o Keras também está instalado.