参考文章:https://blog.youkuaiyun.com/2401_84494441/article/details/140173748
《前端与AI融合:打造图片识别应用》
遇到5个问题:
(1)npm install -g @xenova/transformers
报错:
npm error code 1
npm error path D:\nodejs\npm-global\node_modules\@xenova\transformers\node_modules\sharp
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
npm error sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.14.5/libvips-8.14.5-win32-x64.tar.br
npm error sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
npm error sharp: Installation error: aborted
npm error A complete log of this run can be found in: D:\nodejs\npm-cache\_logs\2025-02-12T02_32_48_415Z-debug-0.log
解决:用npm install -g @xenova/transformers --ignore-scripts
忽略错误
(2)huggingface.co网站被封锁了,下载不了模型。
解决:从国内镜像下载:https://hf-mirror.com/Xenova/detr-resnet-50/tree/main
修改代码,从本地加载:
//env.remoteHost='https://huggingface.co/';
env.remoteHost = '/';
(3)模型如果按Xenova/detr-resnet-50/resolve/main放置,执行会报错:Error: An error occurred during model execution: "Missing the following inputs: pixel_mask.
解决:修改代码:
//env.remotePathTemplate='{model}/resolve/{revision}/';
env.remotePathTemplate='{model}/';
(4)无法下载https://cdn.jsdelivr.net/npm/@xenova/transformers@2.7.0/dist/ort-wasm-simd.wasm
解决:修改代码,使用本地的:
env.backends.onnx.wasm.wasmPaths = '/npm/@xenova/transformers/dist/';
可以正常执行了。
感觉不快,我笔电上花了14秒。也有检测错误。
(5)无意中发现,执行一次之后,即使删掉本地Xenova/detr-resnet-50目录,重启前后台,也能执行,那奇怪了,它加载的是哪个预训练模型?缓存到哪里去了?缓存在浏览器的“存储-缓存空间-transformers-cache节点下”
- model_fp16.onnx
- model_quantized.onnx
- model.onnx