J'essaie d'utiliser des intégrations existantes dans le modèle tensorflow, la taille de l'intégration est supérieure à 2 Go et cela rend mon essai initial infructueux :
embedding_var = tf.get_variable(
"embeddings",
shape=GLOVE_MATRIX.shape,
initializer=tf.constant_initializer(np.array(GLOVE_MATRIX))
)
Ce qui m'a donné cette erreur :
Cannot create a tensor proto whose content is larger than 2GB.
J'utilise AWS SageMaker, basé sur l'API Estimator, et l'exécution réelle du graphique en session se produit en arrière-plan, donc je ne sais pas comment initialiser certains espaces réservés pour l'intégration étant donné cela. Ce serait utile si quelqu'un pouvait partager la façon de faire une telle initialisation en terme d'EstimatorAPI.
Veuillez vous rendre sur Stack Overflow pour obtenir de l'aide et de l'assistance :
https://stackoverflow.com/questions/tagged/tensorflow
Si vous ouvrez un problème GitHub, voici notre politique :
Voici pourquoi nous appliquons
Vous pouvez collecter certaines de ces informations à l'aide de notre script de capture d'environnement :
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
Vous pouvez obtenir la version TensorFlow avec
python -c "importer tensorflow en tant que tf; print(tf.GIT_VERSION, tf.VERSION)"
Décrivez clairement le problème ici. Assurez-vous d'expliquer ici pourquoi il s'agit d'un bogue dans TensorFlow ou d'une demande de fonctionnalité.
Incluez tous les journaux ou code source qui seraient utiles pour diagnostiquer le problème. Si vous incluez des retraçages, veuillez inclure le retraçage complet. Les gros journaux et fichiers doivent être joints. Essayez de fournir un cas de test reproductible qui soit le strict minimum nécessaire pour générer le problème.
Je pense qu'il s'agirait normalement d'un problème "envoyer à StackOverflow" (réponse standard jointe ci-dessous), mais la limite de 2 Go semble être à portée d'un bogue ou d'une demande de fonctionnalité.
@martinwicke @ispirmustafa des suggestions ?
Cette question est mieux posée sur StackOverflow car il ne s'agit pas d'un bogue ou d'une demande de fonctionnalité. Il y a aussi une plus grande communauté qui lit les questions là-bas. Merci!
Je pense que c'est lié à la limite de taille du graphique. l'utilisation de constant_initializer intègre le GLOVE_MATRIX dans le graphique, ce qui augmente la taille du graphique.
Pourriez-vous s'il vous plaît essayer d'utiliser un initialiseur non constant?
il semble que la bonne façon d'initialiser les variables avec des incorporations serait d'utiliser tf.train.Scaffold . Voici plus d'informations à ce sujet sur stackoverflow
Commentaire le plus utile
il semble que la bonne façon d'initialiser les variables avec des incorporations serait d'utiliser tf.train.Scaffold . Voici plus d'informations à ce sujet sur stackoverflow