Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

loadCompactModel

Reconstruir el objeto de modelo del modelo guardado para la generación de código

Descripción

Para generar código de C/C++ para las funciones de objeto (,, o) de modelos de aprendizaje automático, use y.PredecirAleatorioknnsearchrangesearchsaveCompactModelloadCompactModelcodegen Después de entrenar un modelo de aprendizaje automático, guarde el modelo mediante.saveCompactModel Defina una función de punto de entrada que cargue el modelo mediante y llame a una función de objeto.loadCompactModel A continuación, utilice o elcodegen MATLAB®Coder™ aplicación para generar código de C/C++. La generación de código C/C++ requiere MATLABCoder.

Este diagrama de flujo muestra el flujo de trabajo de generación de código para las funciones de objeto de los modelos de aprendizaje automático. Uso loadCompactModel para el paso resaltado.

ejemplo

Mdl = loadCompactModel(filename) reconstruye un modelo de clasificación, un modelo de regresión o un buscador de vecino más cercano () del modelo guardado almacenado en el archivo binario formateado (archivo MAT) denominado.MdlMATLABfilename Debe crear el archivo mediante.filenamesaveCompactModel

Ejemplos

contraer todo

Después de entrenar un modelo de aprendizaje automático, guarde el modelo mediante.saveCompactModel Defina una función de punto de entrada que cargue el modelo utilizando y llame a la función del modelo entrenado.loadCompactModelPredecir A continuación, se utiliza para generar código C/C++.codegen

En este ejemplo se explica brevemente el flujo de trabajo de generación de código para la predicción de modelos de aprendizaje automático en la línea de comandos. Para obtener más información, consulte.Generación de código para la predicción del modelo de aprendizaje automático en la línea de comandos También puede generar código mediante la aplicación MATLAB Coder. Ver para más detalles.Generación de código para predicción del modelo de aprendizaje automático utilizando MATLAB Coder App Para obtener información sobre la generación de código para encontrar los vecinos más cercanos mediante un modelo de buscador de vecino más cercano, consulte.Generación de código para buscador de vecino más cercano

Entrenar modelo

Cargue el conjunto de datos de iris de Fisher. Quite todos los datos observados de setosa iris de modo que contengan datos únicamente para dos clases.XY

load fisheriris inds = ~strcmp(species,'setosa'); X = meas(inds,:); Y = species(inds);

Entrenar un modelo de clasificación de máquina de vectores de soporte (SVM) utilizando el conjunto de datos procesados.

Mdl = fitcsvm(X,Y);

es un modelo.MdlClassificationSVM

Guardar modelo

Guarde el modelo de clasificación de SVM en el archivo mediante.SVMIris.matsaveCompactModel

saveCompactModel(Mdl,'SVMIris');

Definir función de punto de entrada

Defina una función de punto de entrada denominada que haga lo siguiente:classifyIrises

  • Acepte mediciones de flores de iris con columnas correspondientes y devuelva etiquetas predichas.meas

  • Cargue un modelo de clasificación de SVM entrenado.

  • Predecir etiquetas utilizando el modelo de clasificación cargado para las mediciones de flores de iris.

type classifyIrises.m % Display contents of classifyIrises.m file
function label = classifyIrises(X) %#codegen %CLASSIFYIRISES Classify iris species using SVM Model %   CLASSIFYIRISES classifies the iris flower measurements in X using the %   compact SVM model in the file SVMIris.mat, and then returns class %   labels in label. CompactMdl = loadCompactModel('SVMIris'); label = predict(CompactMdl,X); end 

Agregue la Directiva del compilador (o pragma) a la función de punto de entrada después de la firma de la función para indicar que pretende generar código para el algoritmo de MATLAB.%#codegen La adición de esta directiva indica al analizador de código de MATLAB que le ayudará a diagnosticar y corregir infracciones que provocarán errores durante la generación de código.

Si pulsa el botón situado en la sección superior derecha de este ejemplo y abre este ejemplo en MATLAB®, MATLAB® abre la carpeta de ejemplo.Nota: Esta carpeta incluye el archivo de función de punto de entrada.

Generar código

Genere código para la función de punto de entrada utilizando.codegen Dado que C y C++ son lenguajes con tipos estáticos, debe determinar las propiedades de todas las variables en la función de punto de entrada en tiempo de compilación. Pase como valor de la opción para especificar que el código generado debe aceptar una entrada que tenga el mismo tamaño de matriz y tipo de datos que los datos de entrenamiento.X-argsX Si el número de observaciones es desconocido en tiempo de compilación, también puede especificar la entrada como de tamaño variable mediante.coder.typeof Para obtener más información, consulte y.Especifique argumentos de tamaño variable para la generación de códigoSpecify Properties of Entry-Point Function Inputs (MATLAB Coder)

codegen classifyIrises -args {X}
 

genera la función MEX con una extensión dependiente de la plataforma.codegenclassifyIrises_mex

Compruebe que el código generado

Compare las etiquetas clasificadas usando, y.PredecirclassifyIrisesclassifyIrises_mex

label1 = predict(Mdl,X); label2 = classifyIrises(X); label3 = classifyIrises_mex(X); verify_label = isequal(label1,label2,label3)
verify_label = logical
   1

Devuelve Logical 1 (true), lo que significa que todas las entradas son iguales.isequal Las etiquetas clasificadas las tres formas son las mismas.

Argumentos de entrada

contraer todo

Nombre del archivo MAT que contiene la matriz de estructura que representa un objeto de modelo, especificado como un vector de caracteres. Debe crear el archivo utilizando.filenamesaveCompactModel

loadCompactModel reconstruye el modelo almacenado en el archivo en tiempo de compilación.filename Para los modelos admitidos, vea el argumento de entrada de.MdlsaveCompactModel

La extensión del archivo debe ser.filename.mat Si no tiene extensión,filename loadCompactModel Anexa..mat

Si no incluye una ruta completa,filename loadCompactModel carga el archivo desde la carpeta actual.

Ejemplo: 'Mdl'

Tipos de datos: char | string

Argumentos de salida

contraer todo

Modelo de aprendizaje automático, devuelto como uno de estos objetos de modelo:

Algoritmos

reduce la huella de memoria de los modelos de clasificación y regresión () eliminando las propiedades que no son necesarias para la predicción.saveCompactModelMdl

  • Para un modelo que tiene un modelo compacto correspondiente, la función aplica la función adecuada al modelo antes de guardarla.saveCompactModelcompact

  • Para un modelo que no tiene un modelo compacto correspondiente, como,, y, la función guarda el modelo tal como está.ClassificationLinearRegressionLinearExhaustiveSearcherKDTreeSearchersaveCompactModel

  • Un objeto de modelo es un objeto completo que no tiene un objeto compacto correspondiente.ClassificationKNN Para este modelo, guarda una versión compacta que no incluye las propiedades de optimización de hiperparámetros.saveCompactModel

carga la versión reducida guardada por.loadCompactModelsaveCompactModel

Funcionalidad alternativa

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Introducido en R2016b