尝试使用 keras 训练模型时出现此错误。
InvalidArgumentError: 索引 [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, embedding_1/Cast, training/RMSprop/gradients/embedding_1/embedding_lookup_grad/concat /轴)]]
实际线路是这样的...
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)
Run Code Online (Sandbox Code Playgroud)
纪元 1/50 73/237 [========>.........] - 预计到达时间:32:10 - 损失:7.4517 -加速度:0.1711
整个代码在这里......
https://github.com/shantanuo/pandas_examples/blob/master/deep_learn/WordLevelEngMarNMT.ipynb
小智 5
您的嵌入层定义为:
# Encoder
encoder_inputs = Input(shape=(None,))
enc_emb = Embedding(num_encoder_tokens, latent_dim, mask_zero = True)(encoder_inputs)
Run Code Online (Sandbox Code Playgroud)
令牌索引 0 被认为是一个特殊值(无输入);所以你需要用 num_encoder_tokens + 1 定义一个嵌入。
您已经将 1 添加到 num_decoder_tokens ;你需要对 num_encoder_tokens 做同样的事情。
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |