cpu部署chatglm 报错No compiled kernel found.

文章描述了一个在使用HuggingFace的Transformers库时遇到的编译问题,编译quantizationkernels失败。用户尝试手动编译并加载kernel以解决这个问题,虽然仍有编译错误,但模型似乎可以使用了。建议是手动编译kernel并指定其路径以加载到量化模型中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

No compiled kernel found.
Compiling kernels : C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels_parallel.c
Compiling gcc -O3 -fPIC -pthread -fopenmp -std=c99 C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels_parallel.c -shared -o C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels_parallel.so
d:/mingw/bin/…/lib/gcc/mingw32/6.3.0/…/…/…/…/mingw32/bin/ld.exe: cannot find -lpthread
collect2.exe: error: ld returned 1 exit status
Compile failed, using default cpu kernel code.
Compiling gcc -O3 -fPIC -std=c99 C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels.c -shared -o C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels.so
Kernels compiled : C:\Users\admin.cache\huggingface\modules\transformers_modules\local\quantization_kernels.so
Cannot load cpu kernel, don’t use quantized model on cpu.

(1)手动编译,在模型path下

gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels_parallel.c -shared -o quantization_kernels_parallel.so
gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels.c -shared -o quantization_kernels.so

(2)然后在原先模型加载后手动加载一下手动编译的kernel


model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()
model = model.quantize(bits=4, kernel_file="Your Kernel Path")

还是会报编译错误,但是已经可以使用了。

### Webpack 编译错误解决方案 当遇到 `webpack compiled with 1 error` 的问题时,通常是因为配置文件、依赖项或者插件版本不匹配引起的。以下是可能的原因以及对应的解决方案。 #### 可能原因一:Webpack 和 html-webpack-plugin 版本不兼容 如果项目中使用的 Webpack 和 html-webpack-plugin 存在版本差异,则可能导致编译失败。例如,在某些情况下,Webpack 5 需要配合 html-webpack-plugin 4 或更高版本才能正常工作[^1]。 **解决办法**: 确认当前项目的 Webpack 和 html-webpack-plugin 是否存在版本冲突。可以通过以下命令查看已安装的版本号: ```bash npm list webpack html-webpack-plugin ``` 如果发现两者版本不一致,可以尝试升级或降级其中之一来实现兼容性。例如,将 Webpack 升级到 5.x 并确保 html-webpack-plugin 使用 4.x 或以上版本。 --- #### 可能原因二:路径配置错误 有时,Webpack 配置中的路径设置不当也会引发类似的错误。比如在开发环境中,`from` 属性指向了一个不存在的目录或静态资源路径有误[^2]。 **解决办法**: 检查并修改相关配置文件(如 `webpack.dev.conf.js`),确认其路径是否正确。例如: ```javascript const path = require('path'); module.exports = { resolve: { alias: { '@': path.resolve(__dirname, 'src') // 此处需调整为实际存在的路径 } }, }; ``` --- #### 可能原因三:缺少必要的依赖包 部分场景下,Webpack 报错可能是由于缺失特定的依赖库造成的。例如 React 项目可能会因为未安装 `path-browserify` 导致构建失败[^3]。 **解决办法**: 安装报错提示中提到的相关依赖包。例如执行以下命令: ```bash npm install path-browserify --save-dev ``` --- #### 可能原因四:Vue 项目依赖版本冲突 对于 Vue 项目而言,尤其是基于旧版框架创建的应用程序,可能存在因 NPM 下载最新依赖而导致的版本冲突情况[^4]。这种情形常见于 Vue 2 应用试图引入 Vue 3 的组件或其他工具链的情况。 **解决办法**: 强制忽略 peerDependencies 警告完成安装过程,但需要注意后续可能出现的功能异常风险。具体操作如下所示: ```bash npm install vue-router@next --legacy-peer-deps ``` 另外也可以通过锁定指定版本的方式规避此类隐患。例如明确声明所需的 vue-router 版本范围: ```json { "dependencies": { "vue-router": "^3.0.0" } } ``` --- ### 总结 针对上述四种可能性逐一排查即可定位根本原因并采取相应措施加以修复。最终目的是让整个构建流程顺畅无阻。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像夏天一样热

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值