FlyAI小课堂:Tensorflow-模型和数据的保存和载入

tensorflow模型保存(三)——tensorflow1.x版本的savedmodel格式的模型保存与加载 前言:前面的两篇文章已经分别介绍了高层API与低层API关于各种模型的保存,比如在tensorflow2.x中如何保存checkpoint与savedmodel,在tensorflow1.x中如何保存checkpoint,本文着重介绍在tensorflow1.x版本中怎么保存savedmodel。 要想恢复模型并能够正确的加载,最核心的就在于要给模型的输入与输出起一... 阅读详情

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型

 

目录

  1. 基本方法
  2. 不需重新定义网络结构的方法
  3. saved_model方式

附件一:sklearn上的用法

一、基本方法

1.1 保存

  • 定义变量
  • 使用saver.save()方法保存

1

2

3

4

5

6

7

8

9

10

import tensorflow as tf

import numpy as np

W = tf.Variable([[1,1,1],[2,2,2]],dtype = tf.float32,name='w')

b = tf.Variable([[0,1,2]],dtype = tf.float32,name='b')

 

init = tf.initialize_all_variables()

saver = tf.train.Saver()

with tf.Session() as sess:

    sess.run(init)

    save_path = saver.save(sess,"save/model.ckpt")

1.2 载入

  • 定义变量
  • 使用saver.restore()方法载入

1

2

3

4

5

6

7

8

import tensorflow as tf

import numpy as np

W = tf.Variable(tf.truncated_normal(shape=(2,3)),dtype = tf.float32,name='w')

b = tf.Variable(tf.truncated_normal(shape=(1,3)),dtype = tf.float32,name='b')

 

saver = tf.train.Saver()

with tf.Session() as sess:

    saver.restore(sess,"save/model.ckpt")

1.3 说明

1.  创建saver时,可以指定需要存储的tensor,如果没有指定,则全部保存;

2.  默认情况下:saver.save(sess,"save/model.ckpt")产生4个文件:

checkpoint文件保存最新的模型;

model.ckpt.data 以字典的形式保存权重偏置项等训练参数

model.ckpt.index:存储训练好的参数索引

model.ckpt.meta : 元文件(meta) 中保存了MetaGraphDef 的持久化数据,即模型数据,计算图的网络结构信息,完整的graph、variables、operation、collection。

 

3.  如何知道tensor的名字,最好是定义tensor的时候就指定名字,如上面代码中的name='w',如果你没有定义name,tensorflow也会设置name,只不过这个name就是根据你的tensor或者操作的性质。所以最好还是自己定义好name。

   

【说明:这种方法不方便的在于,在使用模型的时候,必须把模型的结构重新定义一遍,然后载入对应名字的变量的值。但是很多时候我们都更希望能够读取一个文件然后就直接使用模型,而不是还要把模型重新定义一遍。所以就需要使用另一种方法。】

二、不需重新定义网络结构的方法

tf.train.import_meta_graph

import_meta_graph(

meta_graph_or_file,

clear_devices=False,

import_scope=None,

**kwargs

)

这个方法可以从文件中将保存的graph的所有节点加载到当前的default graph中,并返回一个saver。也就是说,我们在保存的时候,除了将变量的值保存下来,其实还有将对应graph中的各种节点保存下来,所以模型的结构也同样被保存下来了。

比如我们想要保存计算最后预测结果的y,则应该在训练阶段将它添加到collection中。具体代码如下:

2.1 保存

和1.1一样,保持不变

2.2 载入

1

2

3

4

5

6

7

8

9

import tensorflow as tf

import numpy as np

# W = tf.Variable(tf.truncated_normal(shape=(2,3)),dtype = tf.float32,name='w')

# b = tf.Variable(tf.truncated_normal(shape=(1,3)),dtype = tf.float32,name='b')

 

# saver = tf.train.Saver()

with tf.Session() as sess:

    new_saver = tf.train.import_meta_graph("save/model.ckpt.meta")

    new_saver.restore(sess, "save/model.ckpt")

【个人理解:model.ckpt.meta : 保存了TensorFlow计算图的网络结构信息,import_meta_graph("save/model.ckpt.meta")这句拉取了结构,故不用重新定义。】

三、saved_model方式

实现了 (y = x + b)当输入一个x 那么输出的结果y就等于输入x加上b。

3.1 保存

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

# Author:yifan

import os

