Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to download models and weights from tensorflow.js

I'm trying to download a pretrained tensorflow.js model including weights, to be used offline in python in the standard version of tensorflow as part of a project that is not on an early stage by any means, so switching to tensorflow.js is not a possibility. But I cant just figure out how to download those models and if its necessary to to do some conversion to the model.

I'm aware that in javascript I can access the models and use them by calling them like this but how do I actually get the .ckpt files or the model frozen if thats the case?

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]"></script>

<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/[email protected]"></script>

My final objective is to get the frozen model files, and get the outputs like is done in the normal version of tensorflow. Also this will be used in an offline environment, so any online reference would not be useful.

Thanks for your replies

like image 223
Boris Avatar asked Jan 06 '19 21:01

Boris


People also ask

How do I save TensorFlow model weights?

Call tf. keras. Model. save to save a model's architecture, weights, and training configuration in a single file/folder .

Can I use TensorFlow with JavaScript?

TensorFlow. js is a JavaScript library for training and deploying machine learning models in the web browser and in Node. js.


1 Answers

It is possible to save the model topology and its weights by calling the method save of the model.

const model = tf.sequential();
model.add(tf.layers.dense(
     {units: 1, inputShape: [10], activation: 'sigmoid'}));
const saveResult = await model.save('downloads://mymodel');
// This will trigger downloading of two files:
//   'mymodel.json' and 'mymodel.weights.bin'.
console.log(saveResult);

There are different scheme strings depending on where to save the model and its weights (localStorage, IndexDB, ...). doc

like image 136
edkeveked Avatar answered Sep 29 '22 06:09

edkeveked