PHP Classes

PHP Neural Net Library: Build, train, evaluate, and use neural networks

Recommend this page to a friend!
  Info   Example   Screenshots   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-01-29 (8 months ago) RSS 2.0 feedNot enough user ratingsTotal: 113 All time: 9,598 This week: 47Up
Version License PHP version Categories
neural-net-php 1.0.1MIT/X Consortium ...5PHP 5, Tools, Artificial intelligence
Description 

Author

This package can build, train, evaluate, and use neural networks.

It provides classes that allow developers to compose neural network layers.

The package classes also allow the training of a neural network with given parameters.

It can also evaluate the neural network model by computing the predicted output.

The data of a neural network can also be saved and loaded from given files.

Picture of Cuthbert Martin Lwinga
  Performance   Level  
Name: Cuthbert Martin Lwinga <contact>
Classes: 5 packages by
Country: Canada Canada
Age: ???
All time rank: 405285 in Canada Canada
Week rank: 215 Up4 in Canada Canada Up
Innovation award
Innovation award
Nominee: 1x

Instructions

Neural-Net-PHP Class

The Neural-Net-PHP class serves as the core component of the Neural-Net-PHP library, providing a robust framework for implementing neural networks using PHP. This class encapsulates key functionalities for building, training, evaluating, and utilizing neural networks in various machine-learning tasks.

This package is adept at building, training, evaluating, and utilizing neural networks across various domains. Its capabilities are further extended with the following features:

  1. Proven Performance on Fashion-MNIST: The package has been successfully trained on the Fashion-MNIST dataset, a benchmark in neural network training for fashion article classification, achieving an impressive accuracy of 88%. This demonstrates its efficacy in handling real-world, image-based datasets.
  2. Diverse Optimizers: It supports multiple optimizers catering to different training requirements: - `Optimizer_SGD` (Stochastic Gradient Descent) for traditional, effective optimization. - `Optimizer_Adam` (Adaptive Moment Estimation) for faster convergence. - `Optimizer_Adagrad` for an adaptive learning rate approach. - `Optimizer_RMSprop` for handling non-stationary objectives and noisy gradients.
  3. Comprehensive Loss Functions: The package includes a variety of loss functions to cater to different neural network tasks: - `Loss_CategoricalCrossentropy` for multi-class classification problems. - `Loss_BinaryCrossentropy` for binary classification tasks. - `Loss_MeanSquaredError` for regression models. - `Loss_MeanAbsoluteError` for models where the mean absolute errors are more relevant.
  4. Versatile Activation Functions: It offers a range of activation functions to add non-linearity to the neural network models: - `Activation_Relu` (Rectified Linear Unit) for general purposes. - `Activation_Softmax` for multi-class classification output layers. - `Activation_Linear` for output layers of regression models. - `Activation_Sigmoid` for binary classification tasks.
  5. Layer Composition: Developers can compose various neural network layers, including convolutional, recurrent, and fully connected layers, along with advanced options for complex architectures.
  6. Training Flexibility, Performance Evaluation, and Data Management: The package allows for versatile training, robust model evaluation, and efficient model data management, supporting various file formats.
  7. Advanced Customization, Visualization Tools, and Integration: Users benefit from advanced customization options, visualization tools for monitoring and analysis, and seamless integration with data processing libraries.
  8. Cross-Platform Compatibility and Community Support: Designed for cross-platform compatibility and backed by comprehensive documentation and community support.
  9. Regular Updates: The package is updated to stay abreast of advancements in neural networks and machine learning.

Initialization and Layer Management:

The __construct() method initializes a new instance of the Neural-Net-PHP class. The add($layer) method facilitates the addition of layers to the neural network model, allowing users to define the architecture of their networks.

Parameter and Training Management:

  • `set_parameters($parameters)`: Sets the parameters for the trainable layers.
  • `get_parameters()`: Retrieves the parameters from the trainable layers.
  • `finalize()`: Prepares the model for training by connecting layers and setting up necessary configurations.
  • `train($X, $y, $epochs, $batch_size, $print_every, $validation_data)`: Trains the model on the provided dataset with specified training parameters.

Evaluation and Prediction:

  • `evaluate($X_val, $y_val, $batch_size)`: Evaluate the model's performance on a validation dataset.
  • `predict($X, $batch_size)`: Predicts output for the given input data.

Saving and Loading:

  • `save_parameters($path, $override)`: Saves the model's parameters to a file.
  • `load_parameters($path)`: Loads the model's parameters from a file.
  • `save($path)`: Saves the entire model to a file.
  • `load($path)`: Static method to load a saved model from a file.

Utility Methods:

  • `regularization_loss()`: Computes the regularization loss for the layers, reducing overfitting.
  • `calculate($output, $y, $include_regularization = false)`: Calculates the data loss and optionally includes the regularization loss.
  • `new_pass()`: Resets accumulated values, helpful in starting a new pass of loss calculation.
  • `calculate_accumulated($include_regularization = false)`: Calculates the accumulated mean loss over a period, including regularization loss if specified.

Acknowledgments and Technical Considerations:

The class acknowledges the inspiration drawn from the work of Harrison Kinsley and Daniel Kukiela, authors of "Neural Networks from Scratch in Python." It provides insights into technical considerations, such as potential threading, memory management, data preprocessing, and hardware considerations.

To test the Neural-Net-PHP leading directory, navigate to the directory and run the "composer test." This test compares outputs from Python functions such as dot, argmax, and many others. It's crucial to ensure that all tests pass before continuing, as a failed test indicates a key component is not working.

I've already trained a model to identify the fashion-mnist dataset at 'https://github.com/zalandoresearch/fashion-mnist'. To run it on your system, navigate to /TEST/TrainingTest/ and unzip "fashion_mnist_images.zip." Then, from the leading directory of Neural-Net-PHP, run 'PHP /TEST/TrainingTest/p615.php' in the terminal. This will run an already trained modal that outputs the model's performance and visual representations of what it got right and wrong.

Building the model requires some knowledge of the data structure. You can stack the model using the following code:

$Model = new Model(); $Model->add(new Layer_Dense(NumpyLight::shape($X)[1], 64)); $Model->add(new Activation_Relu()); $Model->add(new Layer_Dense(64, 64)); $Model->add(new Activation_Relu()); $Model->add(new Layer_Dense(64, 64)); $Model->add(new Activation_Softmax());

This neuron has one input layer, two hidden layers (with ReLU activations), and one output layer (with Softmax activation). You can also set loss functions, optimizers, and accuracy using the following code:

$Model->set(

$loss_function = new Loss_CategoricalCrossentropy(),
$optimizer = new Optimizer_Adam($learning_rate = 0.001, $decay = 1e-3),
$accuracy = new Accuracy_Categorical()

);

For a more detailed explanation, please check out my GitHub repository at 'https://github.com/cuthbert-lwinga/Neural-Net-PHP/tree/main.'

Example

<?PHP
ini_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) {

   
$testData = load_mnist_dataset('test', $path);
   
$X_test = $testData['X'];
   
$y_test = $testData['y'];

   
// And return all the data
   
return [$X_test,$y_test];
}


$mnist_data = create_data_mnist("fashion_mnist_images");

list(
$X_test, $y_test) = $mnist_data;

// $keys = range(0, NumpyLight::shape($X_test)[0] - 1);

NumpyLight::random()->shuffle($keys);

$X_test = NumpyLight::divide(
       
NumpyLight::subtract(
           
NumpyLight::reshape(
               
$X_test,
                [
NumpyLight::shape($X_test)[0],-1])
            ,
           
127.5)
        ,
127.5);

$validation = [$X_test, $y_test];

echo
"\n\nModel Init\n\n";


$Model = Model::load('fashion_mnist_model');


// $Model->evaluate($X_test, $y_test);

$confidences = $Model->predict($X_test);
$predictions = $Model->output_layer_activation->predictions($confidences);

$fashion_mnist_labels = [
   
0 => 'T-shirt/top',
   
1 => 'Trouser',
   
2 => 'Pullover',
   
3 => 'Dress',
   
4 => 'Coat',
   
5 => 'Sandal',
   
6 => 'Shirt',
   
7 => 'Sneaker',
   
8 => 'Bag',
   
9 => 'Ankle boot'
];

for (
$i = 0; $i < count($predictions); $i++) {
   
// Prepare the label text
   
$labelText = $fashion_mnist_labels[$predictions[$i]] . " actual label " . $fashion_mnist_labels[$y_test[$i]];

   
// Pad the label text to a fixed length, e.g., 50 characters
   
$paddedLabelText = str_pad($labelText, 50);

   
// Echo the padded label text
   
echo $paddedLabelText . " ";

   
// Check condition and echo the symbol
   
if ($fashion_mnist_labels[$predictions[$i]] == $fashion_mnist_labels[$y_test[$i]]) {
        echo
"?"; // Green check mark for true
   
} else {
        echo
"?"; // Red cross for false
   
}

    echo
"\n\n";
}





?>


Details

Neural-Net-PHP ??

Build Status PHP Version

Neural Network GIF

Introduction ?

Welcome to Neural-Net-PHP, a comprehensive library designed for implementing neural networks using PHP. This library expertly bridges the gap between the dynamic capabilities of neural networks and the robustness of PHP, offering PHP developers a seamless entry into the realm of artificial intelligence. With Neural-Net-PHP, you can effortlessly explore and harness the power of AI! ?

Special acknowledgment and heartfelt gratitude go to Harrison Kinsley & Daniel Kukie?a, the authors of Neural Networks from Scratch in Python, whose work has been a significant source of inspiration in the creation of this library.

Table of Contents ?

Installation ??

Follow these detailed instructions to install and set up Neural-Net-PHP in your environment.

Cloning the Repository

Start by cloning the repository from GitHub:

git clone git@github.com:cuthbert-lwinga/Neural-Net-PHP.git
cd Neural-Net-PHP

