最近、私は機械学習のチュートリアルに従いました。私は自分で画像認識プログラムを作れますか?このため私はCIFAR 10データセットを使用したいと思いますが、私はデータセットの変換に小さな問題があると思います。cifar10がうまく変換されているか確認してください。
このセットに精通していない人は、データセットがn行と3072列のリストとして表示されます。最初の1024列は赤の値を表し、2番目の1024は青の値です。各行は単一のイメージ(サイズ32x32)であり、ピクセル行はお互いに積み重ねられます(最初の32個の値は一番上のピクセル行の赤い値です)
私はこれで何をしたいですかデータセットは4Dテンソル(numpyで)に変換するので、matplotlibs .imshow()
で画像を見ることができます。私が作ったテンソルは(n, 32, 32, 3)
なので、最初の 'dimension'はすべての画像を格納し、2番目のピクセルはピクセルの行を格納し、3番目のピクセルは個々のピクセルを格納し、最後はピクセルのrgb値を表します。
def rawToRgb(data):
length = data.shape[0]
# convert to flat img array with rgb pixels
newAr = np.zeros([length, 1024, 3])
for img in range(length):
for pixel in range(1024):
newAr[img, pixel, 0] = data[img, pixel]
newAr[img, pixel, 1] = data[img, pixel+1024]
newAr[img, pixel, 2] = data[img, pixel+2048]
# convert to 2D img array
newAr2D = newAr.reshape([length, 32, 32, 3])
# plt.imshow(newAr2D[5998])
# plt.show()
return newAr2D
つのパラメータ(形状(n, 3072)
のテンソル)をとります。ここで私はそれがこれを行うべきで作られた関数です。私はpyplotコードをコメントアウトしていますが、これはテストのためのものだからですが、テストすると、すべてがOKであるように見えました(イメージのオブジェクトの形は認識できますが、色が良いかどうかわかりませんかどうか、私はここに...いくつかの奇妙な色の画像だけでなく、いくつかの非常に正常な画像を得るよう、いくつかの例を示します。私は間違いを犯したりしています天気をpurple plane、blue cat、normal horse、blue frog
誰も私を伝えることができます予めない?
タンク!!