问题标签 [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 投票
1 回答
45 浏览

keras-tuner - Kerastunner 分布式调谐 - 如何告诉主管搜索已完成

我想使用Kerastuner分布式调整并遵循https://keras-team.github.io/keras-tuner/tutorials/distributed-tuning/中概述的详细信息。chief但是,即使完全探索了搜索空间,我的所有工作节点也会在我的进程保持运行时优雅地完成。理想情况下,一旦工人完成所有搜索,我希望能够做出某些总结报告。但是,即使搜索空间被充分探索,主要进程似乎仍在运行。有没有办法解决这个问题?

0 投票
1 回答
1957 浏览

python - RuntimeError:构建失败的尝试太多

我想使用 Keras Tuner 使用以下代码调整模型超参数,该代码首先创建类以进行如下优化

** 我运行课程,但是当我尝试使用任何调谐器时,例如随机搜索、超频带等。我收到以下错误**

** 谁能帮我解决这个问题。**

0 投票
1 回答
704 浏览

tensorflow - 使用 keras Tuner 设置模型时,是否需要在条件范围内定义层中的单元数?

根据此处此处的 Keras Tuner 示例,如果您想使用超参数定义深度学习模型中的层数和每个层的单元,您可以执行以下操作:

但是,正如其他人在此处此处指出的那样,在 oracle 看到带有它的模型后,num_layers = 10它总是会为unit_0through分配一个值unit_9,即使num_layers小于 10 也是如此。

num_layers = 1例如,仅unit_0用于构建模型的情况。但是,unit_1通过unit_9将在超参数中定义和激活。

预言机是否“知道”unit_1通过unit_9实际上并未用于构建模型(因此忽略它们与影响该试验结果的相关性)?

或者,它是否假设unit_1因为unit_9它们已被定义而被使用(hp.get('unit_9')例如调用将返回一个值)?

在后一种情况下,预言机使用错误信息来驱动调整过程。因此,由于将相关性分配给未使用的超参数(在最坏的情况下),收敛(最好情况下)和错误地收敛到解决方案将需要更长的时间。

模型是否应该像这样使用条件范围来定义?

当像这样定义模型时,如果num_layers < 10,调用hp.get('unit_9')将返回 a ValueError: Conditional parameter unit_10 is not currently active,正如预期的那样。

0 投票
0 回答
685 浏览

tensorflow - 在 Tensorboard 中查看来自 Keras Tuner 的日志

我正在使用 Keras Tuner 调整神经网络

我正在以这种方式创建日志:

这给了我这个日志文件目录:

我可以通过写来获得摘要

甚至得到最好的模型使用

但我也想更详细地探索运行,看看是否有任何模式。为此,我想使用 TensorBoard,但如果我写:

我只得到一个空的 TensorBoard。我猜这里的问题是 Keras Tuner 和 TensorBoard 以不同的文件格式写入日志。

我的问题是,是否有人能够在 Keras Tuner 中运行超参数优化,然后在 TensorBoard 中查看日志文件?

0 投票
1 回答
365 浏览

tensorflow - Anaconda 在 tensorflow 环境中安装 keras-tuner

我正在使用 Anaconda 3 并想在 tensorflow 环境中安装 keras-tuner。我试过了

conda install -c conda-forge keras-tuner

在 Anaconda Prompt(请参阅https://anaconda.org/conda-forge/keras-tuner)中运行良好。但是,该软件包已安装在基础环境中(而不是在 tensorflow 环境中)。如何选择安装 keras-tuner 的环境?我在 Windows 机器上使用 tensorflow 2.1.0

0 投票
1 回答
447 浏览

machine-learning - 将参数发送到 Keras Tuner 模型构建器函数

我想将参数发送到Keras Tuner模型构建器函数以进行参数化

  • 密集/辍学的层数,
  • 神经元的数量,
  • 激活,
  • 和优化器

用于超参数调整。

但是,我无法将参数发送到模型构建器函数。我的代码:

在上面的代码中,我向HyperParameters()实例添加了一些选项,以便在模型构建器函数中获取它们。但是在那个函数中,要获取一些其他的参数,我不知道它们是如何默认添加的。

我希望能够从模型构建器功能中发送选择并能够在内部使用它们。

0 投票
0 回答
435 浏览

tensorflow - 使用 Keras Tuner 调整模型时如何跳过有问题的超参数组合?

使用 Keras Tuner 时,似乎没有办法允许跳过有问题的超参数组合。例如,Conv1D 层中的过滤器数量可能与后续 MaxPooling1D 层中池大小的所有值不兼容,从而导致模型构建错误。但是,在运行调谐器之前可能不知道这一点。一旦调谐器运行,这将导致将终止整个调谐过程的错误。有没有办法跳过任何导致错误的超参数组合?

示例代码:

错误信息:

0 投票
1 回答
311 浏览

tensorflow - 使用 Keras Tuner 调整预先存在的模型

我将Keras Tuner视为一种进行超参数优化的方法,但我看到的所有示例都显示了一个全新的模型正在定义中。例如,来自 Keras Tuner Hello World

我已经有一个想要调整的模型,但这是否意味着我必须用拼接到身体的超参数重写它,如上所述,或者我可以简单地将超参数传递给顶部的模型?例如像这样:

据我所知,上述方法似乎有效。模型初始化参数都通过一个HyperParameters实例传递给内部 TF 层,并从那里访问......虽然我不太确定如何传递它......我认为可以通过预定义一个HyperParameters对象和将其传递给调谐器,然后将其传递给build_model

在内部,我的模型有两个 RNN(LSTM 或 GRU)和一个 MLP。但是我还没有遇到过一个 Keras Tuner build_model,它采用这样的现有模型,只需传入超参数。该模型非常复杂,我想避免重新定义它(以及避免代码重复)。

0 投票
1 回答
489 浏览

tensorflow - 使用 Keras Tuner 进行时间序列拆分

是否可以使用 Keras 调谐器使用 Time Series Split 调整 NN,类似于 sklearn.model_selection.TimeSeriesSplit 中的 sklearn.model_selection.TimeSeriesSplit。

例如,考虑来自https://towardsdatascience.com/hyperparameter-tuning-with-keras-tuner-283474fbfbe的示例调谐器类

调谐器:

因此validation_split = 0.2,在上面的行中,可以执行以下操作而不是

0 投票
2 回答
435 浏览

python - 使用 TensorFlow Dataset 和 Keras Tuner 处理高度不平衡的数据集

我有一个高度不平衡的文本文档数据集(3% 是,87% 否),包含标题和摘要特征。我已将这些文档转换为tf.data.Dataset带有填充批次的实体。现在,我正在尝试使用深度学习来训练这个数据集。在model.fit()TensorFlow 中,你有class_weights处理类不平衡的参数,但是,我正在寻找使用keras-tuner库的最佳参数。在他们的超参数调谐器中,他们没有这样的选择。因此,我正在寻找其他解决阶级不平衡的选择。

有没有使用班级权重的选项keras-tuner?补充一点,我已经在使用这个precision@recall指标了。我也可以尝试一种数据重采样方法,例如imblearn.over_sampling.SMOTE,但正如这篇Kaggle 帖子所提到的:

SMOTE 似乎无助于改善结果。但是,它使网络学习更快。此外,还有一个大问题,这种方法不兼容更大的数据集。您必须对嵌入的句子应用 SMOTE,这会占用太多内存。