Google Colab在尝试tf.image.resize数据集时耗尽了RAM(12GB)


new_img = []
images = list(df['pixels'])


for image in images:
image = image.split()
new_img.append(image)
new_img = np.array(new_img)
new_img = new_img.astype('float32')/255
new_img = new_img.reshape(df.shape[0], 48, 48, 1)
new_img = tf.image.resize(new_img(297,297))

在上面的代码(最后一行)中,我试图调整整个数据集(35000个元素)的大小。但是Google Colab耗尽了所有的内存。请问还有其他方法可以解决这个问题吗?

提前谢谢你。

尝试对tf.data.Dataset进行迭代。图片只有在迭代数据集时才会调整大小,一次一个批次。所以它不会在内存中创建一个新的数据集。

new_img = np.array(new_img)
ds = tf.data.Dataset.from_tensor_slices(new_img).
map(lambda x: tf.resize(x/255, (297, 297)))
print(next(iter(ds)))

相关内容

  • 没有找到相关文章

最新更新