SememePSO-Attack icon indicating copy to clipboard operation
SememePSO-Attack copied to clipboard

AttributeError: 'Model' object has no attribute 'predict'

Open 89x98 opened this issue 3 years ago • 0 comments

作者你好,当我运行SNLI文件夹下面的AD_dpso_sem.py文件时,会出现这个错误,完整报错如下

Traceback (most recent call last):
  File "D:/z/SememePSO-Attack-master/SNLI/AD_dpso_sem.py", line 80, in <module>
    attack_result = adversary.attack(s1, s2, target,pos_tags)
  File "D:\z\SememePSO-Attack-master\SNLI\attack_dpso_sem.py", line 180, in attack
    orig_score=self.predict(x1,x_orig)
  File "D:\z\SememePSO-Attack-master\SNLI\attack_dpso_sem.py", line 30, in predict
    tem=self.model.predict(np.array([x1]),np.array([sentence]))[0]
AttributeError: 'Model' object has no attribute 'predict'

当我运行AD_dpso_sem_bert.py时,会出现另一个错误,完整报错如下,报错的位置与上面是一致的,原因却不相同

Traceback (most recent call last):
  File "D:/z/SememePSO-Attack-master/SNLI/AD_dpso_sem_bert.py", line 83, in <module>
    attack_result = adversary.attack(s1, s2, target,pos_tags)
  File "D:\z\SememePSO-Attack-master\SNLI\attack_dpso_sem.py", line 180, in attack
    orig_score=self.predict(x1,x_orig)
  File "D:\z\SememePSO-Attack-master\SNLI\attack_dpso_sem.py", line 30, in predict
    tem=self.model.predict(np.array([x1]),np.array([sentence]))[0]
TypeError: predict() takes 2 positional arguments but 3 were given

对于第一个错误,我尝试查找了Model下的方法,在model_nli.py里找到了一个pred,不知道这个pred是不是第一个里面不存在的predict,但是我修改为pred后会弹出新的错误,两个文件各自提示的错误又不一样,所以作者可以抽空修复一下这个问题吗

89x98 avatar Nov 30 '21 11:11 89x98