Infersent: Kesalahan saat menjalankan encoder/play.ipynb

Dibuat pada 7 Jul 2017  ·  3Komentar  ·  Sumber: facebookresearch/InferSent

Ketika saya menjalankan baris berikut:

embeddings = model.encode(kalimat, bsize=128, tokenize=False, verbose=True)
print('kalimat nb dikodekan : {0}'.format(len(embeddings)))

Saya mendapatkan kesalahan berikut:

Nb kata disimpan : 128201/130068 (98,56 %)

RuntimeError Traceback (panggilan terakhir terakhir)
di dalam()
----> 1 embeddings = model.encode(kalimat, bsize=128, tokenize=False, verbose=True)
2 print('kalimat nb dikodekan : {0}'.format(len(embeddings)))

/home/leena/Downloads/InferSent-master/encoder/models.py dalam encode (diri, kalimat, bsize, tokenize, verbose)
177 jika self.use_cuda:
178 batch = batch.cuda()
--> 179 batch = self.forward((batch, lengths[stidx:stidx + bsize])).data.cpu().numpy()
180 embeddings.append(batch)
181 embeddings = np.vstack(embeddings)

/home/leena/Downloads/InferSent-master/encoder/models.py di depan (mandiri, sent_tuple)
48
49 # Hapus pengurutan berdasarkan panjang
---> 50 idx_unsort = torch.from_numpy(idx_unsort).cuda() jika self.use_cuda lain torch.from_numpy(idx_sort)
51 sent_output = sent_output.index_select(1, Variabel(idx_unsort))
52

RuntimeError: from_numpy mengharapkan np.ndarray tetapi mendapat torch.LongTensor

Detail versi:
'3.6.0 | Kustom Anaconda (64-bit)| (default, 23 Des 2016, 12:22:00) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]'
Di dalam [ ]:
obor-0.1.12.post2

Komentar yang paling membantu

Ada bug kecil. Nomor baris 50 seharusnya:

idx_unsort = torch.from_numpy(idx_unsort).cuda() if self.use_cuda else torch.from_numpy(idx_unsort)

dari pada,

idx_unsort = torch.from_numpy(idx_unsort).cuda() if self.use_cuda else torch.from_numpy(idx_sort)

Dalam kondisi lain, seharusnya torch.from_numpy(idx_unsort) daripada torch.from_numpy(idx_sort) . idx_sort adalah obor.LongTensor. Lihat nomor baris. 41.

Semua 3 komentar

Ada bug kecil. Nomor baris 50 seharusnya:

idx_unsort = torch.from_numpy(idx_unsort).cuda() if self.use_cuda else torch.from_numpy(idx_unsort)

dari pada,

idx_unsort = torch.from_numpy(idx_unsort).cuda() if self.use_cuda else torch.from_numpy(idx_sort)

Dalam kondisi lain, seharusnya torch.from_numpy(idx_unsort) daripada torch.from_numpy(idx_sort) . idx_sort adalah obor.LongTensor. Lihat nomor baris. 41.

Memang, terima kasih Wasi. Dipecahkan dalam 9357c2b6c6eb38cd5bdfd69ce6ab88a39973a399 (bug yang berasal dari komit baru-baru ini 260bfd45c915529dd5ab75a55d3aa3b94432dee0).

Ini bekerja sekarang. Terima kasih.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

dami23 picture dami23  ·  9Komentar

AmoghM picture AmoghM  ·  7Komentar

hitzkrieg picture hitzkrieg  ·  3Komentar

wasiahmad picture wasiahmad  ·  13Komentar

DrappierTechnologies picture DrappierTechnologies  ·  7Komentar