Les modèles Doc2Vec peuvent être volumineux. En particulier, tous les vecteurs de mots utilisés utiliseront 4 octets par dimension, multiplié par deux couches du modèle. Ainsi, un modèle 300 dimension avec un vocabulaire 200000 mot utilisera seulement pour le tableau des vecteurs lui-même:
200,000 vectors * 300 dimensions * 4 bytes/float * 2 layers = 480MB
(. Il y aura une charge supplémentaire pour le dictionnaire stockant des informations vocabulaire)
Tous les vecteurs doc-WILL utilise également 4 octets par dimnsion. Donc, si vous formez un des vecteurs pour un million de doc-tags, le modèle utilisera seulement pour le tableau doc-vecteurs:
1,000,000 vectors * 300 dimensions * 4 bytes/float = 2.4GB
(Si vous utilisez des balises de chaînes arbitraires pour nommer les vecteurs de doc, il » Pour utiliser moins de mémoire lors du chargement (ce qui entraînera également un fichier de stockage plus petit), vous pouvez utiliser un vocabulaire plus petit, former moins de doc-vecs ou utiliser une taille de vecteur plus petite. Si vous avez seulement besoin du modèle pour certaines fins, il peut y avoir d'autres parties que vous pouvez jeter après l'entraînement - mais cela nécessite une connaissance du code interne du modèle/code source et de vos besoins spécifiques, et il en résultera dans un modèle qui est cassé (et susceptible de lancer des erreurs) pour de nombreuses autres opérations habituelles.
Rien à redire ici, les plongées de documents sont tout simplement énormes. –
Je vote pour clore cette question hors sujet parce que ce n'est pas un problème qui peut être résolu, juste une mauvaise compréhension de la façon dont la bibliothèque utilisée fonctionne. 2.5G est déjà sur le petit côté pour cela. –
Je ne reçois pas l'objection. Quelqu'un ne comprend pas les besoins en ressources d'une tâche de programmation, ce qui génère une question. Expliquer le fonctionnement sous-jacent de l'algorithme/bibliothèque peut résoudre le malentendu, et il existe d'autres options de codage pour atteindre les objectifs sous-jacents. Ceux-ci constituent une réponse utile à une question suffisamment précise. – gojomo