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

devtools/2024/11/17 0:03:06/

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/devtools/134565.html

相关文章

STM32芯片EXIT外部中断的配置与原理以及模板代码(标准库)

配置EXIT外部中断其实就是把GPIO刀NVIC的各个外设配置好 第一步:配置RCC,把我们涉及到的外设的时钟都打开 (此处EXTI是默认打开的,而NVIC是内核外设无需配置) 第二步:配置GPIO,选择端口为输入模式 第三…

NoSQL 数据库有哪些类型?

目录 NoSQL 是什么? SQL和 NoSQL 有什么区别? NoSOL数据库有什么优势? NoSQL 数据库有哪些类型? NoSQL 是什么? NoSQL(Not Only SQL 的缩写)泛指非关系型的数据库,主要针对的是键值、文档以及图形类型数据存储。并且,NoS…

蓝队知识浅谈(上)

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:蓝队基础之网络七层杀伤链_哔哩哔哩_bilibili 本文主要分享一些蓝队相关的知识。 首先我们先来了解一下什么是蓝队? 蓝队是信息安全领…

redis7.x源码分析:(2) adlist双向链表

链表是一种常用的数据结构(如果不了解,请先学习数据结构),由于c语言本身没有实现标准的链表库,所以redis自己实现了一个双向链表。 双向链表在redis内部的使用非常的多,几乎所有模块中都有用到。 下面看下它…

docker Network(网络)

docker Network docker为什么需要网络管理?docker网络架构简介常见的网络类型docker网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls 网络详解do…

1、使用vscode+eide+stm32cubeMx开发stm32

步骤1:在vscode中安装如下的插件 步骤2:点击Embedded IDE,点击“新建项目”-----空项目-----Cortex-M项目。 步骤3:输入项目名,回车后会要制定保存路径,此时就是一个已项目名命名的文件夹。 步骤4&#xff…

厦门凯酷全科技有限公司正规吗?

在这个短视频风起云涌的时代,抖音作为电商领域的黑马,正以惊人的速度改变着消费者的购物习惯与品牌的市场策略。在这场变革中,厦门凯酷全科技有限公司凭借其专业的抖音电商服务,在众多服务商中脱颖而出,成为众多品牌信…

聊聊Flink:Flink的运行时架构

一、运行时架构 上一篇我们可以看到Flink的核心组件的Deploy层,该层主要涉及了Flink的部署模式,Flink支持多种部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2)。 Local(本地&am…