原文链接: tf SavedModel 保存模型的新方式

上一篇: python pycharm 远程调试

下一篇: tf SavedModel 转换为 可使用 tfjs 加载 的形式

参考

https://www.tensorflow.org/guide/saved_model#build_and_load_a_savedmodel

比pb和ckpt复杂而且麻烦...

只是为了使模型在tfjs上跑所以必须使用这种方式, 及其麻烦....

简单保存和加载

保存

import tensorflow as tfa = tf.Variable(2., name='a')
b = tf.Variable(3., name='b')
in_x = tf.placeholder(tf.float32)
export_path = './pb/v10'
out = in_x * a + b
out = tf.identity(out, 'output')with tf.Session() as sess:sess.run(tf.global_variables_initializer())tf.saved_model.simple_save(sess,export_path,inputs={"in_x": in_x},outputs={"output": out})

加载

import tensorflow as tf
from tensorflow.python.saved_model import tag_constantsexport_dir = "./pb/v10"
image_content = []with tf.Session() as sess:meta_graph_def = tf.saved_model.loader.load(sess, [tag_constants.SERVING], export_dir)print(meta_graph_def)signature = meta_graph_def.signature_defprint(signature)x_tensor_name = signature['serving_default'].inputs["in_x"].namey_tensor_name = signature["serving_default"].outputs["output"].namex = sess.graph.get_tensor_by_name(x_tensor_name)y = sess.graph.get_tensor_by_name(y_tensor_name)print(x, y)y_out = sess.run(y, feed_dict={x: 1})print(y_out)

复杂自定义

保存

import tensorflow as tfa = tf.Variable(2., name='a')
b = tf.Variable(3., name='b')
in_x = tf.placeholder(tf.float32)
export_path = './pb/v12'
out = in_x * a + b
out = tf.identity(out, 'output')with tf.Session() as sess:sess.run(tf.global_variables_initializer())builder = tf.saved_model.builder.SavedModelBuilder(export_path)# Build the signature_def_map.classification_inputs = tf.saved_model.utils.build_tensor_info(in_x)classification_outputs_classes = tf.saved_model.utils.build_tensor_info(out)classification_signature = (tf.saved_model.signature_def_utils.build_signature_def(inputs={"in_x": classification_inputs},outputs={"output": classification_outputs_classes,},# method_name=tf.saved_model.signature_constants.CLASSIFY_METHOD_NAME))# tensor_info_x = tf.saved_model.utils.build_tensor_info(x)# tensor_info_y = tf.saved_model.utils.build_tensor_info(y)# prediction_signature = (#     tf.saved_model.signature_def_utils.build_signature_def(#         inputs={'images': tensor_info_x},#         outputs={'scores': tensor_info_y},#         method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME)# )builder.add_meta_graph_and_variables(sess, [tf.saved_model.tag_constants.SERVING],signature_def_map={# 'predict_images':                prediction_signature,tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:classification_signature,},main_op=tf.tables_initializer(),strip_default_attrs=True)builder.save()

加载

import tensorflow as tf
from tensorflow.python.saved_model import tag_constantsexport_dir = "./pb/v8"
image_content = []with tf.Session() as sess:meta_graph_def = tf.saved_model.loader.load(sess, [tag_constants.SERVING], export_dir)print(meta_graph_def)signature = meta_graph_def.signature_defprint(signature)x_tensor_name = signature['serving_default'].inputs["in_x"].namey_tensor_name = signature["serving_default"].outputs["output"].namex = sess.graph.get_tensor_by_name(x_tensor_name)y = sess.graph.get_tensor_by_name(y_tensor_name)print(x, y)y_out = sess.run(y, feed_dict={x: 1})print(y_out)

