Importer des modèles dans votre application Import models into your application

Cet article traite des parties importation et notation d’un flux de travail d' exportation de modèle DATABRICKS ml ; consultez exporter des modèles et pipelines Apache Spark ml pour la partie exportation du flux de travail.This article discusses the import and scoring parts of a Databricks ML Model Export workflow; see Export Apache Spark ML models and pipelines for the export part of the workflow.

Pour utiliser des modèles exportés via l’exportation de modèle Databricks ML, vous appelez des API dans la bibliothèque dbml-local .To use models exported via Databricks ML Model Export, you call APIs in the library dbml-local. Cette bibliothèque fournit des API Scala et Java pour l’importation de modèles et l’exécution de scores à faible latence (prédiction ou inférence).This library provides Scala and Java APIs for importing models and performing low latency scoring (prediction or inference).

Utilisation de modèles enregistrés dans des applications JavaUsing saved models in Java applications

Supposons que vous avez exporté un pipeline de régression logistique et que vous l’avez enregistré sous my_models/lr_pipeline .Suppose that you have exported a logistic regression pipeline and saved it under my_models/lr_pipeline. Vous pouvez utiliser ModelFactory pour créer un LocalModel à partir du répertoire du modèle enregistré et effectuer des notations sur les nouvelles données.You can use ModelFactory to create a LocalModel from the saved model’s directory and perform scoring on new data.

// Load exported model
String modelPath = "my_models/lr_pipeline";
LocalModel model = ModelFactory.loadModel(modelPath);

// The model input is a standard JSON string.
// The input schema here is: [origLabel: Double, features: Vector].
String input =
  "{\"origLabel\":-1.0," +
  "\"features\":{\"type\":0,\"size\":13," +
  "\"indices\":[0,2,3,4,6,7,8,9,10,11,12]," +
  "\"values\":[74.0,2.0,120.0,269.0,2.0,121.0,1.0,0.2,1.0,1.0,3.0]}" +
  "}";

// The model output is also a standard JSON string, with the expected output fields.
String output = model.transform(input);

L’entrée accepte le même format JSON produit par Apache Spark les jeux de données et trames à l’aide de la Dataset.toJSON méthode (consultez docs de l' API DataSet).The input accepts the same JSON format produced by Apache Spark Datasets and DataFrames using the Dataset.toJSON method (see Dataset API docs). Pour plus d’informations, consultez la documentation relative à l' API locale dbml .See the dbml-local API docs for more details.

Spécification dbml-local de la dépendance de bibliothèque dans MavenSpecifying the dbml-local library dependency in Maven

Vous spécifiez la dbml-local dépendance de bibliothèque à une application, comme n’importe quelle autre dépendance, avec une coordonnée Maven.You specify the dbml-local library dependency to an application just like any other dependency, with a Maven coordinate. L’extrait de code suivant donne un exemple d’inclusion dbml-local dans un fichier de build de projet Maven pom.xml .The following code snippet gives an example of including dbml-local in a Maven project pom.xml build file.

<!-- Add repository for dbml-local dependency -->
 <repositories>
   <repository>
     <snapshots>
       <enabled>false</enabled>
     </snapshots>
     <id>bintray-databricks-maven</id>
     <name>bintray</name>
     <url>https://dl.bintray.com/databricks/maven</url>
   </repository>
 </repositories>

 <dependencies>
   <!-- Main dependency for Model Scoring -->
   <dependency>
     <groupId>com.databricks</groupId>
     <artifactId>dbml-local</artifactId>
     <version>0.2.2-spark2.2</version>
   </dependency>
 </dependencies>

Téléchargement des fichiers dbml-local jarDownloading dbml-local JARs

Les fichiers dbml-local jar sont disponibles à partir de bintray.The dbml-local JARs are available from bintray.

dbml-locallicencedbml-local license

La dbml-local bibliothèque est publiée dans le cadre de la licence MIT.The dbml-local library is published under the MIT license.

Exemple d’applicationExample application

Vous pouvez afficher un exemple d’application très simple qui montre comment utiliser la bibliothèque d’Assistant exportation de modèle Databricks ML dbml-local dans le référentiel GitHub Databricks-ml-examples.You can view a very simple example application that shows how to use the Databricks ML Model Export companion library dbml-local in the databricks-ml-examples Github repository. Cette démonstration comprend des blocs-notes Databricks pour la formation et l’exportation de modèles MLlib.This demo includes Databricks notebooks for training and exporting MLlib models. Ces blocs-notes sont associés à des applications Java simples qui montrent comment importer des modèles et effectuer des prédictions.These notebooks are paired with simple Java applications that show how to import models and make predictions.