Installing Dependencies ?

Neural-Net-PHP is built entirely from scratch, so no external libraries are required except for PHPUnit to run tests. If you don't have PHPUnit installed, you can easily install it via Composer:

composer require --dev phpunit/phpunit

Running Tests ?

It's crucial to run tests after installation to ensure everything is set up correctly. Execute the PHPUnit tests with:

./vendor/bin/phpunit

You should see an output similar to the following, indicating all tests have passed successfully: Test Output

Usage ?

Loading Data ?

To begin using Neural-Net-PHP, load your dataset. Here's an example using the Fashion-MNIST dataset:

$mnist_data = create_data_mnist("fashion_mnist_images");
list($X, $y, $X_test, $y_test) = $mnist_data;

Building the Model ???

Start crafting your neural network by layering the building blocks ? neurons and synapses come to life with each line of code! Choose from a variety of activation functions, optimizers, and layers to create a network that fits your unique dataset. Here's a sample setup with a single hidden layer to kickstart your model architecture:

echo "? Initializing model...\n\n";
$Model = new Model();

// Input layer with as many neurons as features in your dataset
$Model->add(new Layer_Dense(NumpyLight::shape($X)[1], 64));

// Hidden layer using the ReLU activation function for non-linearity
$Model->add(new Activation_Relu());

// Output layer with softmax activation for probability distribution
$Model->add(new Layer_Dense(64, 10)); // Assuming 10 classes for output
$Model->add(new Activation_Softmax());

echo "? Model architecture is now built and ready for training!\n";

Training Your Neural Network ???

Time to whip your model into shape! Just like a personal trainer sets a workout regimen, you'll set up a loss function to measure progress, an optimizer to improve with each iteration, and an accuracy metric to keep track of your gains. Once everything is in place, it's time to put your model to the test:

echo "? Configuring the neural workout...\n";
$Model->set(
    new Loss_CategoricalCrossentropy(),
    new Optimizer_Adam(0.001, 1e-3),
    new Accuracy_Categorical()
);

echo "? Finalizing the model structure...\n";
$Model->finalize();

echo "???? Ready, set, train! Let's push those computational limits...\n";
$Model->train($X, $y, 200, 128, 100, [$X_test, $y_test]);


Evaluating and Predicting ??

After your model has been trained, it's time to see how well it performs! Evaluate its prowess on new data and unleash its predictive power:

echo "? Loading the trained model for evaluation...\n";
$Model = Model::load('path/to/saved_model');

echo "? Making predictions on test data...\n";
$confidences = $Model->predict($X_test);
$predictions = $Model->output_layer_activation->predictions($confidences);

echo "? Predictions ready! Time to analyze and interpret the results.\n";

Saving and Loading Models ??

Don't let your hard work go to waste! Save your finely-tuned model for future use, and reload it with ease whenever you need to make predictions or further improvements:

echo "? Saving the trained model for future use...\n";
$Model->save("path/to/be/saved");

echo "? Loading the saved model for continued brilliance...\n";
$Model = Model::load('path/to/saved_model');

echo "? Model saved and loaded successfully. Ready for more action!\n";

Performance Enhancement with C++ Integration ??

I'm thrilled to share a significant performance enhancement that I've brought to Neural-Net-PHP: by integrating C++ and enabling threading, I've managed to significantly boost computation speeds. The latest benchmarks show that threading has dramatically decreased the time it takes to perform matrix dot product operations, which is a game changer for processing efficiency in neural network computations, and makes this whole package more applicable for real life scenarios.

Setting Up for Optimal Performance

To take advantage of this speed, you'll need to follow these steps:

  1. Navigate to the main Neural-Net-PHP directory.
  2. Run the `make` command.

This setup primes your system to utilize the C++ integration for optimized performance.

System Requirements:

  • Make sure `g++` is installed on your system. It's essential for the C++ performance enhancements to function properly.

The Proof Is in the Performance:

Below is a chart depicting the impressive reduction in dot product computation times with threading enabled (blue line) compared to the times without threading (red line):

Dot Product Time vs. Matrix Size Chart

As the matrix size grows, the impact of threading becomes increasingly evident. This advancement substantially elevates PHP's standing as a competent language for AI and machine learning tasks that demand intensive computation.

I am committed to furthering the development of Neural-Net-PHP, pushing PHP to its limits in the AI domain. Keep an eye out for more updates!

Components ?

Neural-Net-PHP consists of several key components:

Activation Functions ?

  • Activation_Relu: Introduces non-linearity, allowing the model to learn complex patterns. - Primarily used in hidden layers. - Effective in mitigating the vanishing gradient problem.
  • Activation_Softmax: Used in the output layer for multi-class classification. - Converts output to a probability distribution. - Suitable for cases where each class is mutually exclusive.
  • Activation_Linear: Useful for regression tasks or simple transformations. - No transformation is applied, maintains the input as is. - Commonly used in the output layer for regression problems.
  • Activation_Sigmoid: Ideal for binary classification problems. - Outputs values between 0 and 1, representing probabilities. - Often used in the output layer for binary classification.

Optimizers ??

  • Optimizer_SGD (`$learning_rate=1.0, $decay=0.0, $momentum=0`): Standard optimizer for training. - `$learning_rate`: The step size at each iteration while moving toward a minimum of a loss function. - `$decay`: Learning rate decay over each update. - `$momentum`: Parameter that accelerates SGD in the relevant direction and dampens oscillations.
  • Optimizer_Adam (`$learning_rate=0.001, $decay=0.0, $epsilon=1e-7, $beta_1=0.9, $beta_2=0.999`): Advanced optimizer with adaptive learning rate. - `$learning_rate`: Initial learning rate for the optimizer. - `$decay`: Learning rate decay over each update. - `$epsilon`: A small constant for numerical stability. - `$beta_1`: Exponential decay rate for the first moment estimates. - `$beta_2`: Exponential decay rate for the second-moment estimates.
  • Optimizer_Adagrad (`$learning_rate=1.0, $decay=0.0, $epsilon=1e-7`): Optimizer that adapts the learning rate to the parameters. - `$learning_rate`: The step size at each iteration. - `$decay`: Learning rate decay over each update. - `$epsilon`: A small constant for numerical stability, preventing division by zero.
  • Optimizer_RMSprop (`$learning_rate=0.001, $decay=0.0, $epsilon=1e-7, $rho=0.9`): Divides the learning rate by an exponentially decaying average of squared gradients. - `$learning_rate`: The step size at each iteration. - `$decay`: Learning rate decay over each update. - `$epsilon`: A small constant for numerical stability. - `$rho`: Discounting factor for the history/coming gradient.

Layers ?

  • Layer_Dense(`$n_inputs`, `$n_neurons`, `$weight_regularizer_l1 = 0`, `$weight_regularizer_l2 = 0`, `$bias_regularizer_l1 = 0`, `$bias_regularizer_l2 = 0`): Core layer of a neural network, fully connected. - `$n_inputs`: Specifies the number of input features to the layer. - `$n_neurons`: Determines the number of neurons in the layer, defining its width. - `$weight_regularizer_l1` and `$weight_regularizer_l2`: Regularization parameters for the weights, helping to reduce overfitting by applying penalties on the layer's complexity. - `$bias_regularizer_l1` and `$bias_regularizer_l2`: Regularization parameters for the biases, similar to the weights, these help in controlling overfitting.
  • Layer_Dropout (`$rate`): Applies dropout to prevent overfitting. `$rate` is a value from 0.0 to 1.0 and specifies the fraction of neurons to drop out at random. For example, `$rate = 0.1` means 10% of the neurons will be dropped out at random, helping to prevent overfitting by reducing the model's reliance on any single neuron.
  • Layer_Input: The initial layer to input the data. This layer doesn't perform any computation or transformation; it simply serves as the starting point for the model's architecture. It's essential for defining the shape and structure of the input data your model will receive.

Loss Functions ?

Neural-Net-PHP includes various loss functions, each suitable for different types of neural network tasks:

  • Loss_CategoricalCrossentropy: Measures the performance of a classification model where the output is a probability value between 0 and 1. Commonly used in multi-class classification problems. - `forward($y_pred, $y_true)`: Computes the loss for each sample. - `backward($dvalues, $y_true)`: Calculates the gradient of the loss with respect to the input of the loss function.
  • Loss_BinaryCrossentropy: Specifically designed for binary classification tasks. It measures the performance of a model with two class output probabilities. - `forward($y_pred, $y_true)`: Computes the binary crossentropy loss for each sample. - `backward($dvalues, $y_true)`: Calculates the gradient of the loss with respect to the input.
  • Loss_MeanSquaredError: Used for regression models. It measures the average squared difference between the estimated values and the actual value. - `forward($y_pred, $y_true)`: Calculates the mean squared error for each sample. - `backward($dvalues, $y_true)`: Computes the gradient of the loss with respect to the predictions.
  • Loss_MeanAbsoluteError: Another loss function for regression, which measures the average magnitude of errors in a set of predictions, without considering their direction. - `forward($y_pred, $y_true)`: Computes the mean absolute error for each sample. - `backward($dvalues, $y_true)`: Calculates the gradient of the loss with respect to the predictions.

General Methods for Loss Classes: - regularization_loss(): Computes the regularization loss for the layers, aiding in reducing overfitting. - calculate($output, $y, $include_regularization = false): Calculates the data loss and optionally includes the regularization loss. - new_pass(): Resets accumulated values, useful for starting a new pass of loss calculation. - calculate_accumulated($include_regularization = false): Calculates the accumulated mean loss over a period, including regularization loss if specified.

Each of these loss functions plays a crucial role in guiding the training process of your neural network, helping to minimize the difference between the predicted output and the actual target values.

Model ?

