1

J'ai récemment travaillé sur le déploiement d'un modèle d'apprentissage automatique en tant que service Web. J'ai utilisé Azure Machine Learning Studio pour créer mon propre ID d'espace de travail et mon propre jeton d'autorisation. Puis, je me suis entraîné modèle LogisticRegressionCV de sklearn.linear_model localement sur ma machine (en utilisant python 2.7.13) et l'utilisation de ci-dessous l'extrait de code que je voulais publier mon modèle en tant que service Web:Ajout de modules python à l'espace de travail AzureML

from azureml import services 

@services.publish('workspaceID','authorization_token') 
@services.types(var_1= float, var_2= float) 
@services.returns(int) 

def predicting(var_1, var_2): 
    input = np.array([var_1, var_2].reshape(1,-1) 
return model.predict_proba(input)[0][1] 

entrée variable est une liste avec des données à marquer et variable du modèle contient un classificateur formé. Puis, après la définition ci-dessus fonction que je veux faire une prédiction sur le vecteur d'entrée de l'échantillon:

predicting.service(1.21, 1.34) 

Cependant erreur suivante se produit:

RuntimeError: Error 0085: The following error occurred during script 
evaluation, please view the output log for more information: 

Et le message le plus important dans le journal est:

AttributeError: 'module' object has no attribute 'LogisticRegressionCV' 

L'erreur est étrange pour moi parce que quand j'utilisais sklearn.linear_model.LogisticRegression normal tout allait bien. J'étais capable de faire des prédictions en envoyant des requêtes POST à ​​l'extrémité créée, donc je suppose que sklearn a fonctionné correctement. Après avoir changé pour LogisticRegressionCV ce n'est pas le cas. Par conséquent, je voulais mettre à jour sklearn sur mon espace de travail.

Avez-vous des idées pour le faire? Ou encore une question plus générale: comment installer un module python sur azure machine learning studio de manière à utiliser les fonctions de prédiction de n'importe quel modèle développé localement?

Merci

Répondre

1

Pour installer le module python sur Azure ML studio, il y a une section Technical Notes du document qui introduit Execute Python Script offical il.

Les étapes générales ci-dessous. Créez un projet Python via virtualenv et activez-le.

  • Installe tous les paquets que vous voulez via pip sur l'environnement virtuel Python, puis
  • paquet tous les fichiers et repertoires sous le chemin Lib\site-packages de votre projet en tant que fichier zip.
  • Téléchargez le package zip dans votre Azure ML WorkSpace en tant que DataSet. Suivez le document pour importer le module Python pour votre Execute Python Script. Pour plus de détails, vous pouvez vous référer à l'autre thread SO similaire Updating pandas to version 0.19 in Azure ML Studio, il a même présenté comment mettre à jour la version des paquets Python installés par Azure.

    Espérons que ça aide.

  • +0

    Cette solution fonctionne-t-elle également avec Linux? Quel est l'équivalent de "Lib \ site-packages" ce qui est censé être téléchargé en tant que zip? – Hendrik

    1

    je me débattais avec le même problème: Erreur 0085

    j'ai pu le résoudre en utilisant Azure exemple de code ML disponible à partir de leur bibliothèque: Déploiement de AzureML Web Services de Python Notebooks

    se trouve à https://gallery.cortanaintelligence.com/Notebook/Deployment-of-AzureML-Web-Services-from-Python-Notebooks-4

    Je ne vais pas copier le code entier ici, mais je l'ai utilisé exactement tel quel et cela a fonctionné avec l'ensemble de données de Boston. Ensuite, je l'ai utilisé avec mon jeu de données, et je n'ai plus l'erreur 0085. Je n'ai pas encore retrouvé l'erreur, mais c'est probablement dû à un mauvais comportement ou un retrait. J'espère que cela t'aides.

    +0

    Oui, ce code fonctionne réellement, mais le problème original est que a_kord voulait utiliser un autre modèle (LogisticRegressionCV) au lieu de celui de ce tutoriel (LogisticRegression). J'ai aussi confronté le fait que seuls certains types de modèles Sklearn fonctionnent dans ML Studio. – Hendrik