https://github.com/rindow/rindow-neuralnetworks

Neural networks library for machine learning on PHP

https://github.com/rindow/rindow-neuralnetworks

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary

Keywords

cnn convolutional-neural-networks deep-learning dnn gpgpu gpu machine-learning ml neural-network openblas opencl php php8 recurrent-neural-networks rnn transformers
Last synced: 5 months ago · JSON representation

Repository

Neural networks library for machine learning on PHP

Basic Info
Statistics
  • Stars: 82
  • Watchers: 8
  • Forks: 12
  • Open Issues: 6
  • Releases: 30
Topics
cnn convolutional-neural-networks deep-learning dnn gpgpu gpu machine-learning ml neural-network openblas opencl php php8 recurrent-neural-networks rnn transformers
Created about 6 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Rindow Neural networks

Status: Build Status Downloads Latest Stable Version License

Rindow Neural Network Library is a high-level neural network library for deep learning.

Overview

Like Keras in Python, you can easily write network models in PHP.

Website: - Rindow project: https://rindow.github.io/ - Rindow Neural Networks: https://rindow.github.io/neuralnetworks

Speeding up

The external libraries rindow-matlib and OpenBLAS can be used to perform calculations at speeds close to CPU versions of TensorFlow. Models trained on laptops are available on popular web hosting. Deep learning is also available on popular PHP web hosting services.

GPU acceleration

It supports GPU acceleration using OpenCL. You can also use GPUs other than n-vidia if they support OpenCL. It can also be used with an integrated GPU installed in your laptop.

Linked library

  • Rindow Math Matrix: Scientific calculation library
  • Rindow Matlib: A fast matrix calculation library suitable for machine learning
  • OpenBLAS: Fast Matrix Arithmetic Library
  • Rindow Math Plot: Visualize machine learning results
  • OpenCL: GPU computational programming interface
  • CLBlast: High-speed matrix calculation library using OpenCL

Required environment

  • PHP 8.1, 8.2, 8.3, 8.4
  • For PHP 7.x, 8.0 environments, use Release 1.x.

Install

Click here for detailed instructions.

Please prepare in advance:

  • Install php-cli, php-gd, and php-sqlite3 in advance using the method appropriate for each operating system.
  • Install composer

Please install using Composer. shell $ composer require rindow/rindow-neuralnetworks $ composer require rindow/rindow-math-plot

If you use it as is, it will take time to learn. In order to increase speed, we strongly recommend that you install a high-speed calculation library.

Please set up an external library.

Prebuilt binaries: - Rindow-matlib: https://github.com/rindow/rindow-matlib/releases - OpenBLAS: https://github.com/OpenMathLib/OpenBLAS/releases

Please set up according to your environment. Click here for detailed instructions.

shell $ composer require rindow/rindow-math-matlibffi

memory expansion:

Depending on the amount of data you use, you may need to increase the maximum amount of memory that PHP uses.

Especially when dealing with image data, the amount of sample data becomes enormous and requires more memory capacity than expected.

For example, change memory_limit in php.ini as follows.

memory_limit = 8G

Model description

The sample directory provides source code for simple image learning.

Please run as follows:

shell $ RINDOW_MATH_PLOT_VIEWER=/path/to/viewer $ export RINDOW_MATH_PLOT_VIEWER $ mkdir samples $ cd samples $ cp ../vendor/rindow/rindow-neuralnetworks/samples/basic-image-clasification.php . $ php basic-image-clasification.php

*Please specify an appropriate viewer for RINDOWMATHPLOT_VIEWER. (ex. viewnior)

If done correctly, a graph of the learning process will be displayed.

GPU/OpenCL support

Please download the binary. - CLBlast: https://github.com/CNugteren/CLBlast/releases

Set up the binary files according to your environment. Detailed instructions here https://github.com/rindow/rindow-math-matrix-matlibffi/

Please set environment variables.

shell $ RINDOW_NEURALNETWORKS_BACKEND=rindowclblast::GPU $ export RINDOW_NEURALNETWORKS_BACKEND $ cd samples $ php basic-image-classification.php

*For RINDOWNEURALNETWORKSBACKEND, you can specify not only a name such as rindowclblast, but also the OpenCL device type and a set of Platform-ID and Device-ID. For example, "rindowclblast::GPU" or "rindowclblast::0,0"

Owner

  • Name: Rindow
  • Login: rindow
  • Kind: organization

PHP Framework/Machine Learning/Mathematics Libraries

GitHub Events

Total
  • Create event: 5
  • Issues event: 10
  • Release event: 4
  • Watch event: 3
  • Issue comment event: 30
  • Push event: 7
  • Pull request event: 4
  • Fork event: 2
Last Year
  • Create event: 5
  • Issues event: 10
  • Release event: 4
  • Watch event: 3
  • Issue comment event: 30
  • Push event: 7
  • Pull request event: 4
  • Fork event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 49
  • Total Committers: 2
  • Avg Commits per committer: 24.5
  • Development Distribution Score (DDS): 0.163
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Yuichi Ishikawa y****s 41
Yuichi Ishikawa y****b@g****m 8

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 12
  • Total pull requests: 2
  • Average time to close issues: 17 days
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 3.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 2
  • Average time to close issues: 17 days
  • Average time to close pull requests: about 2 hours
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 5.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • zhuruicheng (6)
  • chegmarco1989 (4)
  • sysmaya (1)
  • Kali-Zoidberg (1)
Pull Request Authors
  • yuichiis (2)
  • zhuruicheng (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • packagist 11,062 total
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 30
  • Total maintainers: 1
packagist.org: rindow/rindow-neuralnetworks

Neural networks library for deep learning

  • License: BSD-3-Clause
  • Latest release: 2.2.3
    published 11 months ago
  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 11,062 Total
Rankings
Stargazers count: 2.4%
Forks count: 4.7%
Average: 12.9%
Downloads: 16.5%
Dependent packages count: 19.1%
Dependent repos count: 21.9%
Maintainers (1)
Funding
Last synced: 6 months ago

Dependencies

composer.json packagist
  • ext-pdo_sqlite * development
  • rindow/rindow-math-plot ~1.0.6 development
  • php ^8.0|^8.1
  • rindow/rindow-math-matrix ~1.2.0
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • php-actions/composer v6 composite
  • php-actions/phpunit v3 composite