def make_scores_lstm(my_rnn, query, answers, emb_size=768, hidden_size=64): query_embs = bc.encode((clean_punct(cleanhtml(query))).split()) tensor_query_embs = torch.tensor(query_embs) all_query_hidden, (last_query_hidden, last_query_state) = my_rnn( tensor_query_embs.unsqueeze(0)) print("all_query_hidden") #last_answers_hidden = [my_rnn(torch.tensor(bc.encode((clean_punct(cleanhtml(answer))).split())).unsqueeze(0))[1] for answer in answers] last_answers_hidden = [] for ind, answer in enumerate(answers): print(ind) last_answers_hidden.append( my_rnn(create_tensor(answer).unsqueeze(0))[1][0]) aa = last_query_hidden.detach().numpy() print("last_answers_hidden") bb = last_answers_hidden[0].detach().numpy() #print ("bb shape", bb.shape) scores = [ cosine_similarity( last_query_hidden.squeeze(0).detach().numpy(), last_answer_hidden.squeeze(0).detach().numpy())[0][0] for last_answer_hidden in last_answers_hidden ] return scores
def create_tensor(strng): #print ((clean_punct(cleanhtml(strng))).split()) arr = bc.encode((clean_punct(cleanhtml(strng))).split()) return torch.tensor(np.copy(arr))