veka-server / onnx-php

用于在 PHP 中使用 onnxruntime 的库

0.2 2024-08-10 12:25 UTC

This package is auto-updated.

Last update: 2024-09-10 14:01:28 UTC


README

Total Downloads Latest Stable Version License Documentation

ONNX-PHP 是一个 PHP 库,允许加载和执行 ONNX 格式的 AI 模型。为此,库使用 FFI 直接与 onnxruntime 交互。

该库提供简单灵活的 API,以将 AI 模型集成到您的 PHP 应用程序中。

安装

您可以通过 Composer 安装此库。

composer require veka-server/onnx-php

PHP 预先条件

  • PHP >= 8.1
  • FFI
  • GD

可用的任务

视觉

自然语言处理

测试过的模型

图像分类

物体检测

使用示例

require_once(__DIR__.'/../vendor/autoload.php');

/** Définir le répertoire où la bibliothèque sera téléchargée. Si ce n'est pas défini, elle sera stockée dans le répertoire vendor */
Onnx\Library::setFolder(__DIR__.'/../');

/** Télécharger la bibliothèque si elle n'est pas trouvée */
Onnx\Library::install();

/** Instancier Vision */
$ia = new Onnx\Task\Vision(config:[
    // Liste des étiquettes pour les classifications. Les indices correspondent aux identifiants des classes.
    'tags' => [ 
        0 => "Naked", 
        1 => "Safe"  
    ],
    // Facteur de mise à l'échelle des valeurs des pixels de l'image. 
    // Ce facteur est utilisé pour normaliser les valeurs des pixels, souvent de 0 à 1.
    'rescale_factor' => 0.00392156862745098, // 1/255 pour convertir les valeurs de pixels de [0, 255] à [0, 1]
    
    // Format des canaux de couleur de l'image. 'rgb' signifie que l'image est en format Red, Green, Blue.
    'format' => 'rgb',
    
    // Hauteur de l'image en pixels attendu par le modèle. Les images seront automatiquement redimensionné à cette dimmension.
    'height' => 224,
    
    // Largeur de l'image en pixels attendu par le modèle. Les images seront automatiquement redimensionné à cette dimmension.
    'width' => 224,
    
    // La forme des données d'entrée pour le modèle. 'bhwc' signifie que les données sont en format :
    // batch (nombre d'images), height (hauteur des images), width (largeur des images), channel (nombre de canaux de couleur).
    'shape' => 'bhwc', 
    
    // Chemin vers le modèle ONNX. Il doit pointer vers le fichier du modèle pré-entraîné.
    'modelNameOrPath' => __DIR__.'/../models/model_suko_nsfw.onnx' 
]);

/** Charger les modèles */
$ia->loadModel();

/** Analyse de l'image */
$tags = $ia->getTags($img);

var_dump($tags);

贡献

欢迎贡献!

如果您有建议、发现错误或想添加功能或模型,请毫不犹豫地打开 issue 或 pull request。

许可证

本项目采用 MIT 许可证。有关更多详细信息,请参阅 LICENSE 文件。

感谢

非常感谢 ONNX 社区和 onnxruntime 的所有贡献者所做的杰出工作。这个库是从