Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASTE batch_predict error #326

Open
Kensvin28 opened this issue Jun 29, 2023 · 2 comments
Open

ASTE batch_predict error #326

Kensvin28 opened this issue Jun 29, 2023 · 2 comments

Comments

@Kensvin28
Copy link

Kensvin28 commented Jun 29, 2023

PyABSA Version (Required)

pyabsa 2.3.1
transformers 4.29.1
torch 2.1.0.dev20230628+cu121

ABSADataset Version (Required if you use integrated datasets)

2.0

Code To Reproduce (Required)

from pyabsa import available_checkpoints
from pyabsa import TaskCodeOption

ckpts = available_checkpoints(
TaskCodeOption.Aspect_Sentiment_Triplet_Extraction,
show_ckpts=True
)
print(ckpts)
triplet_extractor = ASTE.AspectSentimentTripletExtractor(
checkpoint="english"
)
triplet_extractor.batch_predict(
target_file=ASTE.ASTEDatasetList.Laptop14,
print_result=True,
save_result=False,
ignore_error=True,
eval_batch_size=16,
)

Full Console Output (Required)


TypeError Traceback (most recent call last)
Cell In[7], line 1
----> 1 triplet_extractor.batch_predict(
2 target_file=ASTE.ASTEDatasetList.Laptop14,
3 print_result=True,
4 save_result=False,
5 ignore_error=True,
6 eval_batch_size=16,
7 )

File c:\Users\PAVILION\AppData\Local\Programs\Python\Python310\lib\site-packages\pyabsa\tasks\AspectSentimentTripletExtraction\prediction\predictor.py:187, in AspectSentimentTripletExtractor.batch_predict(self, target_file, print_result, save_result, ignore_error, **kwargs)
183 raise FileNotFoundError("Can not find inference datasets!")
185 self.dataset.prepare_infer_dataset(target_file, ignore_error=ignore_error)
--> 187 return self._run_prediction(
188 save_path=save_path if save_result else None, print_result=print_result
189 )

File c:\Users\PAVILION\AppData\Local\Programs\Python\Python310\lib\site-packages\pyabsa\tasks\AspectSentimentTripletExtraction\prediction\predictor.py:228, in AspectSentimentTripletExtractor._run_prediction(self, save_path, print_result, **kwargs)
225 all_results = []
226 with torch.no_grad():
227 data_loader = DataIterator(
--> 228 self.dataset.convert_examples_to_features(), self.config
229 )
230 if len(self.dataset) > 1:
231 it = tqdm(data_loader, desc="Predicting")

File c:\Users\PAVILION\AppData\Local\Programs\Python\Python310\lib\site-packages\pyabsa\tasks\AspectSentimentTripletExtraction\dataset_utils\data_utils_for_inference.py:155, in ASTEInferenceDataset.convert_examples_to_features(self, **kwargs)
153 for data in it:
154 try:
--> 155 feat = Instance(
156 self.tokenizer,
157 data,
158 self.config.post_vocab,
159 self.config.deprel_vocab,
160 self.config.postag_vocab,
161 self.config.syn_post_vocab,
162 self.config,
163 )
164 _data.append(feat)
165 except IndexError as e:

File c:\Users\PAVILION\AppData\Local\Programs\Python\Python310\lib\site-packages\pyabsa\tasks\AspectSentimentTripletExtraction\dataset_utils\aste_utils.py:246, in Instance.init(self, tokenizer, sentence_pack, post_vocab, deprel_vocab, postag_vocab, synpost_vocab, config)
244 for row in range(start, end + 1):
245 for col in range(s, e + 1):
--> 246 self.word_pair_pos[row][col] = postag_vocab.stoi.get(
247 tuple(sorted([self.postag[i], self.postag[j]]))
248 )
250 """4. generate synpost index of the word pair"""
251 self.word_pair_synpost = torch.zeros(
252 config.max_seq_len, config.max_seq_len
253 ).long()

TypeError: can't assign a NoneType to a torch.LongTensor

Describe the bug

Cannot run batch_predict on the Aspect_Sentiment_Triplet_Extraction.ipynb tutorial provided.

Expected behavior

Should be able to run batch_predict()

@yangheng95
Copy link
Owner

Sorry for late response, this is a confirmed bug in data preprocessing to be fixed in future, depending on my schedule.

@NareshNandakumarJHU
Copy link

Hello, I seem to have the same error. Has this been fixed yet?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants