Я пытаюсь загрузить несколько моделей последовательно для некоторых проверочных тестов, но использование K.clear_session()
вызывает сбой Python в Windows.
"Python не работает / вызывает" ошибка Windows.
Если я не использую K.clear_session()
, я сталкиваюсь с ошибкой памяти, где я предполагаю, что графики продолжают складываться, и каждая модель постепенно загружается.
Яздесь (ниже) приводятся предложения по использованию K.clear_session()
, но Python продолжает падать (я не получаю ошибки, просто сбой)
Чрезвычайно медленная загрузка модели с помощью keras
Вот мой код:
>>> print(keras.__version__)
2.2.4
>>> import tensorflow as tf
>>> tf.__version__
'1.8.0'
>>>
Windows 7
config = tf.ConfigProto()
# Don't pre-allocate memory; allocate as-needed
config.gpu_options.allow_growth = True
# Only allow a total of half the GPU memory to be allocated
config.gpu_options.per_process_gpu_memory_fraction = 0.8
# Create a session with the above options specified.
k.tensorflow_backend.set_session(tf.Session(config=config))
def evaluate_models_2(models_path_dir,):
models_paths = [os.path.join(models_path_dir, model) for model in os.listdir(models_path_dir) if model.endswith(".hdf5")]
models_pairs = get_model_key(models_paths, model_keys, MODEL_KEY)
valid_gen = double_valid_generator()
#global model_paths
for num,model_pair in enumerate(models_pairs):
model_path,model_key = model_pair
print(num, ": ", model_path)
evaluate_validation_data_2(model_path, model_key, generator = valid_gen)
def evaluate_validation_data_2(model_path,model_key, generator = None, show_mistakes = False):
if generator == None:
valid_gen = double_valid_generator()
else:
valid_gen = generator
#load data generator
print("about to load model")
model = load_model_max_layer(model_path)
#evaluate and then clear session
print(model.evaluate_generator(valid_gen, steps =10))
k.clear_session()
Кажется, у меня не запущены другие сеансы Python.
Если я удаляю K.clear_session (), pythonне вылетает Однако, как указывалось ранее, модели загружаются дольше и дольше, и мне нужно пройти около 200 моделей.