tensorflow tips:features,batch_size,iteration,epoch, global_step, shard

example相当于一个单位的训练数据,例如一张图片,example包含features,features包含多个feature,feature即一个格式为Int64List或BytesList等格式的数据,例如一张图片包含的feature有:height, width,channels,filename,format等等。


如果batch_size==1,相当于学完一张图片就更新参数, 这样会导致特征不明显,参数振荡,两次的学习结果可能会互相抵消;如果batch_size=images_num(一个epoch), 相当于遍历完所有图片进行权值更新,这样训练的速度太慢。所以可以综合一下,取一个合适值。关于batch_size的取值问题参考:点击打开链接


epoch是整个训练数据集,当数据集不大时,直接batch_size=image_num,数据集大时可能资源不够,将epoch分成多个batches。


iteration是完成一次epoch所需的batch个数,也是batch_num。


global_step在训练中是计数的作用,每训练一个batch就加1,一般会设置一个max_number_of_steps,到达后训练结束。如在cifar10_train.py中,训练100K steps,训练了256个epoches。


读取数据例如图片集时,会创建多个线程来增加速度,读取图片后将数据存进tfrecord文件,为了加速读取,可设置多个存入数据的文件即rfrecord文件,这个tfrecord文件数就是shard的值,每一个线程均分设置的shard数量,所以shard数应当是thread数的倍数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值