tf SavedModel 保存模型的新方式相关推荐

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

    原文链接: tf SavedModel 转换为 可使用 tfjs 加载 的形式 上一篇: tf SavedModel 保存模型的新方式 下一篇: win10 将当前用户设为管理员权限 必须指定版本 保 ...

  2. 【TensorFlow实战笔记】对于TED(en-zh)数据集进行Seq2Seq模型实战,以及对应的Attention机制(tf保存模型读取模型)

    个人公众号 AI蜗牛车 作者是南京985AI硕士,CSDN博客专家,研究方向主要是时空序列预测和时间序列数据挖掘,获国家奖学金,校十佳大学生,省优秀毕业生,阿里天池时空序列比赛rank3.公众号致力于 ...

  3. pytorch保存模型pth_浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式

    我们经常会看到后缀名为.pt, .pth, .pkl的pytorch模型文件,这几种模型文件在格式上有什么区别吗? 其实它们并不是在格式上有区别,只是后缀不同而已(仅此而已),在用torch.save ...

  4. mxnet保存模型,加载模型来预测新数据

    mxnet保存模型,以及用模型来预测新数据 我们希望训练好之后的模型,可以保存下来,然后需要预测新数据的时候,就可以拿来用,可以这样做.  我们以线性回归的例子来讲:  1,训练并保存模型. impo ...

  5. word2vec三种保存模型方式

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  6. tf.saved_model.save模型导出、TensorFlow Serving模型部署、TensorBoard中的HParams 超参数调优

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 4.11 综合案例:模型导出与部署 学习目标 目标 掌握Ten ...

  7. Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  8. Tensorflow 加载预训练模型和保存模型

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  9. Tensorflow保存模型和加载预训练模型

    训练好的模型需要保存下来或者加载已经训练完成的模型,就用到了ckpt文件. 目录 1.了解tensorflow保存的文件 (1)checkpoint (2)MyModel.meta (3)MyMode ...

  10. Pytorch学习 - 保存模型和重新加载

    Pytorch学习 - 保存和加载模型 1. 3个函数 2. 模型不同后缀名的区别 3. 保存和重载模型 参考资料: Pytorch官方文档链接 某博客 1. 3个函数 torch.save() : ...

最新文章

  1. anaconda创建环境
  2. Acwing第 16 场周赛【未完结】
  3. 复制迁移数据库表数据程序
  4. go和python切片的不同
  5. leetcode BFS(python+c++)
  6. RTK差分通讯链路---电台
  7. Linux下套接字详解(十)---epoll模式下的IO多路复用服务器
  8. 自制hdmi线一头改vga图_什么是VGA?
  9. 14、文件的上传和下载
  10. Apache启动失败,请检查相关配置。√MySQL5.1已启动。
  11. 中国科学院计算机所研究生实习,我在中科院计算所实习的日子(更新中....)...
  12. php 简明现代魔法,【转】WinCacheGrind配合XDebug分析PHP程序性能 — 简明现代魔法...
  13. .nte连接数据库常见问题,Unknown column '张三' in 'where clause'
  14. Tiled map导入问题
  15. 操作系统中多生产者多消费者问题中,关于生产者或消费者中的两个P操作是否可以互换问题
  16. c语言程序设计精品课课件,C语言程序设计 精品课课件(全套讲义).ppt
  17. 【Spring AOP】@Aspect结合案例详解(二): @Pointcut使用@within和within(已附源码)
  18. 微信支付V3版开发中遇到的一个问题及原因:缺少prepay_id
  19. HelloWorld - Watir
  20. 机器学习和数据比赛资料汇总(转载)

热门文章

  1. 如何裁剪PDF文件的页面大小
  2. 串口仪器控制(下篇)——利用虚拟串口模拟仪器
  3. moments音标_moment是什么意思_moment的翻译_音标_读音_用法_例句_爱词霸在线词典...
  4. 7--CAD矩形与正多边形
  5. python 控制 窗口 控件_【python】Tkinter可视化窗口(一)
  6. 深入解密比Guava Cache更优秀的缓存-Caffeine
  7. exp在线计算机计算,Exp 数学表达式计算器算法分享
  8. 数学在线绘图计算机,Desmos Graphing Calculator插件,在线可视化图形计算器
  9. ps中ppt的尺寸设置
  10. 虚拟数字人的“风”,从“工业级”吹向“消费级”