paddlepaddle NLP 模型部署的时候。运行客户端:
/transformer_web_client.py
请求发过去,服务端报错:KeyError: 'save_infer_model/scale_0.tmp_1'
1.按照paddleNLP-example-machine_translation-transfer 中的示例,先训练出来了模型,如下2个文件
2.执行export_model.py,将这个模型转换成infer_model
生成如下3个文件:
3.执行export_serving_model.py 将模型转换成server和client两个文件夹:
server:
4.运行服务端:
运行transformer_web_server.py,成功:
5.运行客户端:
/transformer_web_client.py
请求发过去,服务端报错:KeyError: 'save_infer_model/scale_0.tmp_1'
因为对paddlepaddle和机器学习不是很了解,所以遇到了很多问题。希望找人咨询。
有没有人付费帮忙解决这个问题?
这个一般是模型的节点层名报错,你看下是不是并行多显卡训练导致了你的模型加载之后是多了一个,类似pytorch的DDP,经过这个之后原本的网络名是model.scale_0就会变成model.model.scale_0。
所以要么是export_serving_model.py 导出模型的时候就出现了问题,只不过你没注意到;要么是你设置多显卡推理和单显卡的区别。最后一种就是transformer_web_client.py的报错了(一般这种可能性比较小,毕竟是开源项目,如果有问题应该会有其他人遇到的,你可以去issuse下面搜索一下这个报错看看有无其他人遇到或者解决方案)
这个scale_0的layer貌似是输入命名,你是有修改模型吗?,当然也有可能是save路径有些问题,你是用transformer训的翻译模型?麻烦发下infer_model下的文件,我看下。还有生成的client和server目录
3.执行export_serving_model.py 将模型转换成server和client两个文件夹:
5.运行客户端:
/transformer_web_client.py
请求发过去,服务端报错:KeyError: 'save_infer_model/scale_0.tmp_1'
模型保存的时候出了问题吧。
看看transformer_web_client.py代码哪里报错了
要么是模型的问题,要么是输入的问题(文件名不对),建议各自认真检查下。
本地直接复现bug呗
应该是显卡驱动或者网卡出问题吧
重新模型保存下,关注模型保存的时候是否报错或者一些警告,然后在重新export
定位一下transformer_web_client.py的错误,截几张图看看
KeyError: 'save_infer_model/scale_0.tmp_1' 这个是你模型保存的时候出了问题
可以自检一下代码