【发布时间】:2023-02-06 19:20:38
【问题描述】:
我在使用 Keras 的随机搜索调谐器时遇到了一些麻烦。默认情况下,您可以只实现 x train 和 y train,但是由于我的数据的性质,我必须先遍历列表,然后一个一个地给调谐器一个文件。当我构建 CNN 时,这不是问题,因为我只需要检查一次数据。但是,由于随机搜索在 n 次试验中迭代地尝试找到最佳解决方案,因此在这种情况下它不能这样做,因为我总是通过使用生成器来停止迭代。这是下面的代码。
tuner = RandomSearch(build_model,
objective="accuracy",
overwrite=True,
#project_name="AC1",
max_trials = 5,
executions_per_trial=5
)
def generate_arrays_from_file(x_train, y_train):
for x, y in zip(x_train, y_train):
yield (x, y)
tuner.search(generate_arrays_from_file(X_train, Y_train), verbose=0)
作为参考,数据的形状是 (388, 96, 36, 36, 36)。在这种情况下,我的问题是我正在超调的模型一次需要 1 个形状文件(96、36、36、36)作为 3D CNN。基本上,我有 388 个数据点,在每个数据点中有 96 个带有相应标签(0 或 1)的立方体数组。在这种情况下,我的问题是,有没有办法防止停止迭代的发生,或者我可以采取不同的方法吗?
我没有尝试解包数据点(将 388、96 更改为仅 37248),因此也需要考虑这一点。
【问题讨论】:
标签: python tensorflow keras