【问题标题】:How to handle Invalid Argument Error in keras如何处理 keras 中的无效参数错误
【发布时间】:2019-02-26 07:22:11
【问题描述】:

尝试使用 keras 训练模型时出现此错误。

InvalidArgumentError: indices[48,2] = 5388 不在 [0, 5388)
[[节点:embedding_1/embedding_lookup = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32,Tparams=DT_FLOAT, _class=["loc:@training/RMSprop/Assign_1"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_1/embeddings/read, 嵌入_1/演员, training/RMSprop/gradients/embedding_1/embedding_lookup_grad/concat/axis)]]

实际的线路是这样的……

model.fit_generator(generator = generate_batch(X_train, y_train, batch_size = batch_size),
                    steps_per_epoch = train_samples//batch_size,
                    epochs=epochs,
                    validation_data = generate_batch(X_test, y_test, batch_size = batch_size),
                    validation_steps = val_samples//batch_size)

纪元 1/50 73/237 [========>.......] - ETA:32:10 - 损失:7.4517 - 累积:0.1711

整个代码都在这里...

https://github.com/shantanuo/pandas_examples/blob/master/deep_learn/WordLevelEngMarNMT.ipynb

从...克隆的代码 https://github.com/hlamba28/Word-Level-Eng-Mar-NMT

【问题讨论】:

    标签: keras


    【解决方案1】:

    您的嵌入层定义为:

    # Encoder
    encoder_inputs = Input(shape=(None,))
    enc_emb =  Embedding(num_encoder_tokens, latent_dim, mask_zero = True)(encoder_inputs)
    

    令牌索引0被认为是一个特殊值(无输入);所以你需要用 num_encoder_tokens + 1 定义一个嵌入。

    您已经在 num_decoder_tokens 上加了 1;你需要对 num_encoder_tokens 做同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多