Как загрузить файлы .model и .emb, созданные из вложений Node2Vec в python?

#machine-learning #graph #networkx #word2vec #embedding

#машинное обучение #График #networkx #word2vec #встраивание

Вопрос:

Я создал вложения узлов с использованием Node2Vec. Я сохранил модель и вложения узлов, используя следующий код-

 EMBEDDING_FILENAME = './embeddings.emb'
EMBEDDING_MODEL_FILENAME = './embeddings.model'

# Save embeddings for later use
model.wv.save_word2vec_format(EMBEDDING_FILENAME)

# Save model for later use
model.save(EMBEDDING_MODEL_FILENAME)

 

Я хочу использовать эти сохраненные модели .model и .emb файлы для создания вложений edge.

Как я могу загрузить эти вложения файлов / моделей / узлов?

Ответ №1:

Как указано в этом ответе от автора библиотеки Node2Vec,

Node2Vec.fit метод возвращает экземпляр gensim.models.Word2Vec , вы можете увидеть в документации, как сохранить и загрузить модель.

Есть два варианта, в зависимости от того, как вы сохранили свою модель. Смотрите Ниже Фрагмент для этого:

 from gensim.models import Word2Vec

# Load model after Node2Vec.save
model = Word2Vec.load(PATH_TO_YOUR_SAVED_MODEL)

# Load model after Node2Vec.wv.save_word2vec_format
model = Word2Vec.wv.load_word2vec_format(PATH_TO_YOUR_SAVED_WORD2VEC_FORMAT)
 

Обратите внимание, что вызов Word2Vec.load метода with (fname=PATH_TO_YOUR_SAVED_MODEL) (как в документации) вызывает ошибку, потому что, по-видимому, правильное имя параметра — fname_or_handle as for Word2Vec.save .