import tensorflow as tf # 以下所有代码默认导入

from tensorflow.python.saved_model.signature_def_utils_impl import predict_signature_def

# 保存模型路径

PATH = './models'

# 创建一个变量

one = tf.Variable(3.0)

# 创建一个占位符,在 Tensorflow 中需要定义 placeholder 的 type ,一般为 float32 形式

num = tf.placeholder(tf.float32,name='input')

# 创建一个加法步骤,注意这里并没有直接计算

sum = tf.add(num,one,name='output')

# 初始化变量,如果定义Variable就必须初始化

init = tf.global_variables_initializer()

# 创建会话sess

with tf.Session() as sess:

    sess.run(init)

    print(sess.run(sum, feed_dict={num: 5.0}))

    # #保存SavedModel模型,使用以下三句

    builder = tf.saved_model.builder.SavedModelBuilder(PATH)

    signature = predict_signature_def(inputs={'input':num}, outputs={'output':sum})

    builder.add_meta_graph_and_variables(sess,[tf.saved_model.tag_constants.SERVING],signature_def_map={'predict': signature})

    builder.save()

说明:

  1. tf.saved_model.builder.SavedModelBuilder:该方法的参数是传入用于保存模型的目录名,目录不用预先创建
  2. predict_signature_def:将输入节点、输出节点和名字(sig_name)传入,生成一个签名对象。传入的参数为输入和输出以及他们的name。
  3. add_meta_graph_and_variables:将签名加入到模型中
  4. 第一个参数传入的是Session它包含了当前graph(图)和Variables(变量)。
  5. 第二个参数是给当前需要保存的MetaGraph 一个标签,标签名可以自定义,在之后载入模型的时候,需要根据这个标签名去查找对应的MetaGraphDef,找不到就会报如 RuntimeError: MetaGraphDef associated with tags 'foo' could not be found in SavedModel这样的错。

---- 标签也可以选用系统定义好的参数,tf.saved_model.tag_constants.SERVING与        tf.saved_model.tag_constants.TRAINING等。

运行结果:8.0,和保存的模型:

  1. 执行完成后会在当前项目的目录下生成models文件夹,里面包含variables文件夹以及saved_model.pb文件。
  2. variables保存所有变量信息,
  3. saved_model.pb用于保存模型结构等信息,含图形结构。

注意:当前目录下不可以存在models文件夹,否则会报错。

3.2 载入

1

2

3

4

5

6

7

8

9

10

11

12

# Author:yifan

import tensorflow as tf # 以下所有代码默认导入

PATH = './models'

with tf.Session() as sess:

  tf.saved_model.loader.load(sess, ["serve"], PATH)

#一种载入变量的方式:

  in_x =tf.saved_model.loader.load(sess, ["serve"], PATH).signature_def['predict'].inputs['input'].name

#另一种载入变量的方式:

# in_x = sess.graph.get_tensor_by_name('input:0')     #加载输入变量

  y = sess.graph.get_tensor_by_name('output:0')       #加载输出变量

  scores = sess.run(y, feed_dict={in_x: 3.})

  print(scores)

说明:

  1. tf.saved_model.loader.load方法加载模型,第二个参数["serve"]为TAG标签与存模型时候指定的字段相同(tf.saved_model.tag_constants.SERVING = "serve",本文中调用了tf的定义),第三个参数为模型路径;
  2. tf.saved_model.loader.load(sess, ["serve"], PATH).signature_def['predict'].inputs['input'].name:用signature_def方法从导入的模型中提取签名。和3)作用是一样的。
  3. sess.graph.get_tensor_by_name:加载输入输出变量,注意这里的变量name都需要加上":0",如"input"变为"input:0"
  4. 最后像之前那样sess.run(),feed喂入数据,这里输入了个3.0。

结果:6.0

3.3 查看模型的Signature签名

传统的导入 需要用get_tensor_by_name , 这样就需要记录tensor的name熟悉,很麻烦。通过signature,我们可以指定变量的别名,方便存取。但如果我们拿到了别人的含有signature一个SavedModel模型而且并不知道"标签"那么怎么调用呢?

---Tensorflow官方已经为我们准备好了一个脚本,tensorflow下的saved_model_cli.py文件可以帮到。

我们可以'WIN+R'输入'cmd'然后回车打开你的CMD,然后指定路径到你的模型目录下,运行:

saved_model_cli show --dir=./ --all

