原文链接: 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 tfjstfjs.converters.convert_tf_saved_model(r"./pb/v10",'output','./tfjs/test/',
)

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

将pb转为tfjs可用的格式

import tensorflowjs as tfjstfjs.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 线性模型

tf SavedModel 转换为 可使用 tfjs 加载 的形式相关推荐

  1. jap页面使用ajax动态加载列表数据,JSF - 使用AJAX调用基于DataTable中的mimetype值加载不同形式...

    对于我的一个项目,我需要根据DataTable组件中可用的mimetype值加载不同的表单.我有标题,内容 - 中间的DataTable和页脚中的数据显示.单击DataTable条目应根据mimety ...

  2. pytorch 之 加载不同形式的预训练模型

    我们在学习pytorch时,不可避免的要加载不同的预训练模型.而且pytorch下的预训练模型有很多种形式,我们又该如何加载呢.今天,我就为大家介绍三种常用的模型形式以及其加载方式. 1.pth形式和 ...

  3. python网络模型的保存与加载

    这里写目录标题 方法一 仅保存权重 方法二 保存网络 方法三 SavedModel 方法一 仅保存权重 网络结构需与之前网络保持一致,利用model.load_weights()实现. model.s ...

  4. TensorFlow保存或加载训练的模型

    什么是Tensorflow的模型 模型部分主要参考了这篇文章和这篇博客:另外,官方文档也给出了很多指导. Tensorflow的模型主要包括神经网络的架构设计(或者称为计算图的设计)和已经训练好的网络 ...

  5. Tensorflow 模型加载及部分变量初始化

    最近在做预训练部分图模型,将这部分图模型重新加载到一个新的图中,并加入一些新的op.下面是一些遇到的问题,调试方法以及解决方案. 1.从已有图中restore参数 saver_restore = tf ...

  6. devtools 无法加载 sourcemap_用 babel-plugin 实现按需加载

    注意:本文并不是Babel的初学者教程,您需要具备一定的基础知识.在阅读本文前应具备babel基础知识,或者阅读用户手册 本文主要介绍babel的工作流程,插件的工作原理,以及一些在实战中实现按需加载 ...

  7. 小白Bert系列-生成pb模型,tfserving加载,flask进行预测

    bert分类模型使用tfserving部署. bert模型服务化现在已经有对应开源库部署. 例如:1.https://github.com/macanv/BERT-BiLSTM-CRF-NER 该项目 ...

  8. 波束形成 基于对角加载的稳健自适应波束形成

    前言 本人刚刚入门阵列信号处理的波束形成方向,因此仿真过程中可能会出现错误,如果诸位大佬发现仿真过程中有错误,请不吝指出谢谢. 对角加载(Diagonal Loading, DL)是一种比较常用的提高 ...

  9. OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作

    OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...

最新文章

  1. tcp断开连接,4次握手,为什么wireshark 只能抓到3个包?
  2. HDU1756(判断一个点是否在多边形内)
  3. java通用库,java数据库访问通用种
  4. 华为畅享max有没有人脸识别_谁说千元机就要将就?华为畅享Z全面测评:5G、屏幕、拍照无短板...
  5. java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...
  6. Toad for Oracle工具的使用(二)
  7. NetBeans Java EE技巧#1 –数据库中的实体类
  8. *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
  9. java随机打印一个数组元素_java 怎么随机打印自定义数组里面的字符串
  10. spring 两次进入拦截器_spring mvc 拦截器一次请求拦截两次?
  11. idea用maven启动zookeeper源码
  12. MDaemon12.X特殊注意事项和新功能
  13. 二维平面上判断点是否在三角形内
  14. xp 系统 mysql日志文件在哪里_SqlServer修改数据库文件及日志文件存放位置教程
  15. springmvc06 静态资源
  16. 游戏筑基开发之单链表及其增删改查(C语言)
  17. LINUX检查一个进程内存增长的脚本
  18. 前端实现Office在线预览 (一)
  19. 若依代码生成使用教程
  20. cipher 加密解密

热门文章

  1. linux的浏览器大全,Linux下9款浏览器对比
  2. 微信网页图片预览问题
  3. java面试题怎么背?java面试题有哪些?
  4. 考勤 日历 ajax,vue实现钉钉的考勤日历
  5. 【分享】成功将Thinkpad E40 0578M59更换无线网卡AR9280
  6. PTA7-4一帮一 结构体解决
  7. 843 Guess the Word
  8. MySql轻功-存储过程
  9. burpsuite破解webshell密码+国内黑阔shell密码收集
  10. 三千年读史,不外乎功名利禄。九万里悟道,终归诗酒田园。