Transformers PHP 通过利用预先演习的转换器模型简化了文本和图像处理任务。它支持无缝集成文本的 NLP 功能,并支持 PHP 运用程序中的分类和工具检测等图像干系任务。
Transformers PHP 拥有一系列强大的功能,旨在增强 PHP 环境中的文本和图像处理能力:
Transformer 架构:受 Vaswani 等人的“把稳力便是你所须要的统统”的启示,Transformers PHP 利用自我把稳力机制实现高效的文本处理。自然措辞处理运用:从翻译到情绪剖析,Transformers PHP 可轻松知足各种 NLP 任务。图像运用:Transformers PHP 支持 PHP 运用程序中的分类和工具检测等图像干系任务。模型可访问性:在 Hugging Face 等平台上访问大量预演习模型,无需进行大量演习即可简化开拓。架构多样性:从 BERT、GPT 或 T5 等架构中进行选择,每个架构都针对特界说务量身定制,确保最佳性能。Transformers PHP 弥合了 PHP 与高等 NLP 之间的差距,为开拓职员供应了履行 AI 驱动办理方案的无与伦比的机会。NSDT工具推举: Three.js AI纹理开拓包 - YOLO合成数据天生器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开拓包 - 3D模型在线减面 - STL模型在线切割
1、Transformers PHP 和 ONNX 运行时Transformers PHP 的核心在于它与 ONNX 运行时的集成,ONNX 运行时是一种高性能 AI 引擎,旨在高效实行深度学习模型。利用外部函数接口 (FFI) 机制,Transformers PHP 无缝连接 ONNX 运行时,可在 PHP 环境中以闪电般的速率实行 Transformer 模型。
那么,ONNX 运行时到底是什么?ONNX(开放神经网络交流)的核心是一种表示深度学习模型的开放格式,可促进各种框架之间的互操作性。 ONNX Runtime 由 Microsoft 开拓,是一款专为 ONNX 模型构建的跨平台高性能引擎。它为跨不同硬件平台(包括 CPU、GPU 和专用加速器)高效实行神经网络模型供应了强大的支持。
通过 FFI 机制将 ONNX Runtime 集成到 Transformers PHP 中带来了几个关键上风:
性能:ONNX Runtime 针对速率和效率进行了优化,确保在 PHP 运用程序中快速推理 Transformer 模型。这意味着更快的相应韶光和更高的整体性能,这对付实时或高吞吐量运用程序至关主要。硬件加速:利用 ONNX Runtime 的功能,Transformers PHP 可以利用当代 CPU 和 GPU 上可用的硬件加速功能。这许可并行打算和优化资源利用率,从而进一步提高性能。互操作性:通过遵照 ONNX 格式,ONNX Runtime 确保与各种深度学习框架兼容,包括 PyTorch 和 TensorFlow。这种互操作性有助于将在不同框架中演习的 Transformer 模型无缝集成到 Transformers PHP 运用程序中。可扩展性:ONNX Runtime 旨在跨各种硬件配置高效扩展,从单个 CPU 到大型分布式系统。这种可扩展性确保 Transformers PHP 可以处理不同的事情负载并适应不断变革的性能哀求。总之,通过 FFI 机制将 ONNX Runtime 与 Transformers PHP 集成为 PHP 生态系统中的 AI 驱动运用程序打开了无限可能。开拓职员可以放心地利用 Transformer 模型的强大功能和多功能性,由于他们知道它们由能够供应卓越结果的高性能 AI 引擎支持。
2、开始利用 Transformers PHP首先创建一个新目录并进入新的空目录:
mkdir example-appcd example-app
你可以安装这个包:
composer require codewithkyrian/transformers
在实行命令期间,系统会讯问你是否启用并运行 ankane/onnxruntime 包的 composer 插件,以下载 PHP 的 ONNXRuntime 二进制文件。我的建议是回答 y(是的):
Do you trust "codewithkyrian/onnxruntime-downloader-plugin" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]
这样,composer 将下载并安装 vendor/ 文件夹中的所有依赖项,并自动下载 ONNX 运行时,因此只需运行 composer require codewithkyrian/transformers 。
末了的 ONNX Runtime Downloader 插件非常大略,它会自动触发 ONNX Runtime 的下载,这要归功于 ONNX Runtime PHP 包。
3、第一个例子:感情剖析安装包后,你就可以开始利用它了。你可以创建一个新的 PHP 文件,个中包含自动加载文件,实例化 Transformers 类,然后利用所需的功能初始化管道。
<?php// 001 requiring the autoload file from vendorrequire './vendor/autoload.php';// 002 importing the Transformers classuse Codewithkyrian\Transformers\Transformers;// 003 importing the pipeline functionuse function Codewithkyrian\Transformers\Pipelines\pipeline;// 004 initializing the Transformers class setting the cache directory for modelsTransformers::setup()->setCacheDir('./models')->apply();// 005 initializing a pipeline for sentiment-analysis$pipe = pipeline('sentiment-analysis');// 006 setting the list of sentences to analyze$feedbacks = [ 'The quality of tools in the PHP ecosystem has greatly improved in recent years', "Some developers don't like PHP as a programming language", 'I appreciate Laravel as a framework', 'Laravel is a framework that improves my productivity', 'Using an outdated version of Laravel is not a good practice', 'I love Laravel',];echo PHP_EOL.'⭐⭐⭐ SENTIMENT ANALYSIS ⭐⭐⭐'.PHP_EOL.PHP_EOL;// 007 looping thrgouh the sentencesforeach ($feedbacks as $input) { // 008 calling the pipeline function $out = $pipe($input); // 009 using the output of the pipeline function $icon = $out['label'] === 'POSITIVE' ? ($out['score'] > 0.9997 ? '' : ' ') : ' '; echo $icon.' '.$input.PHP_EOL;}echo PHP_EOL;
在上面的代码示例中:
001 须要供应商供应的自动加载文件;002 导入 Transformers 类;003 导入管道函数;004 初始化 Transformers 类,设置模型的缓存目录;005 初始化感情剖析管道;006 设置要剖析的句子列表;007 循环遍历句子;008 调用管道函数;009 利用管道函数的输出。在示例中,我们利用了感情剖析,这要归功于以下行:
$pipe = pipeline('sentiment-analysis');
pipeline() 函数有一个逼迫参数,即定义将利用哪些功能的任务:
特色提取:特色提取是机器学习和旗子暗记处理中的一个过程,个华夏始数据被转换成一组故意义的特色,可用作机器学习算法的输入。这些特色是数据中与当前任务干系的特定特色或模式的表示。特色提取有助于降落数据的维度,专注于最主要的方面,并通过为机器学习算法供应更干系和更具区分性的信息来提高其性能。此过程常日用于图像识别、自然措辞处理和音频旗子暗记处理等任务。感情剖析:感情剖析是确定和分类一段文本中表达的感情基调或感情的过程。ner:NER 代表命名实体识别,这是一种自然措辞处理任务,涉及识别文本中的命名实体并将其归类为预定义种别,例如人名、组织、地点、韶光表达、数量、货币代价、百分比等。问答:机器学习中的问答是根据给定高下文或知识库自动天生对用户提出的自然措辞问题的准确回答的任务。添补掩码:添补掩码是一种自然措辞处理任务,个中演习模型来预测句子中被掩码的单词或短语,常日用于基于转换器的措辞模型(如 BERT)中,用于文本完成或填写缺失落信息等任务。择要:摘假如将较长的文本压缩为较短版本的过程,同时保留其关键信息和含义。翻译:指将文本从一种措辞(xx)转换为另一种措辞(yy)的过程。文本天生:文本天生是利用机器学习模型或算法自动天生连贯且高下文干系的文本内容的过程。这意味着你可以选择上述任务之一,Transformers PHP 将根据所选任务在本地下载(并缓存)相应的模型。一旦模型下载完毕(下载到通过 Transformer 类的 setCacheDir() 方法定义的缓存目录),你就可以多次实行该脚本,而无需互联网连接,也无需调用任何 API。
4、另一个示例:图像天生文本功能除了强大的文本处理功能外,Transformers PHP 还通过供应一个大略的界面来利用预先演习的模型,从而简化了图像转文本处理。
只需几行代码,就可以天生文本描述。让我们看一个基本示例:
<?php// 001 requiring the autoload file from vendorrequire './vendor/autoload.php';// 002 importing the Transformers classuse Codewithkyrian\Transformers\Transformers;// 003 importing the pipeline functionuse function Codewithkyrian\Transformers\Pipelines\pipeline;// 004 initializing the Transformers class setting the cache directory for modelsTransformers::setup()->setCacheDir('./models')->apply();// 005 initializing a pipeline for image-to-text$pipeline = pipeline('image-to-text');// 006 executing the image to text task$result = $pipeline('https://a.storyblok.com/f/165058/4758x3172/7b1727dcf9/tiffany-nutt-0clfreinppm-unsplash.jpg/m/800x1400:4010x3010');echo $result[0]["generated_text"] . PHP_EOL;
此示例的输出为:
a bicycle is parked on a sidewalk near a wall
这种功能对付为视障用户天生图像的文本描述、天生标题的内容以及在网站开拓中提高 SEO 非常有用。
因此,利用 Transformers PHP,你可以有效地管理和天生文本内容以及处理图像,使其成为适用于各种运用程序的多功能工具。
原文链接:Transformers PHP - BimAnt