MNIST データセットの読み取りについて質問があります。MNIST データセットがどのように構築されているかを理解しました。ただし、次のコードをどのように読み取るのか、私にはわかりません。couts の結果は明らかだと思う人もいるかもしれません (コメントとして値を書きました)。しかし、同じ入力で同じ正確な関数を4回使用するため、私にとっては意味がありませんが、毎回異なる出力が得られます..どうすれば可能ですか? 私の質問にあいまいさがある場合はお知らせください。
ありがとうございました。
コード開始:
typedef unsigned char BYTE;
int main()
{
...
FILE *fp = fopen("MNIST/train-images.idx3-ubyte", "rb");
// delcare function;
int magicNumber = readFlippedInteger(fp);
int numImages = readFlippedInteger(fp);
int numRows = readFlippedInteger(fp);
int numCols = readFlippedInteger(fp);
cout << magicNumber << endl; // 2051
cout << numImages << endl; // 60000
cout << numRows << endl; // 28
cout << numCols << endl; // 28
...
}
int readFlippedInteger(FILE *fp)
{
int ret = 0;
BYTE *temp;
temp = (BYTE*)(&ret);
fread(&temp[3], sizeof(BYTE), 1, fp);
fread(&temp[2], sizeof(BYTE), 1, fp);
fread(&temp[1], sizeof(BYTE), 1, fp);
fread(&temp[0], sizeof(BYTE), 1, fp);
return ret;
}