#pytorch #text-classification #imdb #fast-ai
Вопрос:
Я пишу классификатор imdb, используя API fastai. У меня возникли проблемы с созданием Ученика. Любая помощь была бы очень кстати. Спасибо.
версии: fastai = 2.5.0 pytorch = 1.7.1
Вот код для создания ученика
imdb_clas = DataBlock(
blocks=(TextBlock.from_df('review', seq_len=72), CategoryBlock),
get_x=ColReader('review'), get_y=ColReader('sentiment'))
dls = imdb_clas.dataloaders(imdb, bs=5)
class IMDBModel(Module):
def __init__(self, vocab_size, embed_dim, num_class):
self.embedding = nn.Embedding(vocab_size, embed_dim)
self.fc = nn.Linear(embed_dim, num_class)
self.init_weights()
def init_weights(self):
initrange = 0.5
self.embedding.weight.data.uniform_(-initrange, initrange)
self.fc.weight.data.uniform_(-initrange, initrange)
self.fc.bias.data.zero_()
def forward(self, text):
embedded = self.embedding(text)
return self.fc(embedded)
learn = Learner(dls, IMDBModel(len(vocabs), 64, num_classes), metrics=[accuracy], loss_func=CrossEntropyLossFlat())
learn.fit_one_cycle(n_epoch=1)
ValueError: Expected input batch_size (16725) to match target batch_size (5).
Не удалось устранить эту ошибку.