PHP大模型深度学习库TransformersPHP 安装体验

embedded/2024/11/20 18:09:51/

TransformersPHP是一个工具包,PHP开发人员可以轻松地将机器学习魔法添加到他们的项目中。
管方地址:TransformersPHP
github地址:GitHub - CodeWithKyrian/transformers-php: Transformers PHP is a toolkit for PHP developers to add machine learning magic to their projects easily.

一,环境准备:

php8.1+ 

php.ini开启以下

php">extension = ffi
ffi.enable = true
opcache.jit = tracing

环境变量加入php路径

安装 IMAGICK  (可选) 
安装可参考
PHP Imagick 去背景 (抠图专用)_imagemagick删除png白色背景-CSDN博客

二:安装Composer

进入Composer官网英文站点(https://getcomposer.org)。
根据你的操作系统下载对应的安装文件。例如,在Windows下,你可以使用Composer-Setup.exe进行安装。
运行安装文件,按照提示进行安装。

三,安装库
您可以通过Composer安装库。这是安装库的推荐方法:

php">composer require codewithkyrian/transformers

安装失败可选composer国内源 比如修改为阿里云源
 

php">composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

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

php">./vendor/bin/transformers install

以上方法如果还不行可以直接到github上下载覆盖
下载地址 Releases · CodeWithKyrian/transformers-php · GitHub

根据自己系统的类型下载  覆盖到 /vendor/codewithkyrian/transformers/

四,预下载模型
  这里先固定下载一个模型;其他模型怎么弄可以参考官方提供的文档Getting Started | TransformersPHP
模型名称 Xenova\distilbert-base-uncased-finetuned-sst-2-english
下载地址 https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english/tree/main

把里面的文件全部下载下来 存放位置 你的项目目录 \transformers-cache\models\Xenova\distilbert-base-uncased-finetuned-sst-2-english
复制 onnx 中的onnx_tokenizer.json 到上级目录并改为tokenizer.json
我的目录


五,测试
上面的准备工作完成可以开始测试了
index.php

php">
require_once 'vendor/autoload.php';use Codewithkyrian\Transformers\Transformers;
use Codewithkyrian\Transformers\Utils\ImageDriver;
use function Codewithkyrian\Transformers\Pipelines\pipeline;Transformers::setup()->setCacheDir(dirname(__FILE__).'/transformers-cache/models') // Set the default cache directory for transformers models. Defaults to `.transformers-cache/models`->setRemoteHost('https://huggingface.co') // Set the remote host for downloading models. Defaults to `https://huggingface.co`->setRemotePathTemplate('{model}/resolve/{revision}/{file}') // Set the remote path template for downloading models. Defaults to `{model}/resolve/{revision}/{file}`//->setAuthToken('xxxxxxxxxxxxxxxxxxx') // Set the auth token for downloading models. Defaults to `null`->setUserAgent('transformers-php/{version}') // Set the user agent for downloading models. Defaults to `transformers-php/{version}`//->setImageDriver(ImageDriver::IMAGICK) // Set the image driver for processing images. Defaults to `IMAGICK'->apply(); // Apply the configuration//情感分析$classifier = pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english');$out = $classifier('I ate a lot of delicious food today');print_r($out);

上面的setAuthToken 默认可以屏蔽 其他的可以根据实际情况来
setImageDriver 建议设置 ImageDriver::GD
返回结果

php">Array ( [label] => POSITIVE [score] => 0.99985635280609 )


目前支持的模型类型(纯翻译)


更多模型下载地址
https://huggingface.co
https://modelscope.cn/
不足之处请多指教。

An Internet of PHP – Timo Tijhof


http://www.ppmy.cn/embedded/139141.html

相关文章

2个word内容合并

要在Java中实现将两个Word文档的内容合并,可以使用Apache POI库来操作Word文档。 下面2个word合并包括以下内容的合并和处理: 1、段落、标题合并以及样式处理 2、表格合并以及样式处理 3、单元个内容样式处理 4、带word模板占位符内容处理 步骤&#xff…

go语言中的切片含义和用法详解

Go 语言中的切片(slice)是引用类型,它提供了一种灵活的方式去操作一系列具有相同类型的数据。与数组不同,切片的长度不是固定的,可以动态地增长或缩小。切片在 Go 语言中非常常用,因为它们提供了高效且方便…

【读书笔记-《网络是怎样连接的》- 7】Chapter3_2 路由器

本篇继续介绍路由器及其转发过程。 1 路由器内部结构 路由器内部结构图如图所示。 即主要包含左侧的包转发模块和右侧的端口模块。转发模块负责查找包的发送目的地,端口模块完成包的发送。通过安装不同的硬件,转发模块不仅可以支持以太网,也…

无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…

软考之RESTful 架构的特点

RestFul 架构的特点及其在前后端分离中的实现 一、引言 随着互联网应用的快速发展,系统架构也在不断演变。RESTful(Representational State Transfer)架构作为一种广泛应用的设计风格,因其简洁、灵活和可扩展性而受到关注。尤其…

SpringBoot 增量部署发布(第2版)

一、背景介绍 书接上一篇《SpringBoot 增量部署发布_springboot增量部署-CSDN博客》,上一篇内容实现了将静态资源与jar分离,但是即使是打包成**-exec.jar,解压jar文件,可以看到里面包含了static,resource目录&#xf…

3-KSQL

查看KSQL帮助 在我们使用命令行来对KES进行操作的时候,我们一般是使用KSQL命令行工具来对KES进行操作 学习一个命令的使用方法,是必然少不了我们去查看它的帮助文档 [kingbasenode1 ~]$ ksql --help ksql是Kingbase 的交互式客户端工具。 使用方法:ks…

STM32G4的数模转换器(DAC)的应用

目录 概述 1 DAC模块介绍 2 STM32Cube配置参数 2.1 参数配置 2.2 项目架构 3 代码实现 3.1 接口函数 3.2 功能函数 3.3 波形源代码 4 DAC功能测试 4.1 测试方法介绍 4.2 波形测试 概述 本文主要介绍如何使用STM32G4的DAC模块功能,笔者使用STM32Cube工具…