| 
<?PHPini_set('memory_limit', '20480M'); // Increase the memory limit to 20480MB (20GB)
 include_once("../../CLASSES/Headers.php");
 use NameSpaceNumpyLight\NumpyLight;
 use NameSpaceRandomGenerator\RandomGenerator;
 use NameSpaceActivationRelu\Activation_Relu;
 use NameSpaceOptimizerSGD\Optimizer_SGD;
 use NameSpaceOptimizerAdagrad\Optimizer_Adagrad;
 use NameSpaceOptimizerRMSprop\Optimizer_RMSprop;
 
 function load_mnist_dataset($dataset, $path) {
 $labels = [];
 $dir = $path . '/' . $dataset;
 
 // Check if the main directory exists and is readable
 if (is_readable($dir) && ($dir_content = scandir($dir))) {
 foreach ($dir_content as $item) {
 if ($item !== '.' && $item !== '..' && is_dir($dir . '/' . $item)) {
 $labels[] = $item;
 }
 }
 }
 
 $X = [];
 $y = [];
 
 foreach ($labels as $label) {
 $label_path = $dir . '/' . $label;
 if (is_readable($label_path) && ($files = scandir($label_path))) {
 foreach ($files as $file) {
 if ($file !== '.' && $file !== '..') {
 $filePath = $label_path . '/' . $file;
 if (is_readable($filePath) && !is_dir($filePath)) {
 $imageProcessor = new ImageProcessor($filePath);
 $imageData = $imageProcessor->getImageGrayscaleArray(["rows" => 28, "cols" => 28]);
 $X[] = $imageData;
 $y[] = $label;
 }
 }
 }
 }
 }
 
 return ["X" => $X, "y" => $y];
 }
 
 function create_data_mnist($path) {
 // Load both sets separately
 $trainData = load_mnist_dataset('train', $path);
 $X = $trainData['X'];
 $y = $trainData['y'];
 
 $testData = load_mnist_dataset('test', $path);
 $X_test = $testData['X'];
 $y_test = $testData['y'];
 
 // And return all the data
 return [$X,$y,$X_test,$y_test];
 }
 
 
 $mnist_data = create_data_mnist("fashion_mnist_images");
 
 list($X, $y, $X_test, $y_test) = $mnist_data;
 
 $imageProcessor = new ImageProcessor("");
 
 for ($i=0; $i < 10; $i++) {
 $imageProcessor->printGrayscaleArray($X[$i]);
 echo "\n\n\n\n\n\n";
 }
 
 
 
 ?>
 |