tf SavedModel 转换为 可使用 tfjs 加载 的形式

原创
2019/05/18 00:27
阅读数 839

 

原文链接: tf SavedModel 转换为 可使用 tfjs 加载 的形式

上一篇: tf SavedModel 保存模型的新方式

下一篇: win10 将当前用户设为管理员权限

必须指定版本

 

保存模型的版本为 tf 1.13.1

转换tfjs 版本 0.8.5(需要重新安装最新版的numpy)

使用的 tfjs 加载模型  0.15.3

 

 

环境配置

指定安装对应版本的tfjs

 pip install tensorflowjs==0.8.5  -i https://pypi.tuna.tsinghua.edu.cn/simple

转换失败报错

 

安装升级numpy

pip  install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade numpy

 

切换环境,执行转换脚本

将savedModel转为tfjs可用的格式

import tensorflowjs as tfjs
 

tfjs.converters.convert_tf_saved_model(
    r"./pb/v10",
    'output',
    './tfjs/test/',
)

 

转换成功后,模型很小,文件比较少, 相比之前的少了pb文件

 

将pb转为tfjs可用的格式

import tensorflowjs as tfjs

tfjs.converters.tf_saved_model_conversion_pb.convert_tf_frozen_model(
    r"./pb/mix_dep.pb",
    'generator/output',
    './tfjs/mix_dep/',
)

 

在tfjs中使用

安装指定版本

cnpm i @tensorflow/tfjs@0.15.3 -D

 

import * as tf from "@tensorflow/tfjs";
import {loadGraphModel} from '@tensorflow/tfjs-converter';

const modelUrl = "./static/style_model/test2/model.json"
// 加载模型
const model = await loadGraphModel(modelUrl);
console.log(model)

let x = tf.tensor(1.)
let ret = model.predict(x) ;
console.log('ret',ret.dataSync())

 

pb导出的模型加载

let MODEL_URL = './static/style_model/mnls/tensorflowjs_model.pb'
let WEIGHTS_URL = './static/style_model/mnls/weights_manifest.json'
// 加载模型
const model = await loadGraphModel(MODEL_URL, WEIGHTS_URL);

 

 

查看输出,使用了 2x+3 线性模型

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部
返回顶部
顶部