我知道這keras.utils.to_categorical()可以用于單熱編碼,如轉換的示例2->[0., 0., 1., 0.]但是否有可能有類似的輸出?2, 3->[0., 0., 1., 1.]
如果是這樣,請問如何?
uj5u.com熱心網友回復:
您可以使用以下方法執行此操作:
layer = tf.keras.layers.CategoryEncoding(output_mode="multi_hot", num_tokens=4)
[nav] In [50]: layer([[2,3]])
Out[50]: <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[0., 0., 1., 1.]], dtype=float32)>
tf.keras.utils.to_categorical 用于計算分類交叉熵,一種二元分類的損失函式。另請注意,您需要計算出您擁有的令牌數量,這里我假設 4 來涵蓋您的 [2, 3] 場景。在這種情況下,編碼器可以對 [0, 1, 2, 3] 進行編碼,您可以將任意長度的樣本傳遞給它,它會將它們編碼為 [0|1, 0|1, 0|1, 0|1]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/464831.html
上一篇:ValueError:層“lstm”的輸入0與層不兼容:預期ndim=3,發現ndim=2。收到的完整形狀:(無,1024)
