如何将 x^2 长列表转换为形状列表 (x,x)

how to convert a x^2 long list to a list of shape (x,x)

我在 python,我有一个长度为 784 的列表(我从 28x28 的图像中提取),现在我想以一种可以在张量流中使用它的方式来排列它与训练有素的模型一起使用,但问题是 NN 需要具有 28,28 形状的数组,但我当前的数组形状为 (784,)

我尝试为此使用一些 for 循环,但我没有成功创建一个系统来执行此操作,请帮助

我发现我需要使用这个结构

for i in range(res):
   for a in range(0,res):

       mnistFormat.append(grascalePix[a]) #mnistFormat is an innitially empty list
#and grascale has my 784 grayscale pixles

但我无法弄清楚 for 循环的范围函数中应该包含什么才能使这成为可能

例如假设我有一个样本 4x4 图像的像素列表 >

grayscalePix = [255,255,255,255,255,100,83,200,255,50,60,255,30,1,46,255]

这是一个Row by Row表示,也就是说前4个元素是第一个----行

我想将它们排列成形状列表 (4,4) mnistFormat = [255,255,255,255],[255,100,83,200],[255,50,60,255],[30,1,46,255]

记住这是示例,真实数据有 784 个元素,我在 numpy 方面经验不多

numpy 可能会很容易地帮助你:

mnistFormat = np.array(grascalePix).reshape((np.sqrt(len()),-1))