问题标签 [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 回答
170 浏览

python - 模型构建函数没有返回有效的 Keras Model 实例,找到了 tensorflow.python.keras.engine.sequential.Sequential 对象

我想借助在 kerastuner 中实现的贝叶斯优化来优化 LSTM 的超参数。到目前为止效果很好。我想在我的优化中添加另一件事,即贝叶斯优化可以找到最佳的特征组合。为此,我使用带有 0 的 hp.Int 来排除该功能,使用等于 1 的 hp.Int 来包含该功能。这意味着,tuner.search() 中使用的训练特性将随着每次试验而改变。

这是我的代码:

我跑的时候有问题

. 然后我收到错误消息:

更具体地说,如果我只定义类 RNNHyperModel 而没有特征选择过程来创建模型,那么一切正常。:

我已经检查了一些较旧的帖子,但那里提供的答案(即从 tensorflow 导入 keras)并没有解决我的问题。

我检查了结果,tuner.search_space_summary()这符合预期,即我的特征表示为 0 或 1 的 Int。我添加了一个简短的特征示例:

事实上,我有两个问题,但如果有人可以帮助我解决第一个问题,我也许可以自己解决第二个问题:

  1. 如何解决模型构建函数未返回有效 Keras 模型的问题?
  2. 在我的 RNNHyperModel 类中返回 train_X 是否足以让 tuner.search() 识别它?因为之前的错误,我无法尝试。是否有更智能的解决方案可以根据每次试验中选择的超参数来调整 train_X 集?

提前感谢您的帮助。

0 投票
0 回答
71 浏览

hyperparameters - 使用 Keras Tuner 对迁移学习模型进行超参数优化

我想使用 Keras Tuner 对我的迁移学习模型执行超参数优化。我不知道该怎么做,因为我有两个训练阶段,

  1. 冻结整个网络,只训练最后一层以收敛到新的类和
  2. 解冻并训练网络。

本文本文中,提出了一种在使用迁移学习时进行超参数优化的方法,称为共享超参数优化。他们指出,在两个阶段之间共享一组超参数会导致最好的结果。但是,我不明白“一组超参数”的具体含义以及是否可以使用 Keras Tuner(他们使用 GPyOpt)来实现这一点。

任何有助于理解这个概念或任何其他关于如何为迁移学习模型执行超参数优化的想法/经验都将不胜感激!

0 投票
0 回答
222 浏览

keras - Keras Tuner 错误:搜索期间使用的所有回调都应该是可深度复制的

我很难将任何回调应用到 Keras Tuner 超参数优化对象。这是我运行的代码:

虽然我想应用张量板和检查点回调,但它只是通过提前停止回调而失败。我收到以下错误:

我不熟悉深度可复制一词以及它在错误代码方面的暗示。有谁熟悉如何解决这个问题?

0 投票
0 回答
146 浏览

keras - Keras Tuner:使用 Google Colab 中的 Keras Tuner 访问在超参数调优期间创建的目录中的数据

我正在使用 Keras Tuner 调整 ANN 模型,使用贝叶斯优化器如下:

代码运行,但我想访问为每次试验的 10 次执行中的每一次存储的数据。我可以通过 中的 Colab 文件结构访问每个试验的检查点和 trial.json 文件directory='my_dir',但似乎没有记录每个试验的 10 次执行中的每一个的 AUC 分数。

中有 30 个 trial.json 文件directory='my_dir',每个测试的超参数配置一个。但是这些配置中的每一个都执行了 10 次,这意味着每个 trial.json 文件中应该存储 10 个 AUC 值。

我想绘制每个超参数配置的执行的 AUC 分数的箱线图,这样做需要访问每个执行的分数。关于我可以在哪里找到这些数据的任何建议?它似乎也没有存储在 oracle.json 或 tuner.json 文件中。还是在模型运行每次试验时捕获执行分数的更有效方法?

0 投票
2 回答
295 浏览

tensorflow - 从目录重新加载 Keras-Tuner Trials

搜索完成后,我正在尝试重新加载或访问Keras-Tuner 以检查结果。我找不到与此问题相关的任何文档或答案。TrialsTuner

例如,我设置BayesianOptimization搜索最佳超参数如下:

我看到这会在kt_dir项目名称的目录中创建试用文件,lstm_dense_bo如下所示: 调谐器对象

现在,如果我重新启动 Jupyter 内核,如何将这些试验重新加载到Tuner对象中,然后检查最佳模型或最佳超参数或最佳试验?

我非常感谢您的帮助。谢谢

0 投票
1 回答
147 浏览

tensorflow - LSTM - RuntimeError:构建模型的尝试失败次数过多

我正在尝试使用 keras 调谐器来调整 LSTM 神经网络,以使用 kaggle 数据集来检测文章是否是假新闻。但是,我不断收到此错误:RuntimeError:构建模型的尝试失败次数过多我也尝试使用 RandomSearch 而不是 BayesianOptimization,但仍然遇到相同类型的错误。

这是代码:

'''

'''

当我尝试运行此代码时,出现以下错误:

我该如何解决这个问题?

0 投票
0 回答
27 浏览

keras - Keras 调谐器结果

我正在运行下面的代码,它工作正常,results_summary()函数状态如下:

输入单位:100

n_GRU_layers: 2

GRU_units: 35

n_Dense_layers: 0

GRU_0_units:185

GRU_1_units:160

GRU_2_units:115

Dense_0_units: 10

GRU_3_units:180

Dense_1_units: 185

Dense_2_units: 140

Dense_3_units: 165

我的问题是为什么它告诉 n_GRU_layers : 2ie (3 GRU 层 0,1,2) 但它显示了四层,第四层在 ( GRU_3_units: 180) 上。

同样它告诉 n_Dense_layers: 0ie(一个密集层),但又是四个

Dense_0_units: 10

Dense_1_units: 185

Dense_2_units: 140

Dense_3_units: 165

0 投票
2 回答
435 浏览

keras - 如何在 Keras Tuner 中使用“LeakyRelu”和参数 Leaky Relu“PReLU”

我正在使用 Keras Tuner 并使用 RandomSearch() 来超调我的回归模型。虽然我可以使用“relu”和“selu”进行超调,但我无法为 Leaky Relu 做同样的事情。我知道“relu”和“selu”字符串起作用的原因是,对于“relu”和“selu”,字符串别名可用。字符串别名不适用于 Leaky Relu。我尝试传递 Leaky Relu 的可调用对象(请参见下面的示例),但它似乎不起作用。你能告诉我怎么做吗?我在使用 Parametric Leaky Relu 时遇到了同样的问题,

先感谢您!

0 投票
1 回答
129 浏览

tensorflow2.0 - 在 Keras Tuner 期间是否应将 shuffle 设置为 True?

我正在使用 Keras Tuner 来超调我的模型。我在 search() 调用中设置参数值“validation_split = 0.2”。传递“shuffle = True”是否仍然有意义,还是多余/适得其反?

0 投票
0 回答
259 浏览

python - Keras Tuner 中带有外部参数的自定义损失

虽然我的代码在 Keras Tuner 和标准损失函数(如“mse”)上运行没有任何问题,但我试图弄清楚如何编写一个自定义损失函数,除了真实和预测的 y 之外,它还接受外部参数,以便在 Keras Tuner for LSTM 中使用型号选择。我正在寻找最简单且不那么痛苦的方法,但在旧帖子中没有找到可行的解决方案。

我遵循的一种方法是这种方法。假设我有这些变量

我定义了以下损失函数

基本上,我试图避免损失函数覆盖传递额外的变量(与 y_true 的大小相同),我需要在 y_train 内部的损失函数中使用 y_true 和为批次正确调整大小的相应外部变量。

用于模型选择的 LSTM 是

执行此代码

我收到这个错误

请注意,32 是(默认)批量大小。

也运行相同的代码

运行时似乎工作正常

给了我同样的错误,我不明白为什么。

我也以这种方式尝试了损失函数覆盖

但我得到这个错误

任何人都可以为我提供帮助或更简单有效的方法来在 Keras Tuner 中使用外部参数实现自定义损失函数吗?