Lendo o arquivo binário do MNIST Image Database no MATLAB
Eu tenho um arquivo binário do banco de dados de imagens MNIST, renomeado como "myfile.dat". Isso consiste em um conjunto de 4 números inteiros de 32 bits não assinados, seguidos por uma cadeia de números inteiros de 8 bits não assinados. Eu quero ler este arquivo e armazenar seu conteúdo como uma matriz. Aqui está o meu código:
file_id = fopen('myfile.dat', 'rb');
data = fread(file_id, 'int');
size(data)
class(data)
E a saída é:
ans =
2502 1
ans =
double
O tamanho de (2502, 1) é o esperado. Mas por que está me dizendo que os dados sãodouble
, quando eu especificar que sejaint
?
Eu sei quais devem ser os primeiros números e os dados de saída não são os esperados. Eu também tenteiint32
, uint
euint32
que dão o mesmo problema.