项目特定keras配置的推荐方法?
我的目标是在每个项目的基础上维护项目特定keras配置的推荐方法?,keras,Keras,我的目标是在每个项目的基础上维护keras配置,例如,一个项目更喜欢theano后端,另一个项目更喜欢tensorflow后端。作为奖励,我想与其他开发人员相对无缝地共享此配置 以下是一些想法: keras配置能否由虚拟环境管理/在虚拟环境中管理 我是否应该使用dotenv或autoenv之类的工具来管理一些共享环境配置(通过KERAS\u BACKEND环境变量) 在使用$HOME中的版本之前,是否应更新keras以在工作树中查找.keras/keras.json文件 keras配置能否由虚拟
keras
配置,例如,一个项目更喜欢theano
后端,另一个项目更喜欢tensorflow
后端。作为奖励,我想与其他开发人员相对无缝地共享此配置
以下是一些想法:
dotenv
或autoenv
之类的工具来管理一些共享环境配置(通过KERAS\u BACKEND
环境变量)$HOME
中的版本之前,是否应更新keras以在工作树中查找.keras/keras.json
文件$KERAS_HOME/KERAS.json
文件中管理。您可以为每个Anaconda/虚拟环境创建一个keras.json
,并设置keras\u HOME
以在加载时指向特定文件
或者,可以在运行时通过Keras后端设置这些变量,这将覆盖配置文件中的值:
from keras import backend as K
K.set_floatx('float16')
根据Keras后端,还可以配置其他参数。例如,使用tensorflow
后端,可能需要配置tf.ConfigProto
。一种实用的方法是在运行时执行,如:
import os
if os.environ['KERAS_BACKEND'] == 'tensorflow':
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.95, allow_growth=True)
config = tf.ConfigProto(gpu_options=gpu_options)
set_session(tf.Session(config=config))
有关可以配置的内容,请参阅
dotenv
或autoenv
的工具来管理一些共享资源吗
环境配置(通过KERAS\u后端environment
变量)
os.environ
和get/set方法来修改变量
$HOME
中的版本之前,是否应更新keras以在工作树中查找.keras/keras.json
文件keras_HOME
env变量或启动应用程序,可以指向keras.json
config文件的自定义位置,如:
env KERAS_HOME=<path to custom folder containing keras.json> python keras_app.py
env KERAS_HOME=python KERAS_app.py
是KERAS_HOME='./path/to/dir/containing/KERAS.json'
还是KERAS_HOME='./path/to/KERAS.json'
?设置K.set_……()
是否会通过子模块中的所有后续keras导入传播?指向包含keras.json的自定义文件夹的路径(我更正了响应,感谢您指出)。嗯,这将仅从2.1.7开始提供,以下是PR: