python - 顺序加载多个模型导致 Python 崩溃
问题描述
我正在尝试按顺序加载多个模型以进行一些验证测试,但使用K.clear_session()
会导致 Python 在 Windows 上崩溃。
“Python 不工作/响应”Windows 错误。
如果我不使用K.clear_session()
我会遇到内存错误,我假设图形继续堆叠,并且每个模型逐渐需要更长的时间来加载。
我正在尝试这里(下面)关于如何使用的建议K.clear_session()
,但是 Python 一直在崩溃(我没有收到错误,只是崩溃了)
这是我的代码:
>>> 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 个模型要通过。
解决方案
推荐阅读
- git - git:将本地分支合并到不同的上游/主分支
- android - NetworkStats.Bucket (querySummaryForDevice) Android 中的空桶
- data-structures - 在最短路径变化的图形的情况下是真的吗?
- caching - 虚拟地址和物理地址有哪些字段?
- mongoose - 如何使用 graphql 对 mongoose 查询进行验证
- graphql - 在 react-carousel 中通过 graphql 加载的 gatsby-sharp 图像未激活
- scala - 如何在 EMR 上使用 Spark 3 为 Scala 对象解决“加载类失败”
- kotlin - 让 Recycler View Items 在文本视图中显示它们的位置
- android - 运行测试时,Gradle 无法从另一个模块中找到类
- html - 在循环 gif 结束时闪烁?