harranali/tensorflow-serving-php-client

该软件包的官方仓库似乎已不存在,因此该软件包已被冻结。

v1.0.1 2018-04-21 13:26 UTC

This package is not auto-updated.

Last update: 2023-04-01 22:12:56 UTC


README

tensorflow-serving-php-client 是一个与框架无关的库,可以帮助您从 php 应用程序 调用由 tensorflow serving 提供的机器学习模型。该库受到了 tfserving-python-predict-client Python 客户端的启发。

要求

tensorflow-serving-php-client 需要 grpc 扩展,您可以通过运行以下命令进行安装:

sudo pecl install grpc

安装

您可以通过在项目根目录下运行以下命令来使用 composer 安装该库:

composer require harranali/tensorflow-serving-php-client

用法

在 Laravel 中的示例

use Harranali\Tfserving\Client;
use Harranali\Tfserving\PredictMessage;
use Harranali\Tfserving\DataTypes;

Route::get('/', function () {
    $host = '192.168.99.100:9000';
    $modelName = 'my_model';
    $modelVersion = 1;
    $input = [12345];

    $tfsClient = new Client($host, $modelName, $modelVersion);

    $predictmessage = new PredictMessage;
    $predictmessage->setInputTensorName('a')
                   ->setInputTensorType(DataTypes::DT_INT32)
                   ->setInputTensorValue($input);

    $response = $tfsClient->predict($predictmessage);
    return $response;
});
  • 首先 导入以下类
use Harranali\Tfserving\Client;
use Harranali\Tfserving\PredictMessage;
use Harranali\Tfserving\DataTypes;
  • 其次 通过提供 host:portmodelNamemodelVersion 参数来初始化客户端
$hostPort = 'localhost:9000';
$modelName = 'simple';
$modelVersion = 1;
$tfsClient = new Client($hostPort, $modelName, $modelVersion);
  • 第三 准备 predict 请求消息对象
$predictmessage = new PredictMessage;
$predictmessage->setInputTensorName('a')
               ->setInputTensorType(DataTypes::DT_INT32)
               ->setInputTensorValue([1]);

以下是类 DataTypes 中所有可用的数据类型列表

DataTypes::DT_FLOAT
DataTypes::DT_DOUBLE
DataTypes::DT_INT32
DataTypes::DT_UINT8
DataTypes::DT_INT16
DataTypes::DT_INT8
DataTypes::DT_STRING
DataTypes::DT_COMPLEX64
DataTypes::DT_INT64
DataTypes::DT_BOOL
DataTypes::DT_QINT8
DataTypes::DT_QUINT8
DataTypes::DT_QINT32
DataTypes::DT_BFLOAT16
DataTypes::DT_QINT16
DataTypes::DT_QUINT16
DataTypes::DT_UINT16
DataTypes::DT_COMPLEX128
DataTypes::DT_HALF
DataTypes::DT_RESOURCE
DataTypes::DT_FLOAT_REF
DataTypes::DT_DOUBLE_REF
DataTypes::DT_INT32_REF
DataTypes::DT_UINT8_REF
DataTypes::DT_INT16_REF
DataTypes::DT_INT8_REF
DataTypes::DT_STRING_REF
DataTypes::DT_COMPLEX64_REF
DataTypes::DT_INT64_REF
DataTypes::DT_BOOL_REF
DataTypes::DT_QINT8_REF
DataTypes::DT_QUINT8_REF
DataTypes::DT_QINT32_REF
DataTypes::DT_BFLOAT16_REF
DataTypes::DT_QINT16_REF
DataTypes::DT_QUINT16_REF
DataTypes::DT_UINT16_REF
DataTypes::DT_COMPLEX128_REF
DataTypes::DT_HALF_REF
DataTypes::DT_RESOURCE_REF
  • 第四 调用服务器
$response = $tfsClient->predict($predictmessage);
return $response;

贡献

欢迎所有类型的贡献。

许可

tensorflow-serving-php-client 根据 MIT 许可 许可。