Я обучил две модели fastText, контролируемые предварительно обученными данными.
import fasttext
tcn_model = fasttext.train_supervised('tcn_word_list.txt', dim=300, pretrainedVectors='muse/data/cc.zh.300.vec')
tcn_model.save_model('tcn_model.bin')
en_model = fasttext.train_supervised('en_word_list.txt', dim=300, pretrainedVectors='muse/data/cc.en.300.vec')
en_model.save_model('en_model.bin')
После этого, когда я попытался выровнять эти две модели с помощью MUSE, я получил следующую ValueError.
Посмотрев, где произошла ошибка, я выполнил следующий тест, который прошел без ошибок.
test = fasttext.load_model('tcn_model.bin')
a = [test.get_word_vector(w) for w in test.get_words()[:2]]
b = [test.get_word_vector(w)[None] for w in test.get_words()[:2]]
emba = torch.from_numpy(np.concatenate(a, 0))
embb = torch.from_numpy(np.concatenate(b, 0))