【问题标题】:Prepare .npy data using Numpy for input for CNN使用 Numpy 准备 .npy 数据作为 CNN 的输入
【发布时间】:2018-12-17 17:49:29
【问题描述】:

我是 python 新手。我有 .npy 文件用于我的 CNN 模型的输入。 使用 keras 的例子太多了,我不允许使用它。所以,我想在我的 .npy 文件中读取 1 个数组。例如,我的文件由图像像素组成:

[ [ 120, 120],
  [ 120, 120],
  .................,
  [ 120, 120] ] 

20 行。如果我使用input = np.load(myfile.npy) 那么input.shape() 结果当然是(20, 2)。 我不能将它用于我的模型。因为输入应该是(120,120)

那么我怎样才能读取该文件中的 1 个数组呢?或者,也许您可​​以告诉我将自己的图像用于 CNN 的最佳方式。谢谢,抱歉英语不好:)

https://drive.google.com/open?id=1wmI3wO2ePDmZW5loFf2DsgDD9Og0lhyU图片文件及其标签

【问题讨论】:

  • 可以添加文件吗?
  • @seralouk 我添加了它:)
  • 好的。你到底是什么问题。在此文件中,您存储了图像数据。 (20,2) 尺寸是否正确?
  • @seralouk 是的,该文件存储图像的 numpy 数组。图像大小为 120 x 120。如果我将其保存在 npy 文件中,它将变成 1 个包含许多图像数组的数组。 (20, 2) 只是一个例子,我认为 (53, 2) 的文件尺寸我忘记了对不起。但是 (20,2) 这意味着有 20 行和 2 列,对吗?每行是 1 张图像。我的问题是我想阅读 1 张图片而不是全部。我不知道该怎么解释,对不起
  • @seralouk 我的意思是我想阅读每张图片,抱歉不是一张,而是每张图片。所以我不想读取文件的维度,而是文件中的每个维度。我想我需要循环它吗?但我不知道怎么做:(我希望你能理解:(

标签: python arrays numpy


【解决方案1】:

你的问题

您似乎以错误的方式保存了数据。 在您上次发表评论后,我发现了最初的问题。

目前,您使用此data.append(pixel_value.shape),然后将其另存为.npy。 您在这里实际做的是保存数据的维度,而不是数据本身。

所以,当我从您发布的链接中加载.npy 文件时,我有这个:

array([[  1, 120, 120],
       [  1, 120, 120],
       [  1, 120, 120],
       [  1, 120, 120],

您正在保存pixel_value 的尺寸。


如何解决这个问题

因此,使用它来确定实际数据的日期:data.append(pixel_value)

那我应该是如何加载文件的琐碎:

data_all = np.load('file.npy')

# get the first image
img1 = data_all[0]

【讨论】:

  • 完美。如果有帮助,请考虑支持我的回答
猜你喜欢
  • 1970-01-01
  • 2017-10-01
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 2018-08-26
  • 2020-10-10
相关资源
最近更新 更多