首页 > 解决方案 > 可以根据 Keras Tuner 中的模型大小调整批量大小的搜索空间吗?

问题描述

我使用的 Keras 与此处的端到端示例类似 - https://keras-team.github.io/keras-tuner/tutorials/subclass-tuner/

生成的某些模型比其他模型大得多,并且较大的模型会导致 OOM 错误,从而停止调整。

我知道我可以设置一个 max_model_size (https://github.com/keras-team/keras-tuner/issues/175)。但不是限制模型大小,调谐器是否可以根据模型的大小选择最大批量大小,或者跳过对于内存来说太大的批量大小?

标签: tensorflowkerastf.keraskeras-tuner

解决方案


我不确定这是否适用于批量大小,但通常您可以定义父(超)参数。只有在选定的条件下,您的“子”参数才会被定义。

hp_number_of_layers = hp.Int('number_of_layers', min_value = 4, max_value = 10, step = 2, default=6)
hp_batch_size = hp.Int('batch_size', min_value = 4, max_value = 8, step = 4, default=4, parent_name='number_of_layers', parent_values=[6,8])

推荐阅读