TensorFlow具有parse_single_sequence_example函數,該函數可用於將SequenceExamples(即順序數據)提供給RNN。但是,對於我正在處理的問題,除了經常性模型之外,我還想嘗試完全卷積模型。我如何以一種能夠將數據輕鬆管道化到卷積模型和經常性模型的方式來存儲數據?如何存儲數據以用於完全卷積網絡以及RNN?
要提供更多信息,我的數據具有以下形狀:[number of samples per minibatch, time steps per sample, number of features]
。 number of samples per minibatch
和number of features
都是固定的,但time steps per sample
可以不同(因此我使用動態RNN)。至少在概念上,應該可以將我的數據重塑爲[number of samples per minibatch, time steps per sample, number of features, 1]
,並將其視爲類似於單通道圖像(然後可以通過卷積層傳遞)。然而,我很困惑我將如何解析存儲爲SequenceExample的數據,以便讓我做這種重塑。
感謝評論!我更新了我的原始帖子,以澄清我的問題。我沒有可變長度的特徵,而是可變長度的時間步長。我不相信我可以使用FixedLenSequenceFeature,除非我願意將我的所有數據零填充,但我不想這樣做,因爲我的最長序列比我的最短序列多一個數量級。 –
要獲得輸入到dynamic_rnn或卷積中,您需要一個形狀的張量[批次,時間,特徵](批次和時間都可以是靜態未知的)。此時你別無選擇,只能墊。具有parse_example的FixedLenSequenceFeature會爲您填充(您可能需要跟蹤單獨的特徵中的序列長度)。但是對於大於1的特徵,您可能會發現SequenceExample更直觀。要減少填充,請嘗試[bucket_by_sequence_length](https://www.tensorflow.org/versions/master/api_docs/python/tf/contrib/training/bucket_by_sequence_length)。 –