Python Keras调谐器构建_模型和运行_试验需要相同的参数

Python Keras调谐器构建_模型和运行_试验需要相同的参数,python,keras,neural-network,hyperparameters,auto-keras,Python,Keras,Neural Network,Hyperparameters,Auto Keras,我有一个似乎很难用keras tuner表示的用例,我可以使用一些指导。我正在训练一个带有嵌入层的模型。我想训练不同的序列长度,这需要一个预处理步骤。我将KerasTuner分为这样的子类(为了简洁起见,省略了很多代码): 我创建了一个构建模型函数: def build_model(hp): model = keras.models.Sequential() sequence_length = ??? model.add( keras.layers.Embedding(

我有一个似乎很难用keras tuner表示的用例,我可以使用一些指导。我正在训练一个带有嵌入层的模型。我想训练不同的序列长度,这需要一个预处理步骤。我将KerasTuner分为这样的子类(为了简洁起见,省略了很多代码):

我创建了一个构建模型函数:

def build_model(hp):
    model = keras.models.Sequential()
    sequence_length = ???
    model.add( keras.layers.Embedding( word_index,
                                       embedding_dim,
                                       input_length=sequence_length,
                                       trainable=False ) )
我的问题是如何在build_model函数中获取sequence_length参数。我尝试过的事情:

  • hp.get('sequence_length')。这会引发NameError:名称“word\u索引” 没有定义。看起来hp在传入时是分离的 建立_模型并进行_试验
  • 添加参数以构建_模型。这 也不起作用(抛出TypeError:build_model()缺少1 必需的位置参数)

如果您能给我一些关于如何构造代码以使用keras tuner的指导,我将不胜感激。

您曾经解决过这个问题吗?如果是这样,请告诉我们您是如何解决此问题的?如果是这样,请告诉我们怎么做
def build_model(hp):
    model = keras.models.Sequential()
    sequence_length = ???
    model.add( keras.layers.Embedding( word_index,
                                       embedding_dim,
                                       input_length=sequence_length,
                                       trainable=False ) )