簡體   English   中英

了解 Conv1D、密集層(一維輸入)的 keras input_shape

[英]Understanding the keras input_shape for Conv1D, Dense layers (1-dimensional input)

伙計們!

我嘗試在keras中實現我的第一個自己的 dl-net,這將是一個自動編碼器(希望去噪和堆疊)。 但是我對輸入層的輸入形狀格式感到困惑,它可以是Conv1DDense層(目前它是Dense層,因為我希望它能解決問題) - 我也嘗試pytorch但這也沒有解決我的問題。

根本問題是我覺得我沒有得到輸入形狀參數及其結構。 對於圖像,您可以在互聯網上找到很好且合乎邏輯的解釋。 但是由於我使用一維數據,這些技術不能在這里應用 - Dense / Conv1D API 也不能正確回答我的問題。

我有7000 個樣本,其中每個樣本由500 個整數的一維數組表示,這不是額外的特征維度或屬性 - 如果我理解正確,只有一個通道 因此input_shape=(,500)應該可以正常工作,因為我不必 state批量大小 但它不起作用,我只是收到我傳入的數據和形狀不匹配的消息。

也許有人可以清除它? 也許我的輸入數據形狀不正確- numpy 輸入應該是什么樣子? 還是我的圖層配置錯誤

先感謝您。 我真的試圖解決這個問題,並且已經嘗試了幾個重塑或輸入形狀定義 - 不幸的是,沒有任何效果。

您只是忘記了“渠道”維度。 像圖像一樣,序列也可以有通道。

例如,您可以運行以下代碼:

import tensorflow as tf

layer = tf.keras.layers.Conv1D(input_shape=(500,), kernel_size=3, filters=2)
sample = tf.ones((1, 500, 1), dtype=tf.float32)  # (bs, input_shape, channels)

out = layer(sample)  #  out.shape will be (1, 498, 2)

暫無
暫無

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

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