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

原文链接: 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

转换失败报错

3a08a311f2e9223e246cca3324578561acc.jpg

安装升级numpy

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

切换环境,执行转换脚本

将savedModel转为tfjs可用的格式

43912a859703e3f05635595c6587aa4764e.jpg

import tensorflowjs as tfjs
 

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

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

b85a6687828f5a8d089956da196b9bb3105.jpg

将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/',
)

6232ce27b78efd3f8a3e5a78e856e803023.jpg

在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 线性模型

1d428a1a29ef1c96e3c5fda3b302c5bf2d9.jpg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值