jind11/TextFooler

Problems in the process of reproducing the code

Opened this issue · 5 comments

Thank you for open-sourcing the code!
In the process of reproducing, the following problems appeared:
Error(s) in loading state_dict for BertForSequenceClassification:
size mismatch for classifier.weight: copying a param with shape torch.Size([4, 768]) from checkpoint, the shape in current model is torch.Size([2, 768]).
size mismatch for classifier.bias: copying a param with shape torch.Size([4]) from checkpoint, the shape in current model is torch.Size([2]).

I haven't solved it, can you help me? Thanks!

Hi, this error came out when you were loading the model parameters. Could you re-check the number of labels in the model configuration (currently you are using 2)? It should match the model parameters, which is 4 for the number of labels.

dp0d commented

Thank you for the code!
I will appreciate it if you could explain the logic of the version of python, cause I can't run the code successfully. When I turn to run the setup.py file in the ESIM folder, message tells me to use python3.7. Could you please run the code again and help me with the base environment to run?

As mentioned in the requirements.txt file, the python version should be 3.6

dp0d commented

Thank you for your answer sincerely, however, I still can't run this code. Python3.7 is required, I have tried all the environment foundation like docker, pyenv, conda, it didn't work. Maybe I should try to change the code for my machine to run. Anyway, thanks agin.
WD7N3F6Z G}5% 3(TX$ZTTW

When I wrote this code, I used python 3.6 so I am sure it should work.