[PYTHON] ne peut pas décaper. Comment gérer les objets Annoy

J'avais l'habitude de gérer le modèle d'apprentissage automatique avec le cornichon de base, mais pour Annoy, l'erreur suivante se produit lors de l'enregistrement avec le pickle.

can't pickle annoy.Annoy objects

Pour le moment, cherchons sur Google et voyons le problème du hit.

https://github.com/spotify/annoy/issues/367

image.png

Apparemment. ..

Si vous regardez correctement l 'Exemple de code, vous pouvez voir que la méthode de chargement et la méthode de sauvegarde ont été préparées.

Donc, selon cet exemple de code

from annoy import AnnoyIndex
import random

f = 40
t = AnnoyIndex(f, 'angular')  # Length of item vector that will be indexed
for i in range(1000):
    v = [random.gauss(0, 1) for z in range(f)]
    t.add_item(i, v)

t.build(10) # 10 trees
t.save('test.ann') #sauvegarder

# ...

u = AnnoyIndex(f, 'angular')
u.load('test.ann') # super fast, will just mmap the file #Lis
print(u.get_nns_by_item(0, 1000)) # will find the 1000 nearest neighbors

Cela semble correct si vous le réglez sur.

Recommended Posts

ne peut pas décaper. Comment gérer les objets Annoy
Comment gérer les données déséquilibrées
Comment gérer l'erreur DistributionNotFound
Comment gérer les erreurs de compatibilité d'énumération
Comment gérer les fuites de mémoire dans matplotlib.pyplot
Comment gérer les erreurs d'exécution dans subprocess.call
Comment gérer le module 'Sensorflow' n'a aucun attribut '
La solution de contournement pour le modèle de Django n'existe pas
[Python] Comment gérer l'erreur de lecture pandas read_html
Comment gérer l'exécution de la transaction: échec dans Anaconda
Comment mettre à jour avec SQLAlchemy?
Comment lancer avec Theano
Comment modifier avec SQLAlchemy?
Comment séparer les chaînes avec ','
Comment faire RDP sur Fedora31
2 façons de gérer SessionNotCreatedException
Comment supprimer avec SQLAlchemy?
[AWS] Comment gérer l'erreur "Point de code non valide" dans CloudSearch
Une histoire sur la façon de traiter le problème CORS
Pour les débutants, comment gérer les erreurs courantes dans les keras
Comment gérer UnicodeDecodeError lors de l'exécution du téléchargement d'image Google
Comment annuler RT avec Tweepy
Python: comment utiliser async avec
Pour utiliser virtualenv avec PowerShell
Comment installer python-pip avec ubuntu20.04LTS
Comment démarrer avec Scrapy
Comment démarrer avec Python
Comment démarrer avec Django
Comment augmenter les données avec PyTorch
Comment calculer la date avec python
Comment installer mysql-connector avec pip3
Comment INNER JOIN avec SQL Alchemy
Comment installer Anaconda avec pyenv
Comment gérer l'erreur d'installation de python dans pyenv (BUILD FAILED)
Comment activer Keras Regressor pour être enregistré avec Pickle ou Joblib
Comment gérer les erreurs lors de l'installation de whitenoise et du déploiement sur Heroku
Comment installer des pandas sur EC2 (Comment gérer MemoryError et PermissionError)
Comment gérer les erreurs lors de l'installation de Python et de pip avec choco
Comment effectuer un traitement arithmétique avec le modèle Django
[Blender] Comment définir shape_key avec un script
Je veux détecter des objets avec OpenCV
Comment titrer plusieurs figures avec matplotlib
Comment obtenir l'identifiant du parent avec sqlalchemy
Comment ajouter un package avec PyCharm
Comment installer DLIB avec 2020 / CUDA activé
Comment gérer l'erreur OAuth2 lors de l'utilisation des API Google à partir de Python
Comment utiliser ManyToManyField avec l'administrateur de Django
Comment utiliser Cmder avec PyCharm (Windows)
Comment empêcher les mises à jour de paquets avec apt
Comment utiliser BigQuery en Python
Comment utiliser Ass / Alembic avec HtoA
Comment gérer l'erreur SSL lors de la connexion à S3 avec Python boto
Comment utiliser le japonais avec le tracé NLTK
Comment faire un test de sac avec python