fleet的save_inference_model()方法,内部实现传参个数出错
Created by: yangzhifeng-stat
fluid 1.5.2 我的代码中调用 fleet.save_inference_model( dirname=pass_dir, feeded_var_names=['sparse_data', 'dense_data'], target_vars=subnet.output, executor=exe, )
来保存模型,报错信息是: Traceback (most recent call last): File "train.py", line 243, in share_param=False, File "train.py", line 120, in train place=place) File "train.py", line 227, in train_loop executor=exe, File "/home/disk1/normandy/maybach/app-user-20191022143349-53416/workspace/1/2/3/python/lib/python2.7/site-packages/paddle/fluid/incubate/fleet/parameter_server/pslib/init.py", line 186, in save_inference_model self._fleet_ptr.save_model(dirname) TypeError: save_model(): incompatible function arguments. The following argument types are supported: 1. (self: paddle.fluid.core_avx.Fleet, arg0: unicode, arg1: int) -> None Invoked with: <paddle.fluid.core_avx.Fleet object at 0x7fd7fd1d9ca8>, 'xuzhang_show-cov_1'
在paddle.fluid.incubate.fleet.parameter_server.pslib/init.py中,这个方法定义为 def save_inference_model(self, executor, dirname, feeded_var_names=None, target_vars=None, main_program=None, export_for_deployment=True): """ save pserver model called from a worker """ self._fleet_ptr.save_model(dirname)
在内部实现Fleet.py中,这个文件我也不知道从哪来的,pycharm找到的这个: def save_model(self, arg0, arg1): # real signature unknown; restored from doc """ save_model(self: paddle.fluid.core_avx.Fleet, arg0: unicode, arg1: int) -> None """ pass 可见,调用时只传入了一个参数,但是这个方法需要两个参数,所以报错了。