Mnist Neural Network Plain Php

A neural network implementation for the MNIST dataset, written in plain PHP
Alternatives To Mnist Neural Network Plain Php
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Tensorflow Examples42,312
5 months ago218otherJupyter Notebook
TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
Fashion Mnist9,856
a year ago24mitPython
A MNIST-like fashion product database. Benchmark :point_down:
2 years ago31Python
[CVPR2020] Adversarial Latent Autoencoders
Tensorflow 1012,450
3 years ago15mitJupyter Notebook
TensorFlow Tutorials
3 months ago44mitPython
GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
2 months ago3May 06, 20222apache-2.0Python
18 MNIST-like Datasets for 2D and 3D Biomedical Image Classification: pip install medmnist
a year ago21mitPython
Reference implementation of a two-level RCN model
Tf Dann580
a year ago10mitJupyter Notebook
Domain-Adversarial Neural Network in Tensorflow
Free Spoken Digit Dataset518
3 months ago7Python
A free audio dataset of spoken digits. Think MNIST for audio.
2 years ago8cc-by-sa-4.0Python
Repository for Kuzushiji-MNIST, Kuzushiji-49, and Kuzushiji-Kanji
Alternatives To Mnist Neural Network Plain Php
Select To Compare

Alternative Project Comparisons

MNIST Neural Network in PHP

This source code seeks to replicate the (now removed) MNIST For ML Beginners tutorial from the Tensorflow website using straight forward PHP code. Hopefully, this example will make that tutorial a bit more manageable for PHP developers.

The task is to recognise digits, such as the ones below, as accurately as possible.

MNIST digits

By AndrewCarterUK (Twitter)


  • mnist.php: Glue code that runs the algorithm steps and reports algorithm accuracy
  • Dataset.php: Dataset container object
  • DatasetReader.php: Retrieves images and labels from the MNIST dataset
  • NeuralNetwork.php: Implements training and prediction routines for a simple neural network


php mnist.php


The neural network implemented has one output layer and no hidden layers. Softmax activation is used, and this ensures that the output activations form a probability vector corresponding to each label. The cross entropy is used as a loss function.

This algorithm can achieve an accuracy of around 92% (with a batch size of 100 and 1000 training steps). That said, you are likely to get bored well before that point with PHP.

Expected Output

Loading training dataset... (may take a while)
Loading test dataset... (may take a while)
Starting training...
Step 0001	Average Loss 4.12	Accuracy: 0.19
Step 0002	Average Loss 3.21	Accuracy: 0.23
Step 0003	Average Loss 2.59	Accuracy: 0.32
Step 0004	Average Loss 2.43	Accuracy: 0.36
Step 0005	Average Loss 1.87	Accuracy: 0.45
Step 0006	Average Loss 2.06	Accuracy: 0.47
Step 0007	Average Loss 1.67	Accuracy: 0.51
Step 0008	Average Loss 1.81	Accuracy: 0.46
Step 0009	Average Loss 1.74	Accuracy: 0.55
Step 0010	Average Loss 1.24	Accuracy: 0.56

training evolution

Popular Dataset Projects
Popular Mnist Projects
Popular Data Processing Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.