Tensorflow训练和测试时输入数据数量不同的解决方法

分为以下两种方法:
1 将训练的模型保存为ckpt格式,训练时一次训练batch_size张图片(比如设为8,16,32等),测试时再重新设置不同的batch_size(比如一次只想测试一张图片,则将batch_size设为1),然后进行inference并restore保存的ckpt模型
在这里插入图片描述
在这里插入图片描述

2 如果将模型保存为pb格式,那么模型被固化,测试时数据的shape必须与训练时输入的数据shape保持一样,此时如果想实现测试时的batchsize大小随意设置, 那么在训练时, 输入的placeholder的shape应该设置为[None, H, W, C]. 训练和测试feed不同batchsize的数据就行了
在这里插入图片描述
个人比较推荐第二种方法,因为.ckpt方式保存模型,这种模型文件是依赖 TensorFlow 的,只能在其框架下使用。而 .pb文件里面保存了图结构+数据,加载模型时只需要这一个文件就好。它具有语言独立性,可独立运行,封闭的序列化格式,任何语言都可以解析它,它允许其他语言和深度学习框架读取、继续训练和迁移 TensorFlow 的模型。另外的好处是保存为 PB 文件时候,模型的变量都会变成固定的,导致模型的大小会大大减小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值