Je suis assez nouveau pour Algorithmia mais je l'ai utilisé scikit-learn un peu et je sais comment persister mon modèle d'apprentissage de la machine après que je me suis entraîné avec JOBLIB:Algorithmia Modèle avec persistance Sklearn
from sklearn.externals joblib
model = RandomForestRegressor()
# Train the model, etc
joblib.dump(model, "prediction/model/model.pkl")
Maintenant, je veux héberger mon modèle ML et l'appeler comme un service en utilisant Algorithmia, mais je n'arrive pas à comprendre comment lire le modèle en arrière. J'ai créé une collection dans Algorithmia appelée "testcollection" avec un fichier appelé "model.pkl" qui est le résultat de l'appel joblib.dump. Selon les documents, cela signifie que mon dossier doit être situé à
données: // (nom d'utilisateur) /testcollection/model.pkl
Je veux lire dans ce modèle à partir du fichier en utilisant joblib.load. Voici mon algorithme actuel Algorithmia:
import Algorithmia
def apply(input):
client = Algorithmia.client()
f = client.file("data://(username)/testcollection/model.pkl")
print(f.path)
print(f.url)
print(f.getName())
model = joblib.load(f.url) # Or f.path, both don't work
return "empty"
Voici le résultat:
(username)/testcollection/model.pkl
/v1/data/(username)/testcollection/model.pkl
model.pkl
Et il des erreurs à la ligne joblib.load, donnant le « Aucun fichier ou répertoire (quelque soit le chemin que je mets) "
est ici tous les chemins/urls que j'ai essayé d'appeler joblib.load:
- /v1/data/(nom d'utilisateur)/testcollection /model.pkl
- données: // (nom d'utilisateur) /testcollection/model.pkl
- (nom d'utilisateur) /testcollection/model.pkl
- https://algorithmia.com/v1/data/(username)/testcollection/model.pkl
Comment charger un modèle de un fichier utilisant joblib? Est-ce que je vais à ce sujet dans le mauvais sens?
Je pense que vous avez juste besoin de remplacer 'f.url' par' f.name' Le chemin et l'URL sont censés être des champs privés dans l'objet DataFile ... mais c'est python donc rien n'est privé – jamesatha