Изменение яркости встраивания из-за изменения отступов в размере пакета.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Изменение яркости встраивания из-за изменения отступов в размере пакета.

Сообщение Anonymous »

Я хочу обучить простую нейронную сеть, у которой в качестве параметра embedding_dim:

Код: Выделить всё

class BoolQNN(nn.Module):
def __init__(self, embedding_dim):
super(BoolQNN, self).__init__()
self.fc1 = nn.Linear(embedding_dim, 64)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(64, 1)

def forward(self, question_emb, passage_emb):
combined = torch.cat((question_emb, passage_emb), dim=1)
x = self.fc1(combined)
x = self.relu(x)
x = self.fc2(x)
return torch.sigmoid(x)
Чтобы загрузить данные, я использовал DataLoader с помощью специального Collate_fn.

Код: Выделить всё

train_dataset = BoolQDataset(train_data, pretrained_embeddings)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=16, shuffle=True,collate_fn=collate_fn_padd)

model = BoolQNN(301)
Функция collate_fn_padd выглядит следующим образом:

Код: Выделить всё

def collate_fn_padd(batch):

questions, passages, labels = zip(*batch)

questions = [torch.tensor(q) for q in questions]
passages = [torch.tensor(p) for p in passages]

padded_questions = pad_sequence(questions, batch_first=True, padding_value=0)
padded_passages = pad_sequence(passages, batch_first=True, padding_value=0)

labels = torch.tensor(labels, dtype=torch.float32)

return padded_questions, padded_passages, labels

Проблема: Для каждого пакета, с которым я хочу обучить свою модель, встроенный текст дополняется разной длины (требуется самая длинная последовательность текущего пакета) .
Это означает, что мой размер встраивания/ввода для линейного слоя в моей нейронной сети меняется от партии к партии, хотя я хочу, чтобы размер был одинаковым для каждой партии.
p>
Из-за этого я получаю такие ошибки: Формы mat1 и mat2 не могут быть умножены (16x182 и 301x64)
Есть можно ли настроить функцию collate_fn_pad так, чтобы она дополняла последовательность одинакового размера, независимо от размера пакета?

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

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

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

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

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

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

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