0
我有以下代碼:Tensorflow Dataset.from_tensor_slices時間太長
data = np.load("data.npy")
print(data) # Makes sure the array gets loaded in memory
dataset = tf.contrib.data.Dataset.from_tensor_slices((data))
文件"data.npy"
爲3.3 GB。用numpy讀取文件需要幾秒鐘,但是接下來創建tensorflow數據集對象的那一行需要很長時間才能執行。這是爲什麼?它在底下做了什麼?
如果我嘗試打印'data',以便確保它實際上被加載,它仍然需要幾秒鐘,而'Dataset'需要幾分鐘。 – niko
它不一定打印所有數據。打印與否並不能確保它「實際上被加載」。我不是tensorflow方面的專家,只是看着'from_tensor_slices'循環遍歷整個數據集的代碼(並且速度相當慢),這肯定會*加載所有數據。海事組織這可能可以加快,但公平我沒有嘗試過。在某些情況下,如果您的計算機在內存中佔用3.3GB的空間,您可能只需要投入更多硬件。 – Iguananaut
我更新了我的答案,給你更多的細節。 –