Importar modelos en la aplicación

En este artículo se describen las partes de importación y puntuación de un flujo de trabajo de exportación de modelos de los bricks de los ml. consulte exportación de modelos y canalizaciones de Apache Spark ml para la parte de exportación del flujo de trabajo.

Para usar modelos exportados a través de la exportación del modelo de los bricks de los mismos, se llama a las API de la biblioteca dbml-local . Esta biblioteca proporciona API de Scala y Java para importar modelos y realizar una puntuación de latencia baja (predicción o inferencia).

Usar modelos guardados en aplicaciones Java

Supongamos que ha exportado una canalización de regresión logística y la ha guardado en my_models/lr_pipeline . Puede usar ModelFactory para crear un a LocalModel partir del directorio del modelo guardado y realizar la puntuación en los nuevos datos.

// 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);

La entrada acepta el mismo formato JSON generado por Apache Spark conjuntos de datos y tramas de datos que usan el Dataset.toJSON método (consulte documentos de API de conjuntode datos). Consulte los documentos de la API de dbml-local para obtener más detalles.

Especificación de la dbml-local dependencia de la biblioteca en Maven

La dependencia de la biblioteca se especifica dbml-local en una aplicación como cualquier otra dependencia, con una coordenada Maven. El siguiente fragmento de código proporciona un ejemplo de cómo incluir dbml-local en un archivo de compilación del proyecto Maven pom.xml .

<!-- 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>

Descarga de archivos dbml-local jar

Los archivos dbml-local jar están disponibles en bintray.

dbml-local sin

La dbml-local biblioteca se publica bajo la licencia MIT.

Aplicación de ejemplo

Puede ver una aplicación de ejemplo muy sencilla que muestra cómo usar la biblioteca complementaria del modelo de aprendizaje automático de los ladrillos dbml-local en el repositorio de github de los bricks de aprendizaje automático. En esta demostración se incluyen cuadernos de bricks para entrenar y exportar modelos MLlib. Estos cuadernos se emparejan con aplicaciones Java simples que muestran cómo importar modelos y hacer predicciones.