首页 » PHP教程 » php共享库技巧_PHP大年夜模型深度进修库TransformersPHP

php共享库技巧_PHP大年夜模型深度进修库TransformersPHP

访客 2024-11-05 0

扫一扫用手机浏览

文章目录 [+]

TransformersPHP被设计为在功能上等同于Python库,同时仍旧保持相同的性能和易用性。
这个库建立在Hugging Face的Transformers库之上,该库供应了100多种措辞的数千个预演习模型。
它被设计成一个大略易用的库,供PHP开拓职员利用类似于Python库的API。
这些模型可用于各种任务,包括文本天生、择要、翻译等。

TransformersPHP利用ONNX运行时来运行模型,这是开放神经网络交流(ONNX)模型的高性能评分引擎。
您可以轻松地将任何PyTorch或TensorFlow模型转换为ONNX,并利用TensorOptimum与TransformersPHP一起利用。

php共享库技巧_PHP大年夜模型深度进修库TransformersPHP

官方文档:https://codewithkyrian.github.io/transformers-php

php共享库技巧_PHP大年夜模型深度进修库TransformersPHP
(图片来自网络侵删)

利用预演习模型

TransformersPHP背后的核心思想是让你利用已经演习好的模型。
“预演习模型”只是从大量文本数据中得到和学习的机器学习模型。
它们已经准备好开箱即用,可以实行各种任务。
利用TransformersPHP,这些模型直接在PHP运用程序中运行。
这意味着您不须要利用外部做事或API来处理数据。
统统都发生在本地,在你的做事器上。

什么是ONNX?

ONNX引擎看起来彷佛是一个繁芜的术语,但它实质上是一个高性能引擎,旨在推断和加速机器学习模型。
开放神经网络交流(ONNX)格式是该引擎的核心,是机器学习模型的通用格式。
这意味着无论最初利用哪个框架来演习模型-无论是PyTorch,TensorFlow,JAX,乃至是经典的机器学习库,如scikit-learn,LightGBM,XGBoost等-可以转换为ONNX格式。
这种格式可以在不同的平台上高效运行,包括PHP运用程序。

灵感

TransformersPHP的开拓受到Xenova/transformers项目的启示,Xenova/transformers项目也是一个类似的利用ONNX运行时的JavaScript项目。
这种共享的灵感意味着大多数为Xenova/transformers准备的模型也与TransformersPHP兼容。
它在机器学习天下和PHP开拓之间创建了一个无缝的桥梁,许可您在运用程序中利用强大的模型。

快速浏览

Python

from transformers import pipeline# Allocate a pipeline for sentiment-analysispipe = pipeline('sentiment-analysis')out = pipe('I love transformers!')# [{'label': 'POSITIVE', 'score': 0.999806941}]

PHP

use function Codewithkyrian\Transformers\Pipelines\pipeline;// Allocate a pipeline for sentiment-analysis$pipe = pipeline('sentiment-analysis');$out = $pipe('I love transformers!');// [{'label': 'POSITIVE', 'score': 0.999808732}]

Javascript

import {pipeline} from '@xenova/transformers';// Allocate a pipeline for sentiment-analysislet pipe = await pipeline('sentiment-analysis');let out = await pipe('I love transformers!');// [{'label': 'POSITIVE', 'score': 0.999817686}]

你可以看到它在不同措辞之间是多么的相似,如果你在它们之间切换或学习一种新的措辞,这会让你更随意马虎。

特性本地模型实行。
直接在PHP项目中支配大量NLP模型,无需依赖外部API即可实现措辞理解、文本天生等功能。
易于集成。
轻松地将高等AI功能嵌入到您的PHP运用程序中,通过文本分类和实体识别等功能对其进行增强。
针对性能进行了优化。
享受快速处理和高效的资源利用,许可跨任何规模的项目供应可扩展的AI办理方案,而不会捐躯速率或性能。
安装

您可以通过Composer安装库。
这是安装库的推举行法:

composer require codewithkyrian/transformers

TransformersPHP所需的所有共享库都将自动安装。
如果由于某种缘故原由失落败,您可以利用以下命令手动安装它们:

./vendor/bin/transformers install

解释:共享库是特定于平台的,因此在实行代码的目标平台上运行composerrequire或transformers install命令非常主要。
在大多数情形下,这将是您的开拓机器或支配运用程序的做事器,但如果您利用Docker容器,请在该容器中运行composer require命令。

便是这样!
现在您已经准备好在PHP运用程序中利用TransformersPHP了。

预下载模型

默认情形下,当您第一次利用管道或预演习模型时,TransformersPHP会自动从Hugging Face模型中央检索模型权重(ONNX格式)。
为了节省韶光并增强用户体验,最好提前下载ONNX型号权重,尤其是对付较大的型号。
TransformersPHP包含一个命令行工具来促进这一点:

./vendor/bin/transformers download <model_name_or_path> [<task>] [options]

例如,要下载Xenova/bert-base-uncased模型,您可以运行:

./vendor/bin/transformers download Xenova/bert-base-uncased基本用法

开始利用TransformersPHP的最快和最直接的方法是通过管道API。
如果您熟习Python的Transformers库,您会创造这种方法非常相似。
它是一个用户友好的API,将模型与特界说务的所有必要预处理和后处理步骤捆绑在一起。

创建管道

要创建管道,您须要指定要利用它的任务。
例如,如果你想利用一个管道进行情绪剖析,你可以创建一个这样的管道:

use function Codewithkyrian\Transformers\Pipelines\pipeline;$classifier = pipeline('sentiment-analysis');

第一次运行时,TransformersPHP将下载并缓存默认的预演习模型,以进行即时感情剖析。
这个初始设置可能须要一点韶光,但随后的运行会快得多。

利用不同的模型

每个任务都有一个用于推理的默认模型。
但是,您可以指定要利用的其他模型:

$classifier = pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');

您还可以指定是否应利用量化模型(默认值为true):

$classifier = pipeline('sentiment-analysis', quantized: false);

利用流水线

现在你已经有了管道,利用它就像调用一个函数一样大略。
只需供应您想要剖析的文本即可:

$result = $classifier('I love TransformersPHP!');

你会得到情绪剖析结果

['label' => 'POSITIVE', 'score' => 0.9995358059835]

你不限于一次一个文本,你也可以通报一个文本数组来得到多个剖析:

$results = $classifier([ 'I love TransformersPHP!', 'I hate TransformersPHP!',]);

输出将为您供应每个文本的情绪评分

[ ['label' => 'POSITIVE', 'score' => 0.99980061678407], ['label' => 'NEGATIVE', 'score' => 0.99842234422764],]

标签:

相关文章