Ton*_*nis 6 python machine-learning keras tensorflow conv1d
我的输入是一个包含 64 个整数的数组。
model = Sequential()
model.add( Input(shape=(68,), name="input"))
model.add(Conv1D(64, 2, activation="relu", padding="same", name="convLayer"))
Run Code Online (Sandbox Code Playgroud)
我的训练集中有 10,000 个这样的数组。我应该指定这个以便 conv1D 工作吗?
我遇到了可怕的事情
ValueError: Input 0 of layer convLayer is incompatible with the layer: : expected min_ndim=3, found ndim=2. Full shape received: [None, 68]
Run Code Online (Sandbox Code Playgroud)
错误,我真的不明白我需要做什么。
Alo*_*her 11
不要让这个名字让您感到困惑。该层tf.keras.layers.Conv1D需要以下形状:(time_steps, features)。如果您的数据集由样本组成,10,000每个样本都有64值,则您的数据具有形状(10000, 64),该形状不能直接应用于图层tf.keras.layers.Conv1D。你缺少time_steps维度。您可以做的是使用tf.keras.layers.RepeatVector,它会重复您的数组输入n次数,在示例中5。这样你的Conv1D图层就可以获得形状的输入(5, 64)。查看文档以获取更多信息:
\ntime_steps = 5\nmodel = tf.keras.Sequential()\nmodel.add(tf.keras.layers.Input(shape=(64,), name="input"))\nmodel.add(tf.keras.layers.RepeatVector(time_steps))\nmodel.add(tf.keras.layers.Conv1D(64, 2, activation="relu", padding="same", name="convLayer"))\n\nRun Code Online (Sandbox Code Playgroud)\n作为旁注,您应该问自己使用tf.keras.layers.Conv1D图层是否适合您的用例。该层通常用于 NLP 和其他时间序列任务。例如,在句子分类中,句子中的每个单词通常映射到高维单词向量表示,如图所示。这会产生形状为 的数据(time_steps, features)。
\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2 \xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2 \xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0
如果你想使用字符一热编码嵌入,它看起来像这样:
\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2 \xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2 \xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0
这是一个简单的示例,其中一个样本的形状为(10, 10)--> 时间序列维度上的 10 个字符和 10 个特征。它应该可以帮助您更好地理解我提到的教程。
| 归档时间: |
|
| 查看次数: |
3889 次 |
| 最近记录: |