Размер тензора A (707) должен соответствовать размеру тензора B (512) в не-синглтонском измерении 1Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Размер тензора A (707) должен соответствовать размеру тензора B (512) в не-синглтонском измерении 1

Сообщение Anonymous »

Я пытаюсь выполнить текстовую классификацию, используя предварительную модель BERT. Я обучил модель в своем наборе данных и на этапе тестирования; Я знаю, что Берт может принять только 512 токенов, поэтому я написал, если бы условие проверил длину испытательного счетания в моем рамке данных. Если это длиннее 512, я разделил предложение на последовательности, каждая последовательность имеет 512 токена. А затем сделайте кодирование токенизатора. Длина Sequence составляет 512, однако, после того, как сделайте токенизация, кодирование длины становится 707, и я получаю эту ошибку. < /P>
The size of tensor a (707) must match the size of tensor b (512) at non-singleton dimension 1

Вот код, который я использовал для выполнения предыдущих шагов:
tokenizer = BertTokenizer.from_pretrained('bert-base-cased', do_lower_case=False)
import math

pred=[]
if (len(test_sentence_in_df.split())>512):

n=math.ceil(len(test_sentence_in_df.split())/512)
for i in range(n):
if (i==(n-1)):
print(i)
test_sentence=' '.join(test_sentence_in_df.split()[i*512::])
else:
print("i in else",str(i))
test_sentence=' '.join(test_sentence_in_df.split()[i*512:(i+1)*512])

#print(len(test_sentence.split())) ##here's the length is 512
tokenized_sentence = tokenizer.encode(test_sentence)
input_ids = torch.tensor([tokenized_sentence]).cuda()
print(len(tokenized_sentence)) #### here's the length is 707
with torch.no_grad():
output = model(input_ids)
label_indices = np.argmax(output[0].to('cpu').numpy(), axis=2)
pred.append(label_indices)

print(pred)


Подробнее здесь: https://stackoverflow.com/questions/643 ... n-singleto
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»