簡體   English   中英

向我的 ANN(Keras 功能 API)添加嵌入層時出錯

[英]Error when I add an Embedding Layer to my ANN(Keras Functional API)

錯誤看起來像這樣,

InvalidArgumentError : indices[14,1] = -34 is not in [0, 6505) [[node model_12/embedding_16/embedding_lookup (defined at:3) ]] [Op:__inference_train_function_14552] 錯誤可能源於輸入操作。 連接到節點 model_12/embedding_16/embedding_lookup 的輸入源操作:model_12/embedding_16/embedding_lookup/13394 Function 調用堆棧:train_function

代碼:

input_tensor = Input(shape=(train_X_ann.shape[1],))

x = layers.Embedding(6505, 300, input_length=max_length,weights=[embedding_matrix], trainable=False)(input_tensor)
y = layers.Flatten()(x)
y1 = layers.Dense(units=units,kernel_initializer=kernel_initializer)(y)
y = layers.BatchNormalization()(y1)
y = layers.Activation(activation)(y)
y = layers.Dropout(rate=drop_rate1)(y)```

Shape of the embedding matrix is (6505,300)

Shape of_train_x_ann (64687,3594)
And it looks something like this
[Snapshot of my training data which includes features too][1]


  [1]: https://i.stack.imgur.com/1KeQM.png

錯誤來自這樣一個事實,即您的輸入(很可能是您所說的train_X_ann )必須是值在 0 到 6504 之間的整數張量,這對應於您要嵌入的標記的索引(因為您指定 input_dim=6505 為嵌入層)。 查看錯誤,似乎其中一個是-34,它不屬於預期范圍。

我不知道您如何獲得輸入張量,但請確保您正確地將標記映射到它們各自的索引。 在這種情況下,負輸入沒有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM