Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在不让我的电脑冻结的情况下加载一堆图像进行深入学习_Python 3.x_Performance_Memory Management_Deep Learning_Tiff - Fatal编程技术网

Python 3.x 如何在不让我的电脑冻结的情况下加载一堆图像进行深入学习

Python 3.x 如何在不让我的电脑冻结的情况下加载一堆图像进行深入学习,python-3.x,performance,memory-management,deep-learning,tiff,Python 3.x,Performance,Memory Management,Deep Learning,Tiff,我有一堆tiff图像,我的目标是将这些图像加载到numpy数组中,以便在python 3中的keras模型中使用它。问题是,当我将图像转换为数组时,我的计算机冻结了。我首先尝试将图像转换为数组,并以HDF5格式保存所有图像,现在我尝试只保存1000个图像,然后使用gc.collect()函数释放一些内存,然后执行相同的过程,直到没有图像,但它也不起作用 因此,我想知道一种有效的方法,将这些图像输入到我的模型中。我这里有大约50000张图片。您能帮助我吗?我认为您可以使用Tensorflow数据管

我有一堆tiff图像,我的目标是将这些图像加载到numpy数组中,以便在python 3中的keras模型中使用它。问题是,当我将图像转换为数组时,我的计算机冻结了。我首先尝试将图像转换为数组,并以HDF5格式保存所有图像,现在我尝试只保存1000个图像,然后使用gc.collect()函数释放一些内存,然后执行相同的过程,直到没有图像,但它也不起作用


因此,我想知道一种有效的方法,将这些图像输入到我的模型中。我这里有大约50000张图片。您能帮助我吗?

我认为您可以使用Tensorflow数据管道高效地加载和使用图像。下面是一个可能对您有用的示例脚本。阿苏

files = tf.data.Dataset.list_files('./*.tiff') # need to change path to point image directory
images = files.map(lambda f: tf.io.read_file(f))
images = images.map(lambda image: tf.io.decode_jpeg(image))
如果您想进行任何预处理,以下内容可能会对您有所帮助。 您可能需要洗牌、重复、批处理数据集
有关更多信息,请查看

中的tf.data页面,谢谢您的回答,但它不起作用,解码后的张量是。我认为它可能不起作用,因为tensorflow不支持tiff图像。
images = images.map(lambda image: tf.cast(tf.image.resize(image, (128, 128)), tf.uint8))
images = images.map(lambda image: tf.cast(image, tf.float32) / 255)