如何将图像转换为感知器算法的输入向量?
Posted
技术标签:
【中文标题】如何将图像转换为感知器算法的输入向量?【英文标题】:How can i convert an image to input vector for perceptron algorithm? 【发布时间】:2019-11-23 23:49:15 【问题描述】:我需要实现一个简单的感知器算法。有2个班“猫和狗”。每个训练样本都是(x,t)
形式的一对,其中x
是输入值的向量,t
是目标输出值。但我不知道如何将图像转换为 python 中的矢量形式以用于感知器?
向量形式是什么意思?
图片大小为 32*32。
【问题讨论】:
图像为 32x32,因此您有 1024 个值:这是您的矢量!例如,只需连接所有列... 【参考方案1】:感知器只处理向量而不是矩阵。因此,您应该将图像展平为矢量。因此,如果您有一批形状像 (1000,32,32) 的图像,您可以这样做:
x = x.reshape((len(x), x.shape[1]*x.shape[2]))
未来,如果你还想处理图像,看看卷积神经网络 (CNN)。
【讨论】:
如果x
是32x32
,你的意思是x = x.reshape(1, x.shape[1]*x.shape[0])
?
是的,我认为您正在处理一批图像,例如 (100,32,32)【参考方案2】:
如果你有一个大小为32x32
的图片a
:
>>> a=np.random.random((32,32))
>>> a.shape
(32, 32)
然后你可以把它转换成一个向量来喂给感知器:
>>> b=a.reshape(1,1024)
>>> b.shape
(1, 1024)
【讨论】:
以上是关于如何将图像转换为感知器算法的输入向量?的主要内容,如果未能解决你的问题,请参考以下文章