All Projects → rindow → rindow-neuralnetworks

rindow / rindow-neuralnetworks

Licence: BSD-3-Clause License
Neural networks library for machine learning on PHP

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to rindow-neuralnetworks

Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+910.81%)
Mutual labels:  gpu, opencl, gpgpu
Arrayfire Rust
Rust wrapper for ArrayFire
Stars: ✭ 525 (+1318.92%)
Mutual labels:  gpu, opencl, gpgpu
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+918.92%)
Mutual labels:  gpu, opencl, gpgpu
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+9881.08%)
Mutual labels:  gpu, opencl, gpgpu
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+3121.62%)
Mutual labels:  gpu, opencl, gpgpu
Aparapi
The New Official Aparapi: a framework for executing native Java and Scala code on the GPU.
Stars: ✭ 352 (+851.35%)
Mutual labels:  gpu, opencl, gpgpu
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+15186.49%)
Mutual labels:  gpu, opencl, gpgpu
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (+1151.35%)
Mutual labels:  gpu, opencl, gpgpu
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (+91.89%)
Mutual labels:  gpu, opencl, gpgpu
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+2405.41%)
Mutual labels:  gpu, opencl, gpgpu
Pytorch Kaldi
pytorch-kaldi is a project for developing state-of-the-art DNN/RNN hybrid speech recognition systems. The DNN part is managed by pytorch, while feature extraction, label computation, and decoding are performed with the kaldi toolkit.
Stars: ✭ 2,097 (+5567.57%)
Mutual labels:  dnn, recurrent-neural-networks, rnn
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+4335.14%)
Mutual labels:  gpu, opencl, gpgpu
Rmdl
RMDL: Random Multimodel Deep Learning for Classification
Stars: ✭ 375 (+913.51%)
Mutual labels:  dnn, recurrent-neural-networks, rnn
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (+867.57%)
Mutual labels:  gpu, opencl, gpgpu
Compute Runtime
Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver
Stars: ✭ 593 (+1502.7%)
Mutual labels:  gpu, opencl, gpgpu
Cekirdekler
Multi-device OpenCL kernel load balancer and pipeliner API for C#. Uses shared-distributed memory model to keep GPUs updated fast while using same kernel on all devices(for simplicity).
Stars: ✭ 76 (+105.41%)
Mutual labels:  gpu, opencl, gpgpu
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+521.62%)
Mutual labels:  gpu, opencl, gpgpu
rectdetect
Realtime rectangle detector with GPGPU
Stars: ✭ 51 (+37.84%)
Mutual labels:  opencl, gpgpu
Amplifier.NET
Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
Stars: ✭ 142 (+283.78%)
Mutual labels:  opencl, gpgpu
CLU
The OpenCL Utility library
Stars: ✭ 18 (-51.35%)
Mutual labels:  opencl, gpgpu

Rindow Neural networks

Master: Build Status

The Rindow Neural networks is a high-level neural networks library for deep learning.

The goal is to make it easy to write network models in PHP, just like Keras on Python.

To find out more please visit our website now!

If you use the rindow_openblas php extension, you can calculate at speed close to CPU version of tensorflow. The trained model trained on your laptop is available on general web hosting. You can also benefit from deep learning on popular PHP web hosting services.

It supports GPU acceleration using OpenCL. This is an experimental attempt. The speed is not very fast yet. Only compatible with the Windows version.

It has the following features.

  • A high-level neural networks description
  • Cooperation with high-speed operation library
  • Designing for scalability of operation library
  • Heterogeneous model distribution

Rindow Neural networks usually work with:

  • Rindow Math Matrix: scientific matrix operation library
  • Rindow OpenBLAS extension: PHP extension of OpenBLAS
  • Rindow Math Plot: Visualize machine learning results
  • Rindow OpenCL extension: PHP extension of OpenCL
  • Rindow CLBlast extension: PHP extension of CLBlast PHP binding.

Requires

  • PHP 7.2, 7.3, 7.4 and 8.0.

Install

Install the Rindow Neural networks

Please set up with composer.

$ composer require rindow/rindow-neuralnetworks
$ composer require rindow/rindow-math-plot

Download and setup the rindow_openblas extension

Training will take a lot of time if left untouched. It is strongly recommended that you set up the rindow_openblas extension in php for speed.

Expansion of memory used

You need to increase the maximum amount of memory used by PHP depending on the amount of data used.

When training image data, do not be surprised that the amount of sample data is so large that it will be the maximum memory capacity that you cannot usually imagine.

For example, change the memory_limit item of php.ini as follows.

memory_limit = 8G

Describing the model

Source code for simple image learning is provided in the sample directory.

Execute as follows.

$ RINDOW_MATH_PLOT_VIEWER=/some/bin/dir/png-file-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

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

GPU/OpenCL support

Download binaries and setup PHP extension and libraries.

Set environment variable.

$ RINDOW_NEURALNETWORKS_BACKEND=rindowclblast
$ export RINDOW_NEURALNETWORKS_BACKEND
$ cd samples
$ php basic-image-clasification.php
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].