Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tf.train.shuffle\u batch\u join和tf.train.shuffle\u batch之间的差异_Python_Python 3.x_Tensorflow_Machine Learning_Pipeline - Fatal编程技术网

Python tf.train.shuffle\u batch\u join和tf.train.shuffle\u batch之间的差异

Python tf.train.shuffle\u batch\u join和tf.train.shuffle\u batch之间的差异,python,python-3.x,tensorflow,machine-learning,pipeline,Python,Python 3.x,Tensorflow,Machine Learning,Pipeline,查看两个函数签名和参数 tf.train.shuffle_batch_join( tensors_list, batch_size, capacity, min_after_dequeue, seed=None, enqueue_many=False, shapes=None, allow_smaller_final_batch=False, shared_name=None, name=None ) 及 atguments之间唯一的区别是num_threads,这直观地表示tf.train.

查看两个函数签名和参数

tf.train.shuffle_batch_join(
tensors_list,
batch_size,
capacity,
min_after_dequeue,
seed=None,
enqueue_many=False,
shapes=None,
allow_smaller_final_batch=False,
shared_name=None,
name=None
)

atguments之间唯一的区别是
num_threads
,这直观地表示
tf.train.shuffle_batch
可以使用多个线程或进程进行处理,但它们似乎做的工作基本相同


我想知道除了批量的多处理之外,是否有人会选择一个而不是另一个的根本区别。

引用shuffle“u batch”join TF文档:

张量列表参数是张量元组列表或张量字典列表。列表中的每个元素的处理方式与tf.train.shuffle_batch()的张量参数类似

基本上,shuffle\u batch\u join希望:

  • 接收张量列表
  • 对列表中的每个成员执行shuffle\u批处理
  • 返回一个与张量列表[i]数量和类型相同的张量列表
请注意,如果使用shuffle\u batch\u join:

len(tensors_list)线程将启动,线程i将从tensors_list[i]中排队。张量列表[i1][j]必须在类型和形状上与张量列表[i2][j]匹配,但如果enqueue\u many为true,则在第一维中除外


我想我已经阅读了文档,我没有看到太多的差异,除了函数参数,好像一个重载另一个,我的问题是使用一个比另一个有什么区别?性能?我最初的想法是批量洗牌,而不是逐批按元素排序?医生说每个参数都是一样的,我们来看看。基本上,如果您有多个读卡器,并且希望在文件之间进行洗牌,则首选洗牌\批处理\加入。
tf.train.shuffle_batch(
tensors,
batch_size,
capacity,
min_after_dequeue,
num_threads=1,
seed=None,
enqueue_many=False,
shapes=None,
allow_smaller_final_batch=False,
shared_name=None,
name=None
)