【发布时间】:2017-10-10 13:10:11
【问题描述】:
我正在使用 Keras 库进行验证码识别项目。对于训练集,我使用以下函数生成最多 5 位数的验证码。
def genData(n=1000, max_digs=5, width=60):
capgen = ImageCaptcha()
data = []
target = []
for i in range(n):
x = np.random.randint(0, 10 ** max_digs)
img = misc.imread(capgen.generate(str(x)))
img = np.mean(img, axis=2)[:, :width]
data.append(img.flatten())
target.append(x)
return np.array(data), np.array(target)
然后,我正在尝试重塑训练数据数组,如下所示;
train_data = train_data.reshape(train_data.shape[0], 60, 60, 3)
我猜我的验证码有 3 个颜色通道。但是,当我尝试重塑训练数据时,我遇到了以下错误;
ValueError: 无法将大小为 3600000 的数组重新整形为形状 (1000,60,60,3)
注意:如果我尝试使用 1 而不是 3。错误不会发生,但我的准确度甚至不接近 %1
【问题讨论】:
标签: python numpy tensorflow keras neural-network