gutenye / ocr

High accurate text detection (OCR) Javascript/Typescript library that runs on Node.js, Browser, React Native and C++. Based on PaddleOCR and ONNX runtime
https://gutenye-ocr.netlify.app/
MIT License
27 stars 2 forks source link

请求一个问题,onnxruntime 底层依赖会自动默认安装cuda,而纯CPU环境不需要,docker精简体积怎么实现pnpm install --onnxruntime-node-install-cuda=skip #3

Closed gowy222 closed 3 months ago

gowy222 commented 4 months ago

https://www.npmjs.com/package/onnxruntime-node

官方文档:npm install onnxruntime-node --onnxruntime-node-install-cuda=skip 但是dockerfile 里面 npx pnpm install --prod --shamefully-hoist 会强制默认安装cuda版本,docker镜像最后很大,纯CPU环境浪费了镜像体积. 所以一直想精简砍掉cuda, 但是怎么都没办法npx pnpm install package.json的时候 自动--onnxruntime-node-install-cuda=skip

  "dependencies": {
    "@gutenye/ocr-node": "^1.3.0",
    "@hapi/hapi": "^21.3.9",
    "async-lock": "^1.4.1",
    "node-fetch": "2"
  },

RUN npm install pnpm -D \
    && npx pnpm install --prod --shamefully-hoist \
    # && npx pnpm rm onnxruntime-node \
    && npx pnpm store prune \
    # && npx pnpm add onnxruntime-node --onnxruntime-node-install-cuda=skip --no-optional --prod --shamefully-hoist \
    # && npx pnpm store prune \

目前测试会直接构建失败, 主要就是--onnxruntime-node-install-cuda=skip 不确定pnpm install package.json的时候参数位置问题

求解.

gutenye commented 3 months ago

fork一下这个repo, 把onnxruntime-node删除, 再发布自己的一个版本"@me/ocr-node"

gutenye commented 3 months ago

或者npm install后删除cuda相关文件