Lead Engineer en Geographica
Organizador de SevillaJS
Lead Engineer en Geographica
Organizador de SevillaJS
Convertir modelo a Tensorflow.js
tensorflowjs_converter
--input_format keras
keras/yourWeights.h5
src/assets
Carga del modelo en la aplicación
async loadModel() {
this.model = await tf.loadModel('/assets/model.json');
}
Obtención de datos de entrada
<canvas drawable (newImage)="predict($event)"></canvas>
Preparación de los datos de entrada
// Canvas pixels -> Tensor
let img = tf.fromPixels(imageData, 1);
// Ajustamos el formato al necesario para el modelo
img = img.reshape([1, 28, 28, 1]);
img = tf.cast(img, 'float32');
Generación de la predicción del modelo
const output = this.model.predict(img) as any;
this.predictions = Array.from(output.dataSync());
predict(imageData: ImageData) {
tf.tidy(() => {
let img = tf.fromPixels(imageData, 1);
img = img.reshape([1, 28, 28, 1]);
img = tf.cast(img, 'float32');
const output = this.model.predict(img) as any;
this.predictions = Array.from(output.dataSync());
});
}
Raúl Yeguas @neokore