Arw*_*wen 5 ragged conv-neural-network tensorflow
在tensorflow conv1D层文档中,它说:
'当使用该层作为模型中的第一层时,提供一个 input_shape 参数(整数元组或 None,例如 (10, 128) 表示 10 个 128 维向量的向量序列,或 (None, 128) 表示变量- 128 维向量的长度序列。'
所以我知道我们可以输入可变长度序列,但是当我对 conv1D 层使用不规则张量输入时,它会给我一个错误:
ValueError:Conv1d 层不支持 RaggedTensors 作为输入。
如果不是 RaggedTensors,那么可变长度序列的真正含义是什么?
谢谢你,
小智 5
在这里为社区提供答案,即使答案已经存在于评论部分中。
tf.keras.layers.Conv1D不支持不规则张量,您可以使用填充序列tf.keras.preprocessing.sequence.pad_sequences并将其用作 Conv1D 层的输入。
这是 pad_sequenes 的示例。
sequence = [[1], [2, 3], [4, 5, 6]]
tf.keras.preprocessing.sequence.pad_sequences(sequence)
Run Code Online (Sandbox Code Playgroud)
数组([[0, 0, 1],[0, 2, 3],[4, 5, 6]], dtype=int32)
您还可以进行固定长度填充、更改填充值以及后填充,如下所示:
sequence = [[1], [2, 3], [4, 5, 6]]
tf.keras.preprocessing.sequence.pad_sequences(sequence,maxlen=2,value=-1,padding="post")
Run Code Online (Sandbox Code Playgroud)
数组([[ 1, -1],[ 2, 3],[ 5, 6]], dtype=int32)
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |