Ajout test lecture mnist

This commit is contained in:
augustin64 2022-04-02 16:15:27 +02:00
parent 0a73f0550d
commit 094bb7d57c
2 changed files with 53 additions and 1 deletions

View File

@ -90,7 +90,7 @@ int*** read_mnist_images(char* filename) {
fread(&width, sizeof(unsigned int), 1, ptr);
width = swap_endian(width);
int*** tab = (int***)malloc(sizeof(int**)*width*height);
int*** tab = (int***)malloc(sizeof(int**)*number_of_images);
for (int i=0; i < number_of_images; i++) {
tab[i] = read_image(width, height, ptr);

52
test/mnist.c Normal file
View File

@ -0,0 +1,52 @@
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include "../src/mnist/mnist.c"
void test_lecture(int nb_images, int width, int height, int*** images, unsigned int* labels) {
printf("\tLecture des labels\n");
for (int i=0; i < nb_images; i++) {
(void)labels[i];
}
printf("\tOK\n");
printf("\tLecture des images\n");
for (int i=0; i < nb_images; i++) {
for (int j=0; j < height; j++) {
for (int k=0; k < width; k++) {
(void)images[i][j][k];
}
}
}
printf("\tOK\n");
}
int main() {
char* image_file = "data/t10k-images-idx3-ubyte";
char* labels_file = "data/t10k-labels-idx1-ubyte";
printf("Chargement des paramètres\n");
int* parameters = read_mnist_images_parameters(image_file);
int nb_images = parameters[0];
int height = parameters[1];
int width = parameters[2];
printf("OK\n");
printf("Chargement des images\n");
int*** images = read_mnist_images(image_file);
printf("OK\n");
printf("Chargement des labels\n");
unsigned int* labels = read_mnist_labels(labels_file);
printf("OK\n");
printf("Vérification de l'accès en lecture\n");
test_lecture(nb_images, width, height, images, labels);
printf("OK\n");
return 1;
}