打印出的信息中我们就可以看到模型的输入/输出的名称、数据类型、shape以及方法名称。

附件一:sklearn上的用法

保存参数:

from sklearn.externals import joblib

joblib.dump((centres, des_list,img_features), "imgs_features.pkl", compress=3)

读取参数:

centres, des_list, img_features = joblib.load("imgs_features.pkl") #读取保存的特征

参考文章

【1】 https://blog.youkuaiyun.com/thriving_fcl/article/details/71423039

【2】 https://blog.youkuaiyun.com/liuxiao214/article/details/79048136

【3】 https://blog.youkuaiyun.com/thriving_fcl/article/details/75213361

【4】 https://blog.youkuaiyun.com/weixin_43215867/article/details/85038313

 

————————————————

更多精彩内容请访问FlyAI-AI竞赛服务平台;为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台;每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。

挑战者,都在FlyAI!!!

TensorFlow saved_model 模块 saved_model模块主要用于TensorFlow Serving。TF Serving是一个将训练好的模型部署至生产环境的系统,主要的优点在于可以保持Server端与API不变的情况下,部署新的算法或进行试验,同时还有很高的性能。保持Server端与API不变有什么好处呢?有很多好处,我只从我体会的一个方面举例子说明一下,比如我们需要部署一个文本分类模型 阅读详情

相关推荐

tensorflow数据结构-SignatureDef

