rindow/rindow-neuralnetworks

深度学习神经网络库

2.1.1 2024-04-26 00:28 UTC

This package is auto-updated.

Last update: 2024-08-26 01:34:57 UTC


README

状态: 构建状态 下载 最新稳定版本 许可证

Rindow 神经网络库是深度学习的高级神经网络库。

概述

类似于 Python 中的 Keras,您可以使用 PHP 轻松编写网络模型。

网站

加速

外部库 rindow-matlib 和 OpenBLAS 可用于以接近 TensorFlow CPU 版本的计算速度进行计算。在笔记本电脑上训练的模型可在流行的网站托管服务上使用。深度学习也支持流行的 PHP 网站托管服务。

GPU 加速

它支持使用 OpenCL 的 GPU 加速。如果它们支持 OpenCL,您还可以使用 nvidia 以外的 GPU。它还可以与安装在笔记本电脑中的集成 GPU 一起使用。

链接库

  • Rindow Math Matrix: 科学计算库
  • Rindow Matlib: 适用于机器学习的快速矩阵计算库
  • OpenBLAS: 快速矩阵算术库
  • Rindow Math Plot: 可视化机器学习结果
  • OpenCL: GPU 计算编程接口
  • CLBlast: 使用 OpenCL 的高速矩阵计算库

所需环境

  • PHP 8.1, 8.2, 8.3
  • 对于 PHP 7.x, 8.0 环境,请使用 1.x 版本。

安装

请使用 Composer 进行安装。

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

如果您直接使用,将需要花费时间来学习。为了提高速度,我们强烈建议您安装高速计算库。

请设置外部库。

预构建的二进制文件

请根据您的环境进行设置。有关详细说明,请点击这里

$ composer require rindow/rindow-math-matlibffi

内存扩展

根据您使用的数据量,您可能需要增加 PHP 使用的最大内存量。

特别是当处理图像数据时,样本数据量变得巨大,需要比预期更多的内存容量。

例如,按照以下方式更改 php.ini 中的 memory_limit。

memory_limit = 8G

模型描述

示例目录提供了简单图像学习的源代码。

请按以下方式运行

$ 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

*请指定 RINDOW_MATH_PLOT_VIEWER 的适当查看器。

如果正确执行,将显示学习过程的图表。

GPU/OpenCL 支持

请下载二进制文件。

根据您的环境设置二进制文件。详细说明请见https://github.com/rindow/rindow-math-matrix-matlibffi/

请设置环境变量。

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

对于 RINDOW_NEURALNETWORKS_BACKEND,您不仅可以指定名称,如 rindowclblast,还可以指定 OpenCL 设备类型以及一系列 Platform-ID 和 Device-ID。例如,"rindowclblast::GPU" 或 "rindowclblast::0,0"。