The Model class is the central component of Neural-Net-PHP, orchestrating the neural network's structure, training, evaluation, and predictions.

  • Initialization and Layer Management - `__construct()`: Initializes a new Model instance. - `add($layer)`: Adds a layer to the neural network model. - `set($loss = null, $optimizer = null, $accuracy = null)`: Sets the loss function, optimizer, and accuracy metric for the model.
  • Parameters and Training - `set_parameters($parameters)`: Sets the parameters for the trainable layers. - `get_parameters()`: Retrieves the parameters from the trainable layers. - `finalize()`: Prepares the model by connecting layers and setting up for training. - `train($X, $y, $epochs, $batch_size, $print_every, $validation_data)`: Trains the model on the provided dataset.
  • Evaluation and Prediction - `evaluate($X_val, $y_val, $batch_size)`: Evaluates the model's performance on the validation dataset. - `predict($X, $batch_size)`: Predicts output for the given input data.
  • Saving and Loading - `save_parameters($path, $override)`: Saves the model's parameters to a file. - `load_parameters($path)`: Loads the model's parameters from a file. - `save($path)`: Saves the entire model to a file. - `load($path)`: Static method to load a saved model from a file.

The Model class encapsulates all the necessary functionality for building and operating neural networks, making it straightforward to define, train, and utilize complex models in PHP.

Utility Classes ??

Neural-Net-PHP includes additional utility classes that provide essential functionalities to support the neural network operations.

NumpyLight

  • A lightweight PHP library that mimics the functionality of Python's Numpy, focusing on matrix operations essential for neural networks. Due to the extensive nature of its functionalities, users are encouraged to inspect the `NumpyLight` class file for a comprehensive understanding of its capabilities.

Accuracy

  • Abstract class `Accuracy` serves as a base for accuracy calculation in different scenarios. - `calculate($predictions, $y)`: Calculates the accuracy of predictions against the ground truth values. - `new_pass()`: Resets accumulated values for a new accuracy calculation pass. - `calculate_accumulated()`: Calculates the mean accuracy over accumulated values.
  • Accuracy_Regression: Subclass for regression model accuracy. It uses a precision threshold to determine if predictions are close enough to the ground truths.
  • Accuracy_Categorical: Subclass for categorical data accuracy. Useful in classification tasks where outputs are discrete classes.

LinePlotter

  • A utility for plotting lines and points, useful for visualizing data and model results. - `__construct($width, $height)`: Initializes the plotter with specified dimensions. - `setColor($name, $red, $green, $blue)`: Defines custom colors for plotting. - `plotLine($yValues, $colorName)`: Plots a single line graph. - `plotMultipleLinesWithYOnly($lines)`: Plots multiple lines using only y-values. - `plotLineWithColor($xValues, $yValues, $colorName)`: Plots a line graph with specified colors. - `plotPoints($points, $groups)`: Plots individual points, useful for scatter plots. - `clearCanvas()`: Clears the current plot, allowing for a new plot to be created. - `save($filename)`: Saves the created plot to a file.

These utility classes enhance the Neural-Net-PHP library by providing additional functionalities like matrix operations, accuracy calculations, and data visualization, all crucial for a complete neural network implementation.

Examples ?

Fashion-MNIST Training Example ?

This example demonstrates how to train a neural network on the Fashion-MNIST dataset using Neural-Net-PHP. The Fashion-MNIST dataset consists of 28x28 grayscale images of fashion items, each categorized into one of 10 different classes like T-shirts/tops, trousers, pullovers, dresses, and more.

Before training, the images are first flattened and scaled. The dataset is shuffled and divided into training and testing sets.

To easily train the model on the Fashion-MNIST dataset, simply navigate to the main directory of Neural-Net-PHP and execute the following command in your terminal:

php /TEST/TrainingTest/train_to_fashion_mnist.php

ini_set('memory_limit', '20480M'); // Increase the memory limit to 20480MB (20GB) or as needed
include_once("CLASSES/Headers.php");
use NameSpaceNumpyLight\NumpyLight;

// Loading and preprocessing the dataset
$mnist_data = create_data_mnist("fashion_mnist_images");
list($X, $y, $X_test, $y_test) = $mnist_data;

// Data normalization and reshaping

// Prepare validation data
$validation = [$X_test, $y_test];

// Constructing the model
$Model = new Model();
$Model->add(new Layer_Dense(NumpyLight::shape($X)[1],64));
$Model->add(new Activation_Relu());
$Model->add(new Layer_Dense(64,64));
$Model->add(new Activation_Relu());
$Model->add(new Layer_Dense(64,64));
$Model->add(new Activation_Softmax());
$Model->set(
	$loss_function = new Loss_CategoricalCrossentropy(),
	$optimizer = new Optimizer_Adam($learning_rate = 0.001, $decay = 1e-3),
	$accuracy = new Accuracy_Categorical()
);


// Finalize the model and start training
$Model->finalize();
$Model->train($X, $y, $epoch = 200, $batch_size = 128, $print_every = 100, $validation_data = $validation);

// Saving the trained model
// The model is saved under the name 'fashion_mnist_model' for future use.
$Model->save("fashion_mnist_model");

Loading and Using a Saved Model

Once you have trained and saved a model, you can easily load it for further evaluation or predictions. Here's an example of how to load a model and use it to make predictions on the Fashion-MNIST dataset:

To conveniently demonstrate this functionality, open your terminal and navigate to the main directory of Neural-Net-PHP. Then, execute the following command:

php TEST/TrainingTest/p615.php

// Load the saved model
$Model = Model::load('saved_model');

// Predict using the loaded model
$confidences = $Model->predict($X_test);
$predictions = $Model->output_layer_activation->predictions($confidences);

// Fashion-MNIST labels
$fashion_mnist_labels = [
    // Labels mapping
];

// Display predictions along with actual labels
for ($i = 0; $i < count($predictions); $i++) {
    $labelText = $fashion_mnist_labels[$predictions[$i]] . " (Actual: " . $fashion_mnist_labels[$y_test[$i]] . ")";
    $paddedLabelText = str_pad($labelText, 50);

    echo $paddedLabelText . " ";
    echo ($fashion_mnist_labels[$predictions[$i]] == $fashion_mnist_labels[$y_test[$i]]) ? "?" : "?";
    echo "\n\n";
}

Technical Considerations ?

When working with Neural-Net-PHP, there are several technical aspects to keep in mind for optimal performance and effective model training:

  1. Potential for Threading ?: Currently, Neural-Net-PHP operates without the use of threading, which can limit its processing speed. Implementing threading in future updates could significantly enhance performance, especially for complex models and large datasets. This feature is under consideration and may be integrated into later versions of the library.
  2. Memory Management ?: Neural networks, particularly when dealing with large datasets or deep architectures, can be memory-intensive. Effective memory management is crucial to prevent bottlenecks and ensure smooth operation.
  3. Data Preprocessing ?: Proper preprocessing of data, such as normalization or encoding categorical variables, is vital for model accuracy and efficiency.
  4. Hardware Considerations ??: While PHP is not traditionally associated with high-performance computing tasks like neural network training, the choice of hardware can impact training speed. Using a machine with sufficient RAM and a powerful CPU can help mitigate performance issues.
  5. Batch Size Selection ?: Choosing the right batch size affects the speed and convergence of the training process. Smaller batch sizes may offer more frequent updates and potentially faster convergence, but larger batches utilize hardware more efficiently.
  6. Regularization Techniques ?: To combat overfitting, it's advisable to employ regularization techniques such as dropout or L1/L2 regularization, especially in complex networks.
  7. Hyperparameter Tuning ?: The process of training a neural network involves several hyperparameters (like learning rate, number of epochs, etc.). Tuning these parameters is critical for achieving optimal model performance.
  8. PHP Environment ??: Ensure that your PHP environment is correctly set up and configured for running computational tasks. The version of PHP, as well as the configuration settings, can impact the performance of Neural-Net-PHP.
  9. Future Updates and Community Contributions ?: As Neural-Net-PHP evolves, users are encouraged to contribute or provide feedback for continuous improvement of the library. Future updates may include more advanced features, optimizations, and bug fixes.

These considerations aim to guide users for a better experience with Neural-Net-PHP and to set appropriate expectations regarding the library's capabilities and potential areas for future development.

Acknowledgements ???

Reflecting on the creation of Neural-Net-PHP, my heart swells with gratitude for those who've supported me along this wild and wonderful journey:

  • Harrison Kinsley & Daniel Kukie?a ?: A towering thank you to Harrison Kinsley and Daniel Kukie?a, authors of "Neural Networks from Scratch in Python". Their work provided the blueprint that inspired Neural-Net-PHP's architecture and philosophy.
  • PHP Community ??: Kudos to the awesome PHP community. Your innovation and continual growth have transformed Neural-Net-PHP from a dream into a delightful reality.
  • Open Source Contributors ?: Hats off to the myriad of open-source pioneers in machine learning and software development. Your trailblazing efforts and open sharing of knowledge are the unsung heroes of projects like this.
  • Early Adopters and Users ?: A big shoutout to everyone who has given Neural-Net-PHP a whirl. Your feedback is the magic ingredient for the ongoing refinement and enhancement of the library.
  • Stephanie, the Unintentional Math Listener ?: To my girlfriend, Stephanie, thank you for enduring endless rants about mathematical conundrums that might as well have been in Klingon. Your patience, support, and encouragement have been my rock (and sanity saver) through this labyrinth of algorithms and code.

The journey of building Neural-Net-PHP has been an extraordinary odyssey filled with late nights, sudden epiphanies, and a plethora of "Aha!" moments, each fueled by an unwavering passion for machine learning. This labor of love, born in the quiet confines of my room, was a series of puzzles waiting to be solved, challenges to be embraced, and victories to be celebrated.

