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
我更新了我的答案,给你更多的细节。 –