J'ai un modèle SVM sklearn formé au format .pkl et un modèle Keras .h5. Puis-je charger ces modèles à l'aide de tensorflow.js sur un navigateur ? Je fais la plupart de mon codage en python et je ne sais pas comment travailler avec tensorflow.js Mon code d'enregistrement de modèle ressemble à ceci

from sklearn.externals import joblib 

joblib.dump(svc,'model.pkl') 
model = joblib.load('model.pkl')  
prediction = model.predict(X_test) 

#------------------------------------------------------------------

from keras.models import load_model

model.save('model.h5')  
model = load_model('my_model.h5')
1
arpithkumar 23 janv. 2020 à 09:57

1 réponse

Meilleure réponse

Afin de déployer votre modèle avec tensorflow-js, vous devez utiliser tensorflowjs_converter, vous devez donc également installer la dépendance tensorflowjs.

Vous pouvez le faire en python via pip install tensorflowjs.

Ensuite, vous convertissez votre modèle entraîné via cette opération, selon vos noms personnalisés : tensorflowjs_converter --input_format=keras /tmp/model.h5 /tmp/tfjs_model, où le dernier chemin est le chemin de sortie du résultat de la conversion.

Notez qu'après la conversion vous obtiendrez un model.json (architecture de votre modèle) et une liste de N fragments (poids divisés en N fragments).

Ensuite, en JavaScript, vous devez utiliser la fonction tf.loadLayersModel(MODEL_URL), où MODEL_URL est l'url pointant vers votre model.json. Assurez-vous qu'au même emplacement que model.json, les fragments sont également situés.

Comme il s'agit d'une opération asynchrone (vous ne voulez pas que votre page Web soit bloquée pendant le chargement de votre modèle), vous devez utiliser le mot-clé JavaScript await ; donc await tf.loadLayersModel(MODEL_URL)

Veuillez consulter le lien suivant pour voir un exemple : https://www.tensorflow.org /js/guide/conversion

3
Timbus Calin 26 oct. 2020 à 05:26