[英]AttributeError: 'ShuffleDataset' object has no attribute 'output_shapes' - when following TF tutorial
我一直在學習他們網站上的 TensorFlow 教程。 在使用 RNN 進行文本分類練習中,我遇到了這個錯誤。 我嘗試了一些更改,並且還復制並粘貼了代碼以收到相同的錯誤。 有什么建議么? 謝謝
我已經嘗試在分配 padded_batch 后改組數據集。 我可以從文檔中看到,Shuffle 沒有屬性 (output_shapes)。 我想不出替代方法。
BUFFER_SIZE = 10000
BATCH_SIZE = 64
train_dataset = train_dataset.shuffle(BUFFER_SIZE)
train_dataset = train_dataset.padded_batch(BATCH_SIZE, train_dataset.output_shapes)
test_dataset = test_dataset.padded_batch(BATCH_SIZE, test_dataset.output_shapes)
收到此錯誤:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-7-8a10fa01af19> in <module>()
3
4 train_dataset = train_dataset.shuffle(BUFFER_SIZE)
----> 5 train_dataset = train_dataset.padded_batch(BATCH_SIZE, train_dataset.output_shapes)
6
7 test_dataset = test_dataset.padded_batch(BATCH_SIZE, test_dataset.output_shapes)
AttributeError: 'ShuffleDataset' object has no attribute 'output_shapes'
嘗試更換
train_dataset = train_dataset.padded_batch(BATCH_SIZE, train_dataset.output_shapes)
和
train_dataset = train_dataset.padded_batch(BATCH_SIZE, tf.compat.v1.data.get_output_shapes(train_dataset))
這不是問題的一部分,但您也可以一次性編寫您的 train_dataset,例如:
train_dataset = (
train_dataset
.shuffle(BUFFER_SIZE)
.padded_batch(BATCH_SIZE, tf.compat.v1.data.get_output_shapes(train_dataset)))
我想我會把它扔在那里只是為了提供另一種寫法;)
此外,就 train_dataset.output_shapes 而言,它在最新版本的 TensorFlow 中已貶值https://www.tensorflow.org/api_docs/python/tf/data/Dataset#element_spec所以如果你有 TF2 你可以使用 compat .v1 或 ds.element_spec
替換為
BUFFER_SIZE = 10000
BATCH_SIZE = 64
train_dataset = train_dataset.shuffle(BUFFER_SIZE)
train_dataset = train_dataset.padded_batch(BATCH_SIZE, tf.compat.v1.data.get_output_shapes(train_dataset))
test_dataset = test_dataset.padded_batch(BATCH_SIZE, tf.compat.v1.data.get_output_shapes(test_dataset))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.