train_set_x_flatten = train_set_x_orig.reshape(train_set_x_orig.shape[0],-1).T
test_set_x_flatten = test_set_x_orig.reshape(test_set_x_orig.shape[0],-1).T

在吴恩达教授深度学习教学视频中,发现这个numpy的reshape表达。实际上,就是把,test和train 数据转换为两维的数据,其中每一列是一个数据集,每一行是m个数据集。

这里的转换过程用到了reshape(,-1)的方法,这里-1指的是任意值:就是说你把行确定下来了,然后这个列就会自动生成相应的值,前提是你的矩阵能表示成你分成的行的形式。

然后,至于为什么要先把列确定下来,然后在转置换;我可以确定的是,不这样做的话,再利用这个数组生成的图片会乱码,显示不出来原来的样子。所以,我想原因就是不这样做的,会打乱图片数据的标示形式。