TensorFlow.js + node/express , モデルの評価結果を出力
index:
概要:
前のTensorFlow.js 関係で、
学習済で保存モデルから、node.js で予測値を出力し。
グラフ表示する例となります
環境
TensorFlow.js
node.js
Vue.js
express
Ubuntu16
画面
前回の、回帰モデルの結果
実装など
機械学習は、事前に実行して。モデルを保存しておきます
https://github.com/kuc-arc-f/tfjs_app1_express1/blob/master/train.js
async function run_train() { const tr = new LibTrain( ) const dTrain = new LibTrainData( ) const appConst = new LibConst( ) // console.log(appConst.model_name ) //return; const model = tr.createModel(); const data = await tr.getData(); var chart_dats = dTrain.convert_chart_arr(data) console.log(chart_dats.lbl.length ) const tensorData = tr.convertToTensor(data); const {inputs, labels} = tensorData; // Train the model console.log('Training-start'); await tr.trainModel(model, inputs, labels, tensorData, chart_dats.lbl.length ,chart_dats ); console.log('#fit-complete'); //pred const [xs, preds] = tr.testModel(model, data, tensorData, chart_dats.lbl.length); console.log( preds ); await model.save(appConst.model_name ); }
・api : モデル読み込み。評価処理、
https://github.com/kuc-arc-f/tfjs_app1_express1/blob/master/routes/api_train.js
router.get('/chart_items', async function(req, res) { console.log('Hello TensorFlow, t3-read'); const tr = new LibTrain( ) const dTrain = new LibTrainData( ) const appConst = new LibConst( ) // const data = await tr.getData(); var chart_dats = dTrain.convert_chart_arr(data) console.log(chart_dats.lbl.length ) const tensorData = tr.convertToTensor(data); const model = await tf.loadLayersModel(appConst.model_name + '/model.json'); //pred const [xs, preds] = tr.testModel(model, data, tensorData, chart_dats.lbl.length); //console.log( preds ); //out var items = [] preds.forEach( function (item) { items.push(item ); }); var arr ={ 'pred' : items, 'chart_dats' : chart_dats, } var param = {"docs": arr }; res.json(param); });
まとめ
前回のブラウザ版と、比較して
事前に、学習処理が必要ですが
評価時に、学習しない分。かなり高速表示できました。