Each hurdle encountered was not merely an obstacle, but a stepping stone that enriched my understanding, sharpened my skills, and fueled my passion for this ever-evolving field. Neural-Net-PHP stands as a testament not only to the power of perseverance and relentless curiosity but also to the joy of learning and the remarkable potential that unfolds when we dare to dream and dare to do.

This project is a tribute to the warmth of community spirit and the boundless possibilities inherent in shared knowledge and collective advancement. To all aspiring coders and dreamers out there, may this serve as a beacon of inspiration. Here's to the journey, the joy of creation, and the endless adventure of coding. Happy coding, and may your path be filled with countless more "Aha!" moments!

License ?

Neural-Net-PHP is made available under the MIT License. This means that you're free to use, modify, distribute, and sell this software, but you must include the original copyright notice and this license notice in any copies or substantial portions of the software.


Screenshots (8)  
  • CLASSES/plot.png
  • phpUnitTest.png
  • TEST/TrainingTest/Lineplot.png
  • TEST/TrainingTest/Multi-Lineplot.png
  • TEST/TrainingTest/p276_Acc_stat.png
  • TEST/TrainingTest/p276_Loss_stat.png
  • TEST/TrainingTest/p432_Optimizer_Adam_with_regulization.php-Lineplot.png
  • TEST/TrainingTest/spiral_data.png
  Files folder image Files (1546)  
File Role Description
Files folder image.github (1 directory)
Files folder imageCLASSES (48 files)
Files folder imageSETUP (1 file)
Files folder imageTEST (5 directories)
Files folder imagevendor (1 file, 11 directories)
Accessible without login Plain text file .phpunit.result.cache Data Auxiliary data
Accessible without login Plain text file check_these.json Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file Makefile Data Auxiliary data
Accessible without login Image file Neural-Network-gif.gif Icon Neural network animation
Accessible without login Plain text file neural_network_data_php.json Data Auxiliary data
Accessible without login Image file perfomance-test-chart.png Icon Icon image
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file shared_file_659c7ffe0d631 Data Auxiliary data
Accessible without login Plain text file shared_file_659c7ffe0d683 Data Auxiliary data

  Files folder image Files (1546)  /  .github  
File Role Description
Files folder imageworkflows (1 file)

  Files folder image Files (1546)  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file php.yml Data Auxiliary data

  Files folder image Files (1546)  /  CLASSES  
File Role Description
  Plain text file Accuracy.php Class Class source
  Plain text file Activation_Linear.php Class Class source
  Plain text file Activation_Relu.php Class Class source
  Plain text file Activation_Sigmoid.php Class Class source
  Plain text file Activation_Softmax.php Class Class source
  Plain text file Activation_Softmax...calCrossentropy.php Class Class source
  Accessible without login Plain text file add.cpp Data Auxiliary data
  Plain text file ArrayFileHandler.php Class Class source
  Accessible without login Plain text file combined_matrices.json Data Auxiliary data
  Accessible without login Plain text file dot.cpp Data Auxiliary data
  Accessible without login Plain text file Headers.php Aux. Auxiliary script
  Plain text file ImageProcessor.php Class Class source
  Accessible without login Plain text file jacobianMatrix.cpp Data Auxiliary data
  Plain text file Layer_Dense.php Class Class source
  Plain text file Layer_Dropout.php Class Class source
  Plain text file Layer_Input.php Class Class source
  Plain text file LinePlotter.php Class Class source
  Accessible without login Plain text file Loss_BinaryCrossentropy.php Aux. Auxiliary script
  Plain text file Loss_CategoricalCrossentropy.php Class Class source
  Accessible without login Plain text file Makefile Data Auxiliary data
  Accessible without login Plain text file Matrix.cpp Data Auxiliary data
  Accessible without login Plain text file Matrix.h Data Auxiliary data
  Plain text file MatrixFileHandler.php Class Class source
  Accessible without login Plain text file matrix_performance...c_implimentaion.csv Data Auxiliary data
  Plain text file Model.php Class Class source
  Plain text file MT_Maxtrix.php Class Class source
  Plain text file NumpyLight.php Class Class source
  Plain text file Optimizer_Adagrad.php Class Class source
  Plain text file Optimizer_Adam.php Class Class source
  Plain text file Optimizer_RMSprop.php Class Class source
  Plain text file Optimizer_SGD.php Class Class source
  Accessible without login Plain text file perfomanceTest.php Aux. Auxiliary script
  Plain text file PlotChart.php Class Class source
  Plain text file ProcessManager.php Class Class source
  Plain text file Queue.php Class Class source
  Plain text file RandomGenerator.php Class Class source
  Plain text file SharedFile.php Class Class source
  Plain text file SharedMemoryHandler.php Class Class source
  Plain text file SocketServer.php Class Class source
  Plain text file SystemOperations.php Class Class source
  Plain text file TaskRegistry.php Class Class source
  Accessible without login Plain text file test.php Example Example script
  Accessible without login Plain text file testMulitplicationMultithreaded.php Example Example script
  Accessible without login Plain text file ThreadedTaskDemo.php Example Example script
  Plain text file Threads.php Class Class source
  Accessible without login Plain text file untitled.php Example Example script
  Accessible without login Plain text file Utility.cpp Data Auxiliary data
  Accessible without login Plain text file Utility.h Data Auxiliary data

  Files folder image Files (1546)  /  SETUP  
File Role Description
  Accessible without login Plain text file setup.php Aux. Auxiliary script

  Files folder image Files (1546)  /  TEST  
File Role Description
Files folder imageHelper_Classes_Test (2 files)
Files folder imageNeural_Networks_Components (9 files)
Files folder imageNumpyLight (3 files)
Files folder imageThreading (2 files)
Files folder imageTrainingTest (30 files, 2 directories)

  Files folder image Files (1546)  /  TEST  /  Helper_Classes_Test  
File Role Description
  Accessible without login Image file 0000.png Icon Icon image
  Accessible without login Plain text file ImageProcessorTest.php Example Example script

  Files folder image Files (1546)  /  TEST  /  Neural_Networks_Components  
File Role Description
  Accessible without login Plain text file activation_sigmoid_large_dataset.json Data Auxiliary data
  Accessible without login Plain text file binary_crossentropy_large_dataset.json Data Auxiliary data
  Accessible without login Plain text file dense2_data_after_backward_pass.json Data Auxiliary data
  Accessible without login Plain text file dense2_data_with_l...ivation_output.json Data Auxiliary data
  Accessible without login Plain text file Loss_BinaryCrossentropy_data.json Data Auxiliary data
  Accessible without login Plain text file mse_loss_data.json Data Auxiliary data
  Accessible without login Plain text file neural_network_data.json Data Auxiliary data
  Plain text file Neural_Network_Pages_Test.php Class Class source
  Accessible without login Plain text file recorded_data.json Data Auxiliary data

  Files folder image Files (1546)  /  TEST  /  NumpyLight  
File Role Description
  Plain text file NumpyLightTest.php Class Class source
  Plain text file RandomGeneratorTest.php Class Class source
  Plain text file test.php Class Class source

  Files folder image Files (1546)  /  TEST  /  Threading  
File Role Description
  Accessible without login Plain text file Thread_add.php Aux. Auxiliary script
  Accessible without login Plain text file Thread_dot.php Aux. Auxiliary script

  Files folder image Files (1546)  /  TEST  /  TrainingTest  
File Role Description
Files folder imagefashion_mnist_images (1 file, 1 directory)
Files folder imageimages (29 files)
  Accessible without login Plain text file dense_layer_data.json Data Auxiliary data
  Accessible without login Plain text file dense_layer_data_with_spiral.json Data Auxiliary data
  Accessible without login Plain text file generate_random.py Data Auxiliary data
  Accessible without login Plain text file JacobianTest.php Example Example script
  Accessible without login Plain text file neural_network_data.json Data Auxiliary data
  Accessible without login Plain text file Optimizer_Adam_Test.php Example Example script
  Accessible without login Plain text file p133_loss_activation_test.php Example Example script
  Accessible without login Plain text file p235_loss_activation_test.php Example Example script
  Accessible without login Plain text file p242_extended_loss_activation_test.php Example Example script
  Accessible without login Plain text file p242_loss_activation_test.php Example Example script
  Accessible without login Plain text file p276_loss_activation_test.php Example Example script
  Accessible without login Plain text file p285_Optimizer_SGD_with_momentum.php Example Example script
  Accessible without login Plain text file p294_Optimizer_Adagrad.php Example Example script
  Accessible without login Plain text file p298_Optimizer_RMSprop_test.php Example Example script
  Accessible without login Plain text file p350_Optimizer_Ada...th_regulization.php Example Example script
  Accessible without login Plain text file p368_Optimizer_Ada...th_regulization.php Example Example script
  Accessible without login Plain text file p420_Optimizer_Ada...th_regulization.php Example Example script
  Accessible without login Plain text file p432_Optimizer_Ada...th_regulization.php Example Example script
  Accessible without login Plain text file p480.php Example Example script
  Accessible without login Plain text file p500.php Example Example script
  Accessible without login Plain text file p510.php Example Example script
  Accessible without login Plain text file p562.php Example Example script
  Accessible without login Plain text file p615.php Example Example script
  Accessible without login Image file test-fit.png Data Auxiliary data
  Accessible without login Plain text file TestNpRand.php Example Example script
  Accessible without login Plain text file train_sine.php Example Example script
  Accessible without login Plain text file train_to_fashion_mnist.php Example Example script
  Accessible without login Plain text file untitled.php Example Example script
  Accessible without login Plain text file visiualize-data.php Example Example script
  Accessible without login Plain text file visualize.php Aux. Auxiliary script

  Files folder image Files (1546)  /  TEST  /  TrainingTest  /  fashion_mnist_images  
File Role Description
Files folder imagetest (1 directory)
  Accessible without login Plain text file LICENSE Lic. License text

  Files folder image Files (1546)  /  TEST  /  TrainingTest  /  fashion_mnist_images  /  test  
