Как преобразовать матрицу встраивания в факел. Тензор - PullRequest
0 голосов
/ 18 февраля 2020

Я новичок в pytorch и не знаю, как преобразовать матрицу встраивания в тип torch.Tensor

. У меня есть 240 строк входных текстовых данных, которые я преобразую для встраивания с использованием библиотеки Sentence Transformer, как показано ниже

embedding_model = SentenceTransformer('bert-base-nli-mean-tokens')
features = embedding_model.encode(df.features.values)

Теперь этот features является numpy.ndarray формы (240, 768)

Я определил модель как

class NClassifier(nn.Module):

    def __init__(self, input_dim, embedding_dim, hidden_dim, tagset_size):
        super(NClassifier, self).__init__()
        self.hidden_dim = hidden_dim

        self.word_embeddings = nn.Embedding(input_dim, embedding_dim)

        # The LSTM takes word embeddings as inputs, and outputs hidden states
        # with dimensionality hidden_dim.
        self.lstm = nn.LSTM(embedding_dim, hidden_dim)

        # The linear layer that maps from hidden state space to code space (output clases)
        self.hidden2code = nn.Linear(hidden_dim, tagset_size)

    def forward(self, features):
        embeds = self.word_embeddings(features)
        lstm_out, _ = self.lstm(embeds.view(len(features), 1, -1))
        code_space = self.hidden2code(lstm_out.view(len(features), -1))
        code_scores = F.log_softmax(code_space, dim=1)
        return code_scores


INPUT_DIM = 240
EMBEDDING_DIM = 768
HIDDEN_DIM = 256
OUTPUT_DIM = 34

model = NClassifier(INPUT_DIM, EMBEDDING_DIM, HIDDEN_DIM, OUTPUT_DIM)

Теперь, когда я делаю scores = model(features) Я получаю ошибку, поскольку features НЕ является тензором. Я вижу пример преобразования входных данных в тензор здесь , но мне это не понятно.

Может кто-нибудь помочь, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...