如何理解python神经网络tf.train.batch函数的使用
Admin 2022-09-16 群英技术资讯 1422 次浏览
在日常操作或是项目的实际应用中,有不少朋友对于“如何理解python神经网络tf.train.batch函数的使用”的问题会存在疑惑,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。tf.train.batch(
tensors,
batch_size,
num_threads=1,
capacity=32,
enqueue_many=False,
shapes=None,
dynamic_pad=False,
allow_smaller_final_batch=False,
shared_name=None,
name=None
)
其中:
1、tensors:利用slice_input_producer获得的数据组合。
2、batch_size:设置每次从队列中获取出队数据的数量。
3、num_threads:用来控制线程的数量,如果其值不唯一,由于线程执行的特性,数据获取可能变成乱序。
4、capacity:一个整数,用来设置队列中元素的最大数量
5、allow_samller_final_batch:当其为True时,如果队列中的样本数量小于batch_size,出队的数量会以最终遗留下来的样本进行出队;当其为False时,小于batch_size的样本不会做出队处理。
6、name:名字
import pandas as pd
import numpy as np
import tensorflow as tf
# 生成数据
def generate_data():
num = 18
label = np.arange(num)
return label
# 获取数据
def get_batch_data():
label = generate_data()
input_queue = tf.train.slice_input_producer([label], shuffle=False,num_epochs=2)
label_batch = tf.train.batch(input_queue, batch_size=5, num_threads=1, capacity=64,allow_smaller_final_batch=True)
return label_batch
# 数据组
label = get_batch_data()
sess = tf.Session()
# 初始化变量
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())
# 初始化batch训练的参数
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess,coord)
try:
while not coord.should_stop():
# 自动获取下一组数据
l = sess.run(label)
print(l)
except tf.errors.OutOfRangeError:
print('Done training')
finally:
coord.request_stop()
coord.join(threads)
sess.close()
运行结果为:
[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 0 1]
[2 3 4 5 6]
[ 7 8 9 10 11]
[12 13 14 15 16]
[17]
Done training
相比allow_samller_final_batch=True,输出结果少了[17]
import pandas as pd
import numpy as np
import tensorflow as tf
# 生成数据
def generate_data():
num = 18
label = np.arange(num)
return label
# 获取数据
def get_batch_data():
label = generate_data()
input_queue = tf.train.slice_input_producer([label], shuffle=False,num_epochs=2)
label_batch = tf.train.batch(input_queue, batch_size=5, num_threads=1, capacity=64,allow_smaller_final_batch=False)
return label_batch
# 数据组
label = get_batch_data()
sess = tf.Session()
# 初始化变量
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())
# 初始化batch训练的参数
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess,coord)
try:
while not coord.should_stop():
# 自动获取下一组数据
l = sess.run(label)
print(l)
except tf.errors.OutOfRangeError:
print('Done training')
finally:
coord.request_stop()
coord.join(threads)
sess.close()
运行结果为:
[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 0 1]
[2 3 4 5 6]
[ 7 8 9 10 11]
[12 13 14 15 16]
Done training
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
关于计算器的实现,不少朋友可能使用JavaScript或者PHP有实现过,是比较简单的。那么我们如果要用python来实现,怎样写一个计算器呢?下面就给大家分享一下实现示例以及代码。
Python内置函数-enumerate() 函数。enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,下标默认从0开始,一般用在 for 循环当中。
在本篇内容里小编给大家总结的是一篇关于python中Task封装协程的知识点总结内容,有兴趣的朋友们可以跟着学习下。
这篇文章主要介绍了关于python中逆序的三位数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了python 实现对Series中的每一个数据做运算操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008