File Role Description
Files folder image0 (211 files)

  Files folder image Files (1546)  /  TEST  /  TrainingTest  /  fashion_mnist_images  /  test  /  0  
File Role Description
  Accessible without login Image file 0000.png Icon Icon image
  Accessible without login Image file 0001.png Icon Icon image
  Accessible without login Image file 0002.png Icon Icon image
  Accessible without login Image file 0003.png Icon Icon image
  Accessible without login Image file 0004.png Icon Icon image
  Accessible without login Image file 0005.png Icon Icon image
  Accessible without login Image file 0006.png Icon Icon image
  Accessible without login Image file 0007.png Icon Icon image
  Accessible without login Image file 0008.png Icon Icon image
  Accessible without login Image file 0009.png Icon Icon image
  Accessible without login Image file 0010.png Icon Icon image
  Accessible without login Image file 0011.png Icon Icon image
  Accessible without login Image file 0012.png Icon Icon image
  Accessible without login Image file 0013.png Icon Icon image
  Accessible without login Image file 0014.png Icon Icon image
  Accessible without login Image file 0015.png Icon Icon image
  Accessible without login Image file 0016.png Icon Icon image
  Accessible without login Image file 0017.png Icon Icon image
  Accessible without login Image file 0018.png Icon Icon image
  Accessible without login Image file 0019.png Icon Icon image
  Accessible without login Image file 0020.png Icon Icon image
  Accessible without login Image file 0021.png Icon Icon image
  Accessible without login Image file 0022.png Icon Icon image
  Accessible without login Image file 0023.png Icon Icon image
  Accessible without login Image file 0024.png Icon Icon image
  Accessible without login Image file 0025.png Icon Icon image
  Accessible without login Image file 0026.png Icon Icon image
  Accessible without login Image file 0027.png Icon Icon image
  Accessible without login Image file 0028.png Icon Icon image
  Accessible without login Image file 0029.png Icon Icon image
  Accessible without login Image file 0030.png Icon Icon image
  Accessible without login Image file 0031.png Icon Icon image
  Accessible without login Image file 0032.png Icon Icon image
  Accessible without login Image file 0033.png Icon Icon image
  Accessible without login Image file 0034.png Icon Icon image
  Accessible without login Image file 0035.png Icon Icon image
  Accessible without login Image file 0036.png Icon Icon image
  Accessible without login Image file 0037.png Icon Icon image
  Accessible without login Image file 0038.png Icon Icon image
  Accessible without login Image file 0039.png Icon Icon image
  Accessible without login Image file 0040.png Icon Icon image
  Accessible without login Image file 0041.png Icon Icon image
  Accessible without login Image file 0042.png Icon Icon image
  Accessible without login Image file 0043.png Icon Icon image
  Accessible without login Image file 0044.png Icon Icon image
  Accessible without login Image file 0045.png Icon Icon image
  Accessible without login Image file 0046.png Icon Icon image
  Accessible without login Image file 0047.png Icon Icon image
  Accessible without login Image file 0048.png Icon Icon image
  Accessible without login Image file 0049.png Icon Icon image
  Accessible without login Image file 0050.png Icon Icon image
  Accessible without login Image file 0051.png Icon Icon image
  Accessible without login Image file 0052.png Icon Icon image
  Accessible without login Image file 0053.png Icon Icon image
  Accessible without login Image file 0054.png Icon Icon image
  Accessible without login Image file 0055.png Icon Icon image
  Accessible without login Image file 0056.png Icon Icon image
  Accessible without login Image file 0057.png Icon Icon image
  Accessible without login Image file 0058.png Icon Icon image
  Accessible without login Image file 0059.png Icon Icon image
  Accessible without login Image file 0060.png Icon Icon image
  Accessible without login Image file 0061.png Icon Icon image
  Accessible without login Image file 0062.png Icon Icon image
  Accessible without login Image file 0063.png Icon Icon image
  Accessible without login Image file 0064.png Icon Icon image
  Accessible without login Image file 0065.png Icon Icon image
  Accessible without login Image file 0066.png Icon Icon image
  Accessible without login Image file 0067.png Icon Icon image
  Accessible without login Image file 0068.png Icon Icon image
  Accessible without login Image file 0069.png Icon Icon image
  Accessible without login Image file 0070.png Icon Icon image
  Accessible without login Image file 0071.png Icon Icon image
  Accessible without login Image file 0072.png Icon Icon image
  Accessible without login Image file 0073.png Icon Icon image
  Accessible without login Image file 0074.png Icon Icon image
  Accessible without login Image file 0075.png Icon Icon image
  Accessible without login Image file 0076.png Icon Icon image
  Accessible without login Image file 0077.png Icon Icon image
  Accessible without login Image file 0078.png Icon Icon image
  Accessible without login Image file 0079.png Icon Icon image
  Accessible without login Image file 0080.png Icon Icon image
  Accessible without login Image file 0081.png Icon Icon image
  Accessible without login Image file 0082.png Icon Icon image
  Accessible without login Image file 0083.png Icon Icon image
  Accessible without login Image file 0084.png Icon Icon image
  Accessible without login Image file 0085.png Icon Icon image
  Accessible without login Image file 0086.png Icon Icon image
  Accessible without login Image file 0087.png Icon Icon image
  Accessible without login Image file 0088.png Icon Icon image
  Accessible without login Image file 0089.png Icon Icon image
  Accessible without login Image file 0090.png Icon Icon image
  Accessible without login Image file 0091.png Icon Icon image
  Accessible without login Image file 0092.png Icon Icon image
  Accessible without login Image file 0093.png Icon Icon image
  Accessible without login Image file 0094.png Icon Icon image
  Accessible without login Image file 0095.png Icon Icon image
  Accessible without login Image file 0096.png Icon Icon image
  Accessible without login Image file 0097.png Icon Icon image
  Accessible without login Image file 0098.png Icon Icon image
  Accessible without login Image file 0099.png Icon Icon image
  Accessible without login Image file 0100.png Icon Icon image
  Accessible without login Image file 0101.png Icon Icon image
  Accessible without login Image file 0102.png Icon Icon image
  Accessible without login Image file 0103.png Icon Icon image
  Accessible without login Image file 0104.png Icon Icon image
  Accessible without login Image file 0105.png Icon Icon image
  Accessible without login Image file 0106.png Icon Icon image
  Accessible without login Image file 0107.png Icon Icon image
  Accessible without login Image file 0108.png Icon Icon image
  Accessible without login Image file 0109.png Icon Icon image
  Accessible without login Image file 0110.png Icon Icon image
  Accessible without login Image file 0111.png Icon Icon image
  Accessible without login Image file 0112.png Icon Icon image
  Accessible without login Image file 0113.png Icon Icon image
  Accessible without login Image file 0114.png Icon Icon image
  Accessible without login Image file 0115.png Icon Icon image
  Accessible without login Image file 0116.png Icon Icon image
  Accessible without login Image file 0117.png Icon Icon image
  Accessible without login Image file 0118.png Icon Icon image
  Accessible without login Image file 0119.png Icon Icon image
  Accessible without login Image file 0120.png Icon Icon image
  Accessible without login Image file 0121.png Icon Icon image
  Accessible without login Image file 0122.png Icon Icon image
  Accessible without login Image file 0123.png Icon Icon image
  Accessible without login Image file 0124.png Icon Icon image
  Accessible without login Image file 0125.png Icon Icon image
  Accessible without login Image file 0126.png Icon Icon image
  Accessible without login Image file 0127.png Icon Icon image
  Accessible without login Image file 0128.png Icon Icon image
  Accessible without login Image file 0129.png Icon Icon image
  Accessible without login Image file 0130.png Icon Icon image
  Accessible without login Image file 0131.png Icon Icon image
  Accessible without login Image file 0132.png Icon Icon image
  Accessible without login Image file 0133.png Icon Icon image
  Accessible without login Image file 0134.png Icon Icon image
  Accessible without login Image file 0135.png Icon Icon image
  Accessible without login Image file 0136.png Icon Icon image
  Accessible without login Image file 0137.png Icon Icon image
  Accessible without login Image file 0138.png Icon Icon image
  Accessible without login Image file 0139.png Icon Icon image
  Accessible without login Image file 0140.png Icon Icon image
  Accessible without login Image file 0141.png Icon Icon image
  Accessible without login Image file 0142.png Icon Icon image
  Accessible without login Image file 0143.png Icon Icon image
  Accessible without login Image file 0144.png Icon Icon image
  Accessible without login Image file 0145.png Icon Icon image
  Accessible without login Image file 0146.png Icon Icon image
  Accessible without login Image file 0147.png Icon Icon image
  Accessible without login Image file 0148.png Icon Icon image
  Accessible without login Image file 0149.png Icon Icon image
  Accessible without login Image file 0150.png Icon Icon image
  Accessible without login Image file 0151.png Icon Icon image
  Accessible without login Image file 0152.png Icon Icon image
  Accessible without login Image file 0153.png Icon Icon image
  Accessible without login Image file 0154.png Icon Icon image
  Accessible without login Image file 0155.png Icon Icon image
  Accessible without login Image file 0156.png Icon Icon image
  Accessible without login Image file 0157.png Icon Icon image
  Accessible without login Image file 0158.png Icon Icon image
  Accessible without login Image file 0159.png Icon Icon image
  Accessible without login Image file 0160.png Icon Icon image
  Accessible without login Image file 0161.png Icon Icon image
  Accessible without login Image file 0162.png Icon Icon image
  Accessible without login Image file 0163.png Icon Icon image
  Accessible without login Image file 0164.png Icon Icon image
  Accessible without login Image file 0165.png Icon Icon image
  Accessible without login Image file 0166.png Icon Icon image
  Accessible without login Image file 0167.png Icon Icon image
  Accessible without login Image file 0168.png Icon Icon image
  Accessible without login Image file 0169.png Icon Icon image
  Accessible without login Image file 0170.png Icon Icon image
  Accessible without login Image file 0171.png Icon Icon image
  Accessible without login Image file 0172.png Icon Icon image
  Accessible without login Image file 0173.png Icon Icon image
  Accessible without login Image file 0174.png Icon Icon image
  Accessible without login Image file 0175.png Icon Icon image
  Accessible without login Image file 0176.png Icon Icon image
  Accessible without login Image file 0177.png Icon Icon image
  Accessible without login Image file 0178.png Icon Icon image
  Accessible without login Image file 0179.png Icon Icon image
  Accessible without login Image file 0180.png Icon Icon image
  Accessible without login Image file 0181.png Icon Icon image
  Accessible without login Image file 0182.png Icon Icon image
  Accessible without login Image file 0183.png Icon Icon image
  Accessible without login Image file 0184.png Icon Icon image
  Accessible without login Image file 0185.png Icon Icon image
  Accessible without login Image file 0186.png Icon Icon image
  Accessible without login Image file 0187.png Icon Icon image
  Accessible without login Image file 0188.png Icon Icon image
  Accessible without login Image file 0189.png Icon Icon image
  Accessible without login Image file 0190.png Icon Icon image
  Accessible without login Image file 0191.png Icon Icon image
  Accessible without login Image file 0192.png Icon Icon image
  Accessible without login Image file 0193.png Icon Icon image
  Accessible without login Image file 0194.png Icon Icon image
  Accessible without login Image file 0195.png Icon Icon image
  Accessible without login Image file 0196.png Icon Icon image
  Accessible without login Image file 0197.png Icon Icon image
  Accessible without login Image file 0198.png Icon Icon image
  Accessible without login Image file 0199.png Icon Icon image
  Accessible without login Image file 0200.png Icon Icon image
  Accessible without login Image file 0201.png Icon Icon image
  Accessible without login Image file 0202.png Icon Icon image
  Accessible without login Image file 0203.png Icon Icon image
  Accessible without login Image file 0204.png Icon Icon image
  Accessible without login Image file 0205.png Icon Icon image
  Accessible without login Image file 0206.png Icon Icon image
  Accessible without login Image file 0207.png Icon Icon image
  Accessible without login Image file 0208.png Icon Icon image
  Accessible without login Image file 0209.png Icon Icon image
  Accessible without login Image file 0210.png Icon Icon image

  Files folder image Files (1546)  /  TEST  /  TrainingTest  /  images  
