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
转换失败报错
安装升级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 加载 的形式相关推荐
- jap页面使用ajax动态加载列表数据,JSF - 使用AJAX调用基于DataTable中的mimetype值加载不同形式...
对于我的一个项目,我需要根据DataTable组件中可用的mimetype值加载不同的表单.我有标题,内容 - 中间的DataTable和页脚中的数据显示.单击DataTable条目应根据mimety ...
- pytorch 之 加载不同形式的预训练模型
我们在学习pytorch时,不可避免的要加载不同的预训练模型.而且pytorch下的预训练模型有很多种形式,我们又该如何加载呢.今天,我就为大家介绍三种常用的模型形式以及其加载方式. 1.pth形式和 ...
- python网络模型的保存与加载
这里写目录标题 方法一 仅保存权重 方法二 保存网络 方法三 SavedModel 方法一 仅保存权重 网络结构需与之前网络保持一致,利用model.load_weights()实现. model.s ...
- TensorFlow保存或加载训练的模型
什么是Tensorflow的模型 模型部分主要参考了这篇文章和这篇博客:另外,官方文档也给出了很多指导. Tensorflow的模型主要包括神经网络的架构设计(或者称为计算图的设计)和已经训练好的网络 ...
- Tensorflow 模型加载及部分变量初始化
最近在做预训练部分图模型,将这部分图模型重新加载到一个新的图中,并加入一些新的op.下面是一些遇到的问题,调试方法以及解决方案. 1.从已有图中restore参数 saver_restore = tf ...
- devtools 无法加载 sourcemap_用 babel-plugin 实现按需加载
注意:本文并不是Babel的初学者教程,您需要具备一定的基础知识.在阅读本文前应具备babel基础知识,或者阅读用户手册 本文主要介绍babel的工作流程,插件的工作原理,以及一些在实战中实现按需加载 ...
- 小白Bert系列-生成pb模型,tfserving加载,flask进行预测
bert分类模型使用tfserving部署. bert模型服务化现在已经有对应开源库部署. 例如:1.https://github.com/macanv/BERT-BiLSTM-CRF-NER 该项目 ...
- 波束形成 基于对角加载的稳健自适应波束形成
前言 本人刚刚入门阵列信号处理的波束形成方向,因此仿真过程中可能会出现错误,如果诸位大佬发现仿真过程中有错误,请不吝指出谢谢. 对角加载(Diagonal Loading, DL)是一种比较常用的提高 ...
- OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作
OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...
最新文章
- tcp断开连接,4次握手,为什么wireshark 只能抓到3个包?
- HDU1756(判断一个点是否在多边形内)
- java通用库,java数据库访问通用种
- 华为畅享max有没有人脸识别_谁说千元机就要将就?华为畅享Z全面测评:5G、屏幕、拍照无短板...
- java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...
- Toad for Oracle工具的使用(二)
- NetBeans Java EE技巧#1 –数据库中的实体类
- *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
- java随机打印一个数组元素_java 怎么随机打印自定义数组里面的字符串
- spring 两次进入拦截器_spring mvc 拦截器一次请求拦截两次?
- idea用maven启动zookeeper源码
- MDaemon12.X特殊注意事项和新功能
- 二维平面上判断点是否在三角形内
- xp 系统 mysql日志文件在哪里_SqlServer修改数据库文件及日志文件存放位置教程
- springmvc06 静态资源
- 游戏筑基开发之单链表及其增删改查(C语言)
- LINUX检查一个进程内存增长的脚本
- 前端实现Office在线预览 (一)
- 若依代码生成使用教程
- cipher 加密解密