文章目录SignatureDef案列 SignatureDef 应该就是导出模型后,.index文件的部分,建立张量名到张量的映射。 message SignatureDef { //指定输入参数。 map<string, TensorInfo> inputs = 1; //指定输出参数 map<string, TensorInfo> outputs = 2...

写了 = 会了.gif 3072

tensorflow模型保存和加载

方式一ckpt 使用saver:如果要看,请直接看这个方法的最后两个,前面讲的是官网的坑。 用tf.train.Saver()创建一个saver,然后保存。 # 建立网络创建变量,建图 v1 = tf.Variable(..., name="v1") v2 = tf.Variable(..., name="v2") ... # 建立saver对象,后面保存的时候要用 saver = tf.train.Saver() with tf.Session() as sess: sess.run(..

qq_20849045的博客 755

Tensorflow Serving部署推荐模型

ADD:有两个参数,前一个参数指的是当前机器上的文件夹名称,后一个参数指的是创建出来的容器的文件夹名称。此处的命令意思是将当前机器上的gat(相对路径)文件夹下的所有东西,都复制到docker创建出来的容器中的/models/gat/1/文件夹下。此处的命令意思为创建文件夹models,并在models下创建。110、111、112、119、127是最近5次模型指标最高的5次记录,可以根据自己需要选择最高的记录,也可以在。在模型的输入和输出的地方,尽量自行定义name,这样在之后的部署的时候会方便很多!

u013250861的博客 827

tensorflow保存和恢复模型的两种方法介绍

一、前言 本文将会介绍tensorflow保存和恢复模型的两种方法,一种是传统的Saver类save保存和restore恢复方法,还有一种是比较新颖的SavedModelBuilder类的builder保存和loader文件里的load恢复方法。通过了解这两种方法,我们可以解决如何保存和恢复一个已经训练好的神经网络模型用于推理预测的现实需求,也可以辅助查看分析一个长时间训练的模型性能,最重要的是...

fly_time2012的专栏 1万+

Optisystem软件与Matlab软件的联合数据读取

目录 Matlab软件程序编写 Optisystem软件的连接与设置 数据读取结果 Matlab软件程序编写 利用Matlab软件按照下图编写程序,保存为getdata.m文件。 OutputPort1 =InputPort1; fileID=fopen('OSAdata.txt','wt'); fprintf(fileID,'%f\n',OutputPort1.Sampled.Signal); fclose(fileID); Optisystem软件的连接与设置 (以基于线性插值法

Vivian_Chen_的博客 4853

IEPE传感器4mA恒流源接口电路

另外传感器的偏置电压大概在10V多点,一般接个电容把直流分量去掉。这里我们要把恒流源的电流设置在4毫安左右,R1取33Ω差不多正好。经过CR的隔直流电路后的波形是这样的。

老白的博客 6115

ckpt模型转换为tf serving的saved model格式

最近这段时间又开始在弄部署问题,使用的是Google的Tensorflow serving框架,使用的环境是Ubuntu16.0.4+docker+tensorflow serving。如果需要知道这个框架怎么搭建,可以看我之前的博客https://blog.youkuaiyun.com/u012433049/article/details/88972850;模型部署测试https://blog.csdn.n...

u012433049的博客 2601

工业视觉中HDR算法的动态范围优化与Debevec/Mertens方法实践

本文深入探讨了工业视觉中HDR(高动态范围)成像技术,重点解析了Debevec和Mertens两种核心算法。针对工业场景中因动态范围不足导致的过曝与欠曝问题,文章详细对比了两种方法的原理、实现步骤、参数调优及适用场景,为工程师在静态检测与高速产线等不同需求下,选择并实践HDR算法提供了清晰的指导。

weixin_29099217的博客 193

tensorboard ckpt pb 模型的输出节点_FlyAI小课堂:Tensorflow-模型和数据的保存和载入...

在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。目录基本方法不需重新定义网络结构的方法saved_model方式附件一:sklearn上的用法一、基本方法1.1 保存定义变量使用saver.save()方法保存i...

weixin_39645343的博客 325

鼎阳示波器SCPI指令与MD5算法解锁带宽升级实战

本文详细介绍了鼎阳示波器通过SCPI指令与MD5算法实现带宽升级的实战流程。从设备连接、信息获取到Python密钥生成脚本解析,逐步指导用户完成升级操作,并涵盖常见问题排查与功能选件激活指南,帮助用户充分释放设备潜能。

www00的博客 349

使用 MATLAB/Simulink 构建一个 压水堆核电机组的反应堆控制与功率调节系统 仿真模型

本文通过Simulink构建压水堆核电机组的反应堆控制与功率调节模型,详细介绍了建模流程:从中子点动力学核心方程、反应性反馈模型(控制棒、多普勒和慢化剂效应)、一回路热工模型到完整的闭环控制系统。教程包含系统结构设计、参数设置、模块连接方法,以及典型负荷变化场景的仿真分析,帮助读者理解核反应堆动态特性和控制原理。同时提供了进阶建模建议,如分布参数模型和先进控制策略的应用。该模型为教学简化版,强调核能系统的机理建模与Simulink实现方法,适合核工程与控制领域的学习者参考实践。

amy_mhd的博客 187

FlyAI小课堂:Tensorflow-可视化(TensorBoard)

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 目录 TensorBoard简介 TensorBoard主要API 面板介绍 执行步骤 实例说明 在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFlow与OpenCv的混合编程、利用Matpltlib进行可视..

iFlyAI的博客 330

Image Sensor卷帘曝光(Rolling Shutter)基本原理以及对曝光行的通俗理解

由于CMOS sensor的曝光方式是一行一行的方式进行的,任何一个pixel的曝光时间是一样的,也就是同一行上的每个pixel的曝光开始点和曝光的时间都是一模一样的,所以同一行的所有点所接受到的能量是一样的,而在不同行之间虽然曝光时间都是一样的,但是曝光的开始点是不同的,所以不同行之间所接受到的能量是不一定相同的。至此完成了这一行的曝光。还是以桶装水为比喻: 排成一行的桶(桶的数量和每个桶的大小确定),每一曝光行为单位的时间内每一个桶加水都是一样,需要多少个曝光行才能使的所有水桶加起来的水达到1L。

大熊 3923

FlyAI小课堂:Tensorflow基操

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 目录 一、Tensorflow的排序与张量 二、Tensorflow 计算图 三、Tensorflow中的占位符 3.1 定义占位符 3.2 为占位符提供数据 3.3 用batch_sizes为数据阵列定义占位符 四、Ten..

iFlyAI的博客 328

电池管理系统(BMS)软件:CATL BMS二次开发_(1).CATL BMS软件概述

CATL BMS软件的保护机制是确保电池组安全和可靠运行的关键部分。通过高精度的传感器和智能算法,BMS可以实时监测电池组的状态,及时采取保护措施。二次开发中,可以根据特定的应用需求,增加新的传感器、优化算法、扩展通信接口等,进一步提高系统的性能和可靠性。维护和扩展则是确保系统长期稳定运行的重要手段。希望以上内容对您理解CATL BMS软件的保护机制有所帮助。如果您有任何进一步的问题或需要更详细的解释,欢迎随时提问。

zhubeibei168的博客 1459

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

tensorflow 模型可视化_FlyAI小课堂:Tensorflow-可视化(TensorBoard)

在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。目录TensorBoard简介TensorBoard主要API面板介绍执行步骤实例说明在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFl...

weixin_39827585的博客 728

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

FlyAI小课堂:Tensorflow-分布式训练

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 目录 简介 构建步骤 实现方式 Demo演示 一、简介 1. 使用单台机器或者单个GPU/CPU来进行模型训练,训练速度会受资源的影响,因为毕竟单个的设备的计算能力和存储能力具有一定的上限的,针对这个问题,TensorFlow支...

iFlyAI的博客 1200

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

FlyAI小课堂:Tensorflow-变量作用域

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 目录 背景 简介 name_scope variable_scope 实例 一、背景 通过tf.Variable我们可以创建变量,但是当模型复杂的时候,需要构建大量的变量集,这样会导致我们对于变量管理的复杂性,而且没法共享变量(存在多..

iFlyAI的博客 365

android以ini文件形式保存在内部存储_FlyAI小课堂:小白学PyTorch(17)TFrec文件的创建与读取...

Fly-AI竞赛服务平台 flyai.com在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。参考目录:目录1 为什么用tfrec文件2 tfrec文件的内部结构3 制作tfrec文件4 读取tfrec文件第一次接...

weixin_39635373的博客 100

azure 读取文件的目录怎么_FlyAI小课堂:小白学PyTorch(16)TF2读取图片的方法

Fly-AI竞赛服务平台 flyai.com在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。参考目录:目录1 PIL读取图片2 TF读取图片3 TF构建数据集1 PIL读取图片想要把一个图片,转换成RGB3通道的...

weixin_31999597的博客 118

Tensorflow serving 学习(一)

tensorflow serving是tf官方推出的专为生产环节设计的机器学习模型服务系统(TensorFlow Serving is a flexible, high-performance serving system for machine learning models,designed for production environments),使用它可以很方便的将训练好的模型部署成web...

骑着蜗牛向前跑的博客 1294

C# WPF调用Python-Tensorflow2深度学习模型

C# WPF调用python-tensorflow2深度学习模型一 环境介绍二 tensorflow模型的训练和生成1 加载数据训练模型2 h5文件转pb二 C#加载模型并预测1 vs2017环境搭建2 调用模型三 最终效果 python在研究深度学习人工智能领域十分强大,但在工业项目开发中仍常常使用C#和C++来做软件,C++有Caffe深度学习框架,但C#尚且没有成熟的深度学习框架(有个tensroflow.net尚在开发中,有兴趣可以去研究研究)。现在实验室项目开发又要用C#,经过实践最终决定在C#端

LemonQ的博客 6383

python加载模型进行测试代码实现_导出pb模型之后测试的python代码

链接:https://blog.youkuaiyun.com/thriving_fcl/article/details/75213361saved_model模块主要用于TensorFlow Serving。TF Serving是一个将训练好的模型部署至生产环境的系统,主要的优点在于可以保持Server端与API不变的情况下,部署新的算法或进行试验,同时还有很高的性能。保持Server端与API不变有什么好处...

weixin_39880318的博客 814

Tensorflow学习笔记(二)模型的保存与加载(一 )

Tensorflow学习笔记(二)模型的保存与加载(一 ) SavedModel模型的保存与加载保存加载查看模型的Signature签名 SavedModel模型的保存与加载 声明: 参考链接这篇博文以及官方文档 保存 关于SavedModel模型的好处与简介大家可以参考这里的文章,本文只用一个很简单的例子来演示SavedModel模型的保存与加载。 在上一篇的末尾我们贴出了一个很简单的代码,...

学习小白 3678

如何查看tensorflow SavedModel格式模型的信息

在《Tensorflow SavedModel模型的保存与加载》一文中,我们谈到SavedModel格式的优点是与语言无关、容易部署和加载。那问题来了,如果别人发布了一个SavedModel模型,我们该如何去了解这个模型,如何去加载和使用这个模型呢? 理想的状态是模型发布者编写出完备的文档,给出示例代码。但在很多情况下,我们只是得到了训练好的模型,而没有齐全的文档,这个时候我们能否从模型本身上获得...

weixin_34000916的博客 1192
上一篇: FlyAI小课堂:Tensorflow-可视化(TensorBoard)
下一篇: FlyAI小课堂:Tensorflow-分布式训练
iFlyAI
博客等级 码龄9年 238粉丝 134原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值