keras “值错误:无法将大小为279936数组整形为形状(529,529)”意味着什么?

xxe27gdn  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(175)

我在试着运行一些RNN代码。

for _file in train_files:
        if(counter <= 34000):
            img = Image.open(folder + "/" + _file)
            img = img.reduce(8)
            img = img.convert("1")
            #img = load_img(folder + "/" + _file, color_mode="grayscale")  # this is a PIL image
            # Convert to Numpy Array
            x = img_to_array(img, data_format = "channels_last")  
            #xi = x.resize(img, (64, 64))
            x = x.reshape((529, 529))
            # Normalize
            # x = (x - 128.0) / 128.0
            dataset[i] = x
            i += 1
            counter += 1
            if i % 1000 == 0:
                print("%d images to array" % i)

运行后,出现“ValueError:无法将大小为279936的数组重新整形为形状(529,529)"。如何解决此问题?

zzlelutf

zzlelutf1#

如果用529279936,得到529.1795841210,它几乎是一个完美的正方形。
如果N不等于M^2(不是完美的正方形),则不能将大小为Nx 1的正方形矩阵调整为大小为MxM的矩阵。
您的问题在于您的图像或img_to_array函数。请确保这些具有/返回正确的尺寸。

相关问题