File Role Description
  Accessible without login Image file p285_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p285_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p285_lr_stat.png Data Auxiliary data
  Accessible without login Image file p294_Optimizer_Adagrad_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p294_Optimizer_Adagrad_circular_data.png Data Auxiliary data
  Accessible without login Image file p294_Optimizer_Adagrad_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p294_Optimizer_Adagrad_lr_stat.png Data Auxiliary data
  Accessible without login Image file p294_Optimizer_Adagrad_spiral_data.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMSprop_test_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS..._test_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMSprop_test_lr_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS...test_moons_data.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS...est_spiral_data.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS...l_data_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS..._data_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS...al_data_lr_stat.png Data Auxiliary data
  Accessible without login Image file p298_Optimizer_RMS..._perimeter_data.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada...larization_loss.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada...ion_spiral_data.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada...l_data_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada..._data_data_loss.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada..._data_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p350_Optimizer_Ada...al_data_lr_stat.png Data Auxiliary data
  Accessible without login Image file p368_Optimizer_Ada...ion_spiral_data.png Data Auxiliary data
  Accessible without login Image file p368_Optimizer_Ada...l_data_Acc_stat.png Data Auxiliary data
  Accessible without login Image file p368_Optimizer_Ada..._data_data_loss.png Data Auxiliary data
  Accessible without login Image file p368_Optimizer_Ada..._data_Loss_stat.png Data Auxiliary data
  Accessible without login Image file p368_Optimizer_Ada...al_data_lr_stat.png Data Auxiliary data
  Accessible without login Image file visualize_mandelbrot_spiral_data.png Data Auxiliary data

  Files folder image Files (1546)  /  vendor  
File Role Description
Files folder imagebin (2 files)
Files folder imagecomposer (12 files)
Files folder imagedoctrine (1 directory)
Files folder imagemyclabs (1 directory)
Files folder imagenikic (1 directory)
Files folder imagephar-io (2 directories)
Files folder imagephpunit (6 directories)
Files folder imagesebastian (16 directories)
Files folder imagesmalot (1 directory)
Files folder imagesymfony (1 directory)
Files folder imagetheseer (1 directory)
  Accessible without login Plain text file autoload.php Aux. Auxiliary script

  Files folder image Files (1546)  /  vendor  /  bin  
File Role Description
  Plain text file php-parse Class Class source
  Plain text file phpunit Class Class source

  Files folder image Files (1546)  /  vendor  /  composer  
File Role Description
  Accessible without login Plain text file autoload_classmap.php Aux. Auxiliary script
  Accessible without login Plain text file autoload_files.php Aux. Auxiliary script
  Accessible without login Plain text file autoload_namespaces.php Aux. Auxiliary script
  Accessible without login Plain text file autoload_psr4.php Aux. Auxiliary script
  Plain text file autoload_real.php Class Class source
  Plain text file autoload_static.php Class Class source
  Plain text file ClassLoader.php Class Class source
  Accessible without login Plain text file installed.json Data Auxiliary data
  Accessible without login Plain text file installed.php Aux. Auxiliary script
  Plain text file InstalledVersions.php Class Class source
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file platform_check.php Aux. Auxiliary script

  Files folder image Files (1546)  /  vendor  /  doctrine  
File Role Description
Files folder imageinstantiator (6 files, 2 directories)

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  
File Role Description
Files folder imagedocs (1 directory)
Files folder imagesrc (1 directory)
  Accessible without login Plain text file .doctrine-project.json Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file CONTRIBUTING.md Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file psalm.xml Data Auxiliary data
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  docs  
File Role Description
Files folder imageen (2 files)

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  docs  /  en  
File Role Description
  Plain text file index.rst Class Class source
  Accessible without login Plain text file sidebar.rst Data Auxiliary data

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  src  
File Role Description
Files folder imageDoctrine (1 directory)

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  src  /  Doctrine  
File Role Description
Files folder imageInstantiator (2 files, 1 directory)

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  src  /  Doctrine  /  Instantiator  
File Role Description
Files folder imageException (3 files)
  Plain text file Instantiator.php Class Class source
  Plain text file InstantiatorInterface.php Class Class source

  Files folder image Files (1546)  /  vendor  /  doctrine  /  instantiator  /  src  /  Doctrine  /  Instantiator  /  Exception  
File Role Description
  Plain text file ExceptionInterface.php Class Class source
  Plain text file InvalidArgumentException.php Class Class source
  Plain text file UnexpectedValueException.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  
File Role Description
Files folder imagedeep-copy (3 files, 2 directories)

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  
File Role Description
Files folder image.github (1 file, 1 directory)
Files folder imagesrc (1 directory)
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  .github  
File Role Description
Files folder imageworkflows (1 file)
  Accessible without login Plain text file FUNDING.yml Data Auxiliary data

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file ci.yaml Data Auxiliary data

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  
File Role Description
Files folder imageDeepCopy (2 files, 6 directories)

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  
File Role Description
Files folder imageException (2 files)
Files folder imageFilter (5 files, 1 directory)
Files folder imageMatcher (4 files, 1 directory)
Files folder imageReflection (1 file)
Files folder imageTypeFilter (3 files, 2 directories)
Files folder imageTypeMatcher (1 file)
  Plain text file DeepCopy.php Class Class source
  Accessible without login Plain text file deep_copy.php Example Example script

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Exception  
File Role Description
  Plain text file CloneException.php Class Class source
  Plain text file PropertyException.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Filter  
File Role Description
Files folder imageDoctrine (3 files)
  Plain text file ChainableFilter.php Class Class source
  Plain text file Filter.php Class Class source
  Plain text file KeepFilter.php Class Class source
  Plain text file ReplaceFilter.php Class Class source
  Plain text file SetNullFilter.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Filter  /  Doctrine  
File Role Description
  Plain text file DoctrineCollectionFilter.php Class Class source
  Plain text file DoctrineEmptyCollectionFilter.php Class Class source
  Plain text file DoctrineProxyFilter.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Matcher  
File Role Description
Files folder imageDoctrine (1 file)
  Plain text file Matcher.php Class Class source
  Plain text file PropertyMatcher.php Class Class source
  Plain text file PropertyNameMatcher.php Class Class source
  Plain text file PropertyTypeMatcher.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Matcher  /  Doctrine  
File Role Description
  Plain text file DoctrineProxyMatcher.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  Reflection  
File Role Description
  Plain text file ReflectionHelper.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  TypeFilter  
File Role Description
Files folder imageDate (1 file)
Files folder imageSpl (3 files)
  Plain text file ReplaceFilter.php Class Class source
  Plain text file ShallowCopyFilter.php Class Class source
  Plain text file TypeFilter.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  TypeFilter  /  Date  
File Role Description
  Plain text file DateIntervalFilter.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  TypeFilter  /  Spl  
File Role Description
  Plain text file ArrayObjectFilter.php Class Class source
  Plain text file SplDoublyLinkedList.php Class Class source
  Plain text file SplDoublyLinkedListFilter.php Class Class source

  Files folder image Files (1546)  /  vendor  /  myclabs  /  deep-copy  /  src  /  DeepCopy  /  TypeMatcher  
File Role Description
  Plain text file TypeMatcher.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  
