【发布时间】:2017-10-20 09:07:16
【问题描述】:
我正在使用卷积神经网络 (CNN) 进行实验。
我想做的是实现与CNN相关的论文。
我有这篇论文的数据集(这个数据集有图像的 url 和每个 url/图像的标签),我被困的地方是按 url 下载图像并为 CNN 提取像素。
我的代码如下:
pixels = np.array(data["IMAGE_URL"].apply(image_from_url).tolist())
def image_from_url(_url=None):
with urllib.request.urlopen(_url) as url:
f = BytesIO(url.read())
img = Image.open(f)
img = img.resize((224, 224), Image.ANTIALIAS)
arr = array(img,dtype="float32")
样本大小为 50000,使用此代码,我收到以下错误:
ConnectionResetError: [Errno 104] 对等方重置连接
我花了几个小时来检查是否出现了错误。 我需要一些更有效的方法来处理这个。
Numpy 和 pandas 已针对处理数据进行了优化,但我被困在的不是数据而是预处理。
对这种情况有什么建议吗?
谢谢
【问题讨论】:
-
看起来你正在将所有图像加载到内存中,你够了吗?另外,你为什么不下载一次,到本地磁盘,然后从那里处理,这样你重新运行时就不必重新下载?您能否编辑您的问题以包含指向论文和数据集的链接?
-
@barny 感谢您的建议,然后将图像下载到磁盘后,我认为问题仍然存在于将图像加载到内存中。我应该逐渐加载图像并处理它们吗?
-
新的错误是什么?
-
@hpaulj 谢谢我刚刚解决了错误“文件太多”,现在我遇到了进程在运行时被终止的问题
标签: python numpy neural-network conv-neural-network pillow