问题标签 [keras-tuner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
100 浏览

python - kerastuner - 调整层数会创建与报告不同的层数

我正在使用 kerastuner.tuner.RandomSearch 来调整超参数,包括模型的层数。但是报告的层数与创建的层数不同。例如。

在上述试验中,据报道卷积层数将为 7,但仅创建了 3 个,据报道层数为 8,但仅创建了两个。

这是我的built_model 函数的代码。

我做错了什么还是kerastuner中的错误?

0 投票
1 回答
428 浏览

python - 模型摘要为空

我正在尝试使用 keras 功能 API 构建神经网络并训练我使用 keras 调谐器的网络。该模型由一些嵌入层和一些密集层组成:

要使用调谐器,请执行以下代码:

调谐器的结果用于构建模型。

model.summary()和的输出plot_model为空。输出如下所示:

不知道这是否已连接,但代码运行得非常好,我只是绘制网络以查看它是如何构建的。但是,当我尝试保存模型时,我确实遇到了错误:

错误是:

我不知道这些是否相关。

0 投票
1 回答
254 浏览

python - Keras tuner.search 搜索错误给我一个与形状相关的错误“形状(无,11,11)和(无,1000,11)不兼容”

我正在开发一个用于具有 11 个类别的多标签文本分类的 LSTM 模型。当没有调整的模型运行良好时,
这给了我一个错误。keras.tuner

如果有人能指出这些错误背后的问题,我将不胜感激。我尝试将其更改为losssparse_categorical_crossentropy但它会给我带来其他错误。

这是我的设置。 tensorflow version:2.5.0, keras version:2.4.3

文字清洗

嵌入

Shape of data tensor: (10695, 1000)

Shape of label tensor: (10695, 11)

训练和测试数据

(9625,) (9625, 11)
(1070,) (1070, 11)

标记化

构建调优模型

我收到以下错误

0 投票
1 回答
803 浏览

tensorflow - Keras Tuner Hyperband - 如何设置最大试验和最大时期?

我有两个关于 Keras Tuner Hyperband 类的问题(针对回归问题)

https://keras-team.github.io/keras-tuner/documentation/tuners/#hyperband-class

  1. 与 BayesianOptimization 和 RandomSearch 不同,Tuner Hyperband(和 Sklearn)没有参数“max_trials”。定义它们的最佳方式是什么?该文档提到了(N = max_epochs,f = 3 default)的所有试验中最多N *(log(N)/ log(f))^ 2个累积时期,考虑到我通常需要max_epochs> 10000,这似乎非常高一次很好的训练。我想限制 Keras Tuner 的计算时间,例如大约一天。有没有比按 ctrl+c 取消以自动开始训练更好的方法?

  2. 当我开始使用

    可以传递 epoch 数量的另一个参数。'search()' 的 'epochs' 和 'Hyperband()' 的 'max_epochs' 之间有什么关系?它们中的任何一个或公式 N*(log(N)/log(f))^2 似乎都不适合时期的总数。

我在其他地方找不到太多信息。同样在阅读了这篇论文之后,我还不清楚这一点。欢迎任何提示。谢谢!

0 投票
0 回答
24 浏览

python - 当我向 Hyperband 提供相同的参数时,没有获得与我的 NN 设计相同的评估分数

我对超参数优化有疑问。我设计了一个简单的 NN,并且正在执行 Hyperband 类以进行超参数优化。在执行超参数搜索之前,我想看看如果我给 Hyperband 模型提供与我的简单 NN 设计相同的参数,我会得到与 NN 设计相同的结果吗?但是,我无法获得相同的分数。

更具体地说,我为 Hyperband 提供了相同的参数(在我的情况下,我为搜索提供了一个值,这些值在使用 NN 时是相同的),我的期望是获得由简单 NN 产生的相同分数.

参数搜索完成后,为最佳参数创建的模型应该与 NN 设计相同,还是我遗漏了什么?

有没有人有类似问题的经验?

0 投票
0 回答
17 浏览

python - How to edit callback stops before train acc and val acc are too far apart?

My model after training is getting overfit 1 and I want to use callbacks to stop the model when acc and val_acc are not too far apart. This is my model 2 and my callback 3 Can anyone help me to edit callbacks like that? Any help is greatly appreciated by me.

0 投票
0 回答
97 浏览

python - Keras BayesianOptimization 调优器在调优期间使“最佳 val_loss”变得更糟

我正在使用 Keras 调谐器调整模型BayesianOptimization。调整目标是val_loss在每个 epoch 之后计算的。据我了解,调谐器将通过各种超参数配置并训练模型,同时跟踪val_loss. 它保存模型在最低(最佳)时期的模型权重val_loss。调优后,调优方法get_best_models返回val_loss在其训练中的任何时候都具有最佳性能的模型。

但是,查看调整日志,我注意到最终假定的最佳val_loss值实际上并不是val_loss它在调整期间报告的最低值。在日志中,您可以看到在试验 64 之后“迄今为止最好的”如何val_loss增加到 0.431,而试验 64 的情况要差得多val_loss

这是日志的摘录:(我在训练中省略了日志行...

调优总结表明最好val_loss的是 0.400,即使它一定在某个时候找到了一个模型,val_loss它实际上是更好的 0.396。(确切地说是在试验 58 中)

这是创建调谐器的代码:

并开始调整过程:

为什么“最好”的模型没有遇到最低的val_loss?我误解了调谐器的工作原理还是这是一个错误?

0 投票
1 回答
164 浏览

python - Keras-Tuner:是否可以在目标/度量函数中使用测试/验证集?

keras-tuner是否可以基于测试集而不是训练集使用 对模型性能进行评分/评估?我问这个,因为到目前为止,我的理解是度量函数tuner.search()仅在使用中用作目标y_truey_pred作为输入参数,它们都指的是训练集(如果我错了,请纠正我)。
那么如何在度量函数中使用测试数据呢?

0 投票
0 回答
15 浏览

tensorflow2.0 - Keras-tuner:我如何在 Tuner.search 中使用 loss 和 val_loss 之间的加权平均数来实现目标?

我想同时使用 loss 和 val_loss 来评估模型,因为我的数据集非常小。我不能使用 val_loss,因为它只会得到一些随机模型,碰巧测试集中的一个值被正确预测,但另一方面,仅使用损失会导致过度拟合。关于我如何实现这一目标的任何想法?

0 投票
1 回答
98 浏览

keras-tuner - 用于 LSTM 的 Kerastuner

我正在研究一个文本分类问题,并尝试使用 Kerastuner 来确定我的 LSTM 网络的最佳配置。以下是相同的代码:

keras 调谐器

代码失败并出现以下错误:

ValueError: 层 lstm_1 的输入 0 与层不兼容:预期 ndim=3,发现 ndim=2。收到的完整形状:(无,50)

谁能帮我解决这个问题?