Привет Кабир,
Большое спасибо за эти понятные уроки, я многому научился. Но у меня есть один вопрос. Я выполнил код, который вы опубликовали на github, и выполнил точную настройку, а затем импортировал настроенную модель для выполнения прогнозов. Но когда я пытаюсь напечатать cls_head, я получаю разные (случайные) значения при каждом выполнении. Я делаю что-то неправильно ?
Вот код:
import torch from transformers import BertModel, BertTokenizer model_state_dict = torch.load('./Models/sstcls_1_freeze_False.dat') bert_model = BertModel.from_pretrained('bert-base-uncased',state_dict = model_state_dict) bert_model.eval() tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') T = 12 sentence = 'I really enjoyed this movie.' tokens = tokenizer.tokenize(sentence) tokens = ['[CLS]'] + tokens + ['[SEP]'] #Step 3: Pad tokens padded_tokens = tokens + ['[PAD]' for _ in range(T - len(tokens))] attn_mask = [1 if token != '[PAD]' else 0 for token in padded_tokens] seg_ids = [0 for _ in range(len(padded_tokens))] #Optional! token_ids = tokenizer.convert_tokens_to_ids(padded_tokens) token_ids = torch.tensor(token_ids).unsqueeze(0) #Shape : [1, 12] attn_mask = torch.tensor(attn_mask).unsqueeze(0) #Shape : [1, 12] seg_ids = torch.tensor(seg_ids).unsqueeze(0) #Shape : [1, 12] hidden_reps, cls_head = bert_model(token_ids, attention_mask = attn_mask,\ token_type_ids = seg_ids) print(cls_head)
заранее спасибо