File Role Description
Files folder imagephp-parser (3 files, 3 directories)

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  
File Role Description
Files folder imagebin (1 file)
Files folder imagegrammar (8 files)
Files folder imagelib (1 directory)
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Plain text file README.md Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  bin  
File Role Description
  Accessible without login Plain text file php-parse Example Example script

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  grammar  
File Role Description
  Plain text file parser.template Class Class source
  Accessible without login Plain text file php5.y Data Auxiliary data
  Accessible without login Plain text file php7.y Data Auxiliary data
  Accessible without login Plain text file phpyLang.php Aux. Auxiliary script
  Accessible without login Plain text file README.md Doc. Documentation
  Accessible without login Plain text file rebuildParsers.php Aux. Auxiliary script
  Plain text file tokens.template Class Class source
  Accessible without login Plain text file tokens.y Data Auxiliary data

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  
File Role Description
Files folder imagePhpParser (23 files, 9 directories)

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  
File Role Description
Files folder imageBuilder (16 files)
Files folder imageComment (1 file)
Files folder imageErrorHandler (2 files)
Files folder imageInternal (4 files)
Files folder imageLexer (1 file, 1 directory)
Files folder imageNode (18 files, 4 directories)
Files folder imageNodeVisitor (6 files)
Files folder imageParser (4 files)
Files folder imagePrettyPrinter (1 file)
  Plain text file Builder.php Class Class source
  Plain text file BuilderFactory.php Class Class source
  Plain text file BuilderHelpers.php Class Class source
  Plain text file Comment.php Class Class source
  Plain text file ConstExprEvaluationException.php Class Class source
  Plain text file ConstExprEvaluator.php Class Class source
  Plain text file Error.php Class Class source
  Plain text file ErrorHandler.php Class Class source
  Plain text file JsonDecoder.php Class Class source
  Plain text file Lexer.php Class Class source
  Plain text file NameContext.php Class Class source
  Plain text file Node.php Class Class source
  Plain text file NodeAbstract.php Class Class source
  Plain text file NodeDumper.php Class Class source
  Plain text file NodeFinder.php Class Class source
  Plain text file NodeTraverser.php Class Class source
  Plain text file NodeTraverserInterface.php Class Class source
  Plain text file NodeVisitor.php Class Class source
  Plain text file NodeVisitorAbstract.php Class Class source
  Plain text file Parser.php Class Class source
  Plain text file ParserAbstract.php Class Class source
  Plain text file ParserFactory.php Class Class source
  Plain text file PrettyPrinterAbstract.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Builder  
File Role Description
  Plain text file ClassConst.php Class Class source
  Plain text file Class_.php Class Class source
  Plain text file Declaration.php Class Class source
  Plain text file EnumCase.php Class Class source
  Plain text file Enum_.php Class Class source
  Plain text file FunctionLike.php Class Class source
  Plain text file Function_.php Class Class source
  Plain text file Interface_.php Class Class source
  Plain text file Method.php Class Class source
  Plain text file Namespace_.php Class Class source
  Plain text file Param.php Class Class source
  Plain text file Property.php Class Class source
  Plain text file TraitUse.php Class Class source
  Plain text file TraitUseAdaptation.php Class Class source
  Plain text file Trait_.php Class Class source
  Plain text file Use_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Comment  
File Role Description
  Plain text file Doc.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  ErrorHandler  
File Role Description
  Plain text file Collecting.php Class Class source
  Plain text file Throwing.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Internal  
File Role Description
  Plain text file DiffElem.php Class Class source
  Plain text file Differ.php Class Class source
  Plain text file PrintableNewAnonClassNode.php Class Class source
  Plain text file TokenStream.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Lexer  
File Role Description
Files folder imageTokenEmulator (14 files)
  Plain text file Emulative.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Lexer  /  TokenEmulator  
File Role Description
  Plain text file AttributeEmulator.php Class Class source
  Plain text file CoaleseEqualTokenEmulator.php Class Class source
  Plain text file EnumTokenEmulator.php Class Class source
  Plain text file ExplicitOctalEmulator.php Class Class source
  Plain text file FlexibleDocStringEmulator.php Class Class source
  Plain text file FnTokenEmulator.php Class Class source
  Plain text file KeywordEmulator.php Class Class source
  Plain text file MatchTokenEmulator.php Class Class source
  Plain text file NullsafeTokenEmulator.php Class Class source
  Plain text file NumericLiteralSeparatorEmulator.php Class Class source
  Plain text file ReadonlyFunctionTokenEmulator.php Class Class source
  Plain text file ReadonlyTokenEmulator.php Class Class source
  Plain text file ReverseEmulator.php Class Class source
  Plain text file TokenEmulator.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  
File Role Description
Files folder imageExpr (48 files, 3 directories)
Files folder imageName (2 files)
Files folder imageScalar (6 files, 1 directory)
Files folder imageStmt (47 files, 1 directory)
  Plain text file Arg.php Class Class source
  Plain text file Attribute.php Class Class source
  Plain text file AttributeGroup.php Class Class source
  Plain text file ComplexType.php Class Class source
  Plain text file Const_.php Class Class source
  Plain text file Expr.php Class Class source
  Plain text file FunctionLike.php Class Class source
  Plain text file Identifier.php Class Class source
  Plain text file IntersectionType.php Class Class source
  Plain text file MatchArm.php Class Class source
  Plain text file Name.php Class Class source
  Plain text file NullableType.php Class Class source
  Plain text file Param.php Class Class source
  Plain text file Scalar.php Class Class source
  Plain text file Stmt.php Class Class source
  Plain text file UnionType.php Class Class source
  Plain text file VariadicPlaceholder.php Class Class source
  Plain text file VarLikeIdentifier.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Expr  
File Role Description
Files folder imageAssignOp (13 files)
Files folder imageBinaryOp (27 files)
Files folder imageCast (7 files)
  Plain text file ArrayDimFetch.php Class Class source
  Plain text file ArrayItem.php Class Class source
  Plain text file Array_.php Class Class source
  Plain text file ArrowFunction.php Class Class source
  Plain text file Assign.php Class Class source
  Plain text file AssignOp.php Class Class source
  Plain text file AssignRef.php Class Class source
  Plain text file BinaryOp.php Class Class source
  Plain text file BitwiseNot.php Class Class source
  Plain text file BooleanNot.php Class Class source
  Plain text file CallLike.php Class Class source
  Plain text file Cast.php Class Class source
  Plain text file ClassConstFetch.php Class Class source
  Plain text file Clone_.php Class Class source
  Plain text file Closure.php Class Class source
  Plain text file ClosureUse.php Class Class source
  Plain text file ConstFetch.php Class Class source
  Plain text file Empty_.php Class Class source
  Plain text file Error.php Class Class source
  Plain text file ErrorSuppress.php Class Class source
  Plain text file Eval_.php Class Class source
  Plain text file Exit_.php Class Class source
  Plain text file FuncCall.php Class Class source
  Plain text file Include_.php Class Class source
  Plain text file Instanceof_.php Class Class source
  Plain text file Isset_.php Class Class source
  Plain text file List_.php Class Class source
  Plain text file Match_.php Class Class source
  Plain text file MethodCall.php Class Class source
  Plain text file New_.php Class Class source
  Plain text file NullsafeMethodCall.php Class Class source
  Plain text file NullsafePropertyFetch.php Class Class source
  Plain text file PostDec.php Class Class source
  Plain text file PostInc.php Class Class source
  Plain text file PreDec.php Class Class source
  Plain text file PreInc.php Class Class source
  Plain text file Print_.php Class Class source
  Plain text file PropertyFetch.php Class Class source
  Plain text file ShellExec.php Class Class source
  Plain text file StaticCall.php Class Class source
  Plain text file StaticPropertyFetch.php Class Class source
  Plain text file Ternary.php Class Class source
  Plain text file Throw_.php Class Class source
  Plain text file UnaryMinus.php Class Class source
  Plain text file UnaryPlus.php Class Class source
  Plain text file Variable.php Class Class source
  Plain text file YieldFrom.php Class Class source
  Plain text file Yield_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Expr  /  AssignOp  
File Role Description
  Plain text file BitwiseAnd.php Class Class source
  Plain text file BitwiseOr.php Class Class source
  Plain text file BitwiseXor.php Class Class source
  Plain text file Coalesce.php Class Class source
  Plain text file Concat.php Class Class source
  Plain text file Div.php Class Class source
  Plain text file Minus.php Class Class source
  Plain text file Mod.php Class Class source
  Plain text file Mul.php Class Class source
  Plain text file Plus.php Class Class source
  Plain text file Pow.php Class Class source
  Plain text file ShiftLeft.php Class Class source
  Plain text file ShiftRight.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Expr  /  BinaryOp  
File Role Description
  Plain text file BitwiseAnd.php Class Class source
  Plain text file BitwiseOr.php Class Class source
  Plain text file BitwiseXor.php Class Class source
  Plain text file BooleanAnd.php Class Class source
  Plain text file BooleanOr.php Class Class source
  Plain text file Coalesce.php Class Class source
  Plain text file Concat.php Class Class source
  Plain text file Div.php Class Class source
  Plain text file Equal.php Class Class source
  Plain text file Greater.php Class Class source
  Plain text file GreaterOrEqual.php Class Class source
  Plain text file Identical.php Class Class source
  Plain text file LogicalAnd.php Class Class source
  Plain text file LogicalOr.php Class Class source
  Plain text file LogicalXor.php Class Class source
  Plain text file Minus.php Class Class source
  Plain text file Mod.php Class Class source
  Plain text file Mul.php Class Class source
  Plain text file NotEqual.php Class Class source
  Plain text file NotIdentical.php Class Class source
  Plain text file Plus.php Class Class source
  Plain text file Pow.php Class Class source
  Plain text file ShiftLeft.php Class Class source
  Plain text file ShiftRight.php Class Class source
  Plain text file Smaller.php Class Class source
  Plain text file SmallerOrEqual.php Class Class source
  Plain text file Spaceship.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Expr  /  Cast  
File Role Description
  Plain text file Array_.php Class Class source
  Plain text file Bool_.php Class Class source
  Plain text file Double.php Class Class source
  Plain text file Int_.php Class Class source
  Plain text file Object_.php Class Class source
  Plain text file String_.php Class Class source
  Plain text file Unset_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Name  
File Role Description
  Plain text file FullyQualified.php Class Class source
  Plain text file Relative.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Scalar  
File Role Description
Files folder imageMagicConst (8 files)
  Plain text file DNumber.php Class Class source
  Plain text file Encapsed.php Class Class source
  Plain text file EncapsedStringPart.php Class Class source
  Plain text file LNumber.php Class Class source
  Plain text file MagicConst.php Class Class source
  Plain text file String_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Scalar  /  MagicConst  
File Role Description
  Plain text file Class_.php Class Class source
  Plain text file Dir.php Class Class source
  Plain text file File.php Class Class source
  Plain text file Function_.php Class Class source
  Plain text file Line.php Class Class source
  Plain text file Method.php Class Class source
  Plain text file Namespace_.php Class Class source
  Plain text file Trait_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Stmt  
File Role Description
Files folder imageTraitUseAdaptation (2 files)
  Plain text file Break_.php Class Class source
  Plain text file Case_.php Class Class source
  Plain text file Catch_.php Class Class source
  Plain text file ClassConst.php Class Class source
  Plain text file ClassLike.php Class Class source
  Plain text file ClassMethod.php Class Class source
  Plain text file Class_.php Class Class source
  Plain text file Const_.php Class Class source
  Plain text file Continue_.php Class Class source
  Plain text file DeclareDeclare.php Class Class source
  Plain text file Declare_.php Class Class source
  Plain text file Do_.php Class Class source
  Plain text file Echo_.php Class Class source
  Plain text file ElseIf_.php Class Class source
  Plain text file Else_.php Class Class source
  Plain text file EnumCase.php Class Class source
  Plain text file Enum_.php Class Class source
  Plain text file Expression.php Class Class source
  Plain text file Finally_.php Class Class source
  Plain text file Foreach_.php Class Class source
  Plain text file For_.php Class Class source
  Plain text file Function_.php Class Class source
  Plain text file Global_.php Class Class source
  Plain text file Goto_.php Class Class source
  Plain text file GroupUse.php Class Class source
  Plain text file HaltCompiler.php Class Class source
  Plain text file If_.php Class Class source
  Plain text file InlineHTML.php Class Class source
  Plain text file Interface_.php Class Class source
  Plain text file Label.php Class Class source
  Plain text file Namespace_.php Class Class source
  Plain text file Nop.php Class Class source
  Plain text file Property.php Class Class source
  Plain text file PropertyProperty.php Class Class source
  Plain text file Return_.php Class Class source
  Plain text file StaticVar.php Class Class source
  Plain text file Static_.php Class Class source
  Plain text file Switch_.php Class Class source
  Plain text file Throw_.php Class Class source
  Plain text file TraitUse.php Class Class source
  Plain text file TraitUseAdaptation.php Class Class source
  Plain text file Trait_.php Class Class source
  Plain text file TryCatch.php Class Class source
  Plain text file Unset_.php Class Class source
  Plain text file UseUse.php Class Class source
  Plain text file Use_.php Class Class source
  Plain text file While_.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Node  /  Stmt  /  TraitUseAdaptation  
File Role Description
  Plain text file Alias.php Class Class source
  Plain text file Precedence.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  NodeVisitor  
File Role Description
  Plain text file CloningVisitor.php Class Class source
  Plain text file FindingVisitor.php Class Class source
  Plain text file FirstFindingVisitor.php Class Class source
  Plain text file NameResolver.php Class Class source
  Plain text file NodeConnectingVisitor.php Class Class source
  Plain text file ParentConnectingVisitor.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  Parser  
File Role Description
  Plain text file Multiple.php Class Class source
  Plain text file Php5.php Class Class source
  Plain text file Php7.php Class Class source
  Plain text file Tokens.php Class Class source

  Files folder image Files (1546)  /  vendor  /  nikic  /  php-parser  /  lib  /  PhpParser  /  PrettyPrinter  
File Role Description
  Plain text file Standard.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  
File Role Description
Files folder imagemanifest (5 files, 1 directory)
Files folder imageversion (4 files, 1 directory)

  Files folder image Files (1546)  /  vendor  /  phar-io  /  manifest  
File Role Description
Files folder imagesrc (3 files, 3 directories)
  Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file composer.lock Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (1546)  /  vendor  /  phar-io  /  manifest  /  src  
File Role Description
Files folder imageexceptions (10 files)
Files folder imagevalues (21 files)
Files folder imagexml (16 files)
  Plain text file ManifestDocumentMapper.php Class Class source
  Plain text file ManifestLoader.php Class Class source
  Plain text file ManifestSerializer.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  manifest  /  src  /  exceptions  
File Role Description
  Plain text file ElementCollectionException.php Class Class source
  Plain text file Exception.php Class Class source
  Plain text file InvalidApplicationNameException.php Class Class source
  Plain text file InvalidEmailException.php Class Class source
  Plain text file InvalidUrlException.php Class Class source
  Plain text file ManifestDocumentException.php Class Class source
  Plain text file ManifestDocumentLoadingException.php Class Class source
  Plain text file ManifestDocumentMapperException.php Class Class source
  Plain text file ManifestElementException.php Class Class source
  Plain text file ManifestLoaderException.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  manifest  /  src  /  values  
File Role Description
  Plain text file Application.php Class Class source
  Plain text file ApplicationName.php Class Class source
  Plain text file Author.php Class Class source
  Plain text file AuthorCollection.php Class Class source
  Plain text file AuthorCollectionIterator.php Class Class source
  Plain text file BundledComponent.php Class Class source
  Plain text file BundledComponentCollection.php Class Class source
  Plain text file BundledComponentCollectionIterator.php Class Class source
  Plain text file CopyrightInformation.php Class Class source
  Plain text file Email.php Class Class source
  Plain text file Extension.php Class Class source
  Plain text file Library.php Class Class source
  Plain text file License.php Class Class source
  Plain text file Manifest.php Class Class source
  Plain text file PhpExtensionRequirement.php Class Class source
  Plain text file PhpVersionRequirement.php Class Class source
  Plain text file Requirement.php Class Class source
  Plain text file RequirementCollection.php Class Class source
  Plain text file RequirementCollectionIterator.php Class Class source
  Plain text file Type.php Class Class source
  Plain text file Url.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  manifest  /  src  /  xml  
File Role Description
  Plain text file AuthorElement.php Class Class source
  Plain text file AuthorElementCollection.php Class Class source
  Plain text file BundlesElement.php Class Class source
  Plain text file ComponentElement.php Class Class source
  Plain text file ComponentElementCollection.php Class Class source
  Plain text file ContainsElement.php Class Class source
  Plain text file CopyrightElement.php Class Class source
  Plain text file ElementCollection.php Class Class source
  Plain text file ExtElement.php Class Class source
  Plain text file ExtElementCollection.php Class Class source
  Plain text file ExtensionElement.php Class Class source
  Plain text file LicenseElement.php Class Class source
  Plain text file ManifestDocument.php Class Class source
  Plain text file ManifestElement.php Class Class source
  Plain text file PhpElement.php Class Class source
  Plain text file RequiresElement.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  version  
File Role Description
Files folder imagesrc (6 files, 2 directories)
  Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (1546)  /  vendor  /  phar-io  /  version  /  src  
File Role Description
Files folder imageconstraints (9 files)
Files folder imageexceptions (6 files)
  Plain text file BuildMetaData.php Class Class source
  Plain text file PreReleaseSuffix.php Class Class source
  Plain text file Version.php Class Class source
  Plain text file VersionConstraintParser.php Class Class source
  Plain text file VersionConstraintValue.php Class Class source
  Plain text file VersionNumber.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  version  /  src  /  constraints  
File Role Description
  Plain text file AbstractVersionConstraint.php Class Class source
  Plain text file AndVersionConstraintGroup.php Class Class source
  Plain text file AnyVersionConstraint.php Class Class source
  Plain text file ExactVersionConstraint.php Class Class source
  Plain text file GreaterThanOrEqual...rsionConstraint.php Class Class source
  Plain text file OrVersionConstraintGroup.php Class Class source
  Plain text file SpecificMajorAndMi...rsionConstraint.php Class Class source
  Plain text file SpecificMajorVersionConstraint.php Class Class source
  Plain text file VersionConstraint.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phar-io  /  version  /  src  /  exceptions  
File Role Description
  Plain text file Exception.php Class Class source
  Plain text file InvalidPreReleaseSuffixException.php Class Class source
  Plain text file InvalidVersionException.php Class Class source
  Plain text file NoBuildMetaDataException.php Class Class source
  Plain text file NoPreReleaseSuffixException.php Class Class source
  Plain text file UnsupportedVersion...traintException.php Class Class source

  Files folder image Files (1546)  /  vendor  /  phpunit  
File Role Description
Files folder imagephp-code-coverage (4 files, 1 directory)
Files folder imagephp-file-iterator (4 files, 2 directories)
Files folder imagephp-invoker (4 files, 1 directory)
Files folder imagephp-text-template (4 files, 2 directories)
Files folder imagephp-timer (4 files, 2 directories)
Files folder imagephpunit (9 files, 2 directories)

  Files folder image Files (1546)  /  vendor  /  phpunit  /  php-code-coverage  
File Role Description
Files folder imagesrc (5 files, 6 directories)
  Accessible without login Plain text file ChangeLog-9.2.md Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file README.md Example Example script

  Files folder image Files (1546)  /  vendor  /  phpunit  /  php-code-coverage  /  src  
File Role Description
Files folder imageDriver (6 files)
Files folder image