paddlepaddle NLP模型部署问题

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'

运行结果及报错内容
  • Running analysis (ir graph build pass]
  • Running analysis [ir graph cLean pass]
  • Running analysis (ir analysis pass]
  • Running analysis [ir parans sync among devices passi
  • Running analysis (adjust cudnn workspace size pass]
  • Running analysis [inference op replace pass]
  • Running analysis [memory optimize pass]
  • Running analysis [ir graph to program pass]
我的解答思路和尝试过的方法

因为对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代码哪里报错了

https://ask.csdn.net/questions/7761100?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-1-7761100-ask-7772529.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-1-7761100-ask-7772529.pc_feed_download_top3ask

要么是模型的问题,要么是输入的问题(文件名不对),建议各自认真检查下。

本地直接复现bug呗

应该是显卡驱动或者网卡出问题吧

重新模型保存下,关注模型保存的时候是否报错或者一些警告,然后在重新export

定位一下transformer_web_client.py的错误,截几张图看看

KeyError: 'save_infer_model/scale_0.tmp_1' 这个是你模型保存的时候出了问题

可以自检一下代码