performance - Tensorflow 数据集 API 获取大批量数据的速度很慢
问题描述
我发现即使所有数据都在内存中,当批量很大时,从 tensorflow 数据集 API 获取一批可能会非常慢。以下是一个例子。有没有人有任何见识?
FEATURE_NUM = 500
tf_X = tf.placeholder(dtype=tf.float32, shape=[None, FEATURE_NUM], name="X")
tf_Y = tf.placeholder(dtype=tf.float32, shape=[None, 1], name="Y")
batch_size = 1000000
dataset = tf.data.Dataset.from_tensor_slices((tf_X, tf_Y)).batch(batch_size)
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
se = tf.Session()
se.run(tf.global_variables_initializer())
se.run(iterator.initializer, feed_dict={tf_X : numpy_array_X, tf_Y : numpy_array_Y})
while True:
data = se.run(next_element) # This takes more than 5 seconds per call
解决方案
推荐阅读
- google-sheets - 基于集团交叉参考的总价值?(谷歌表格)
- javascript - 使用地图将一些函数应用到数组中
- sql - 如何添加单引号作为分隔符?
- python - 视频系统未初始化
- google-sheets - Google表格:如果所有单元格都等于“是”,则突出显示整列
- math - 64 位乘法/除法没有 64 位乘法或除法指令
- javascript - 使用 React 功能组件更新 Array 中对象的属性
- arrays - 返回数组中数字的总和,数字 13 除外
- reactjs - 对象键可选与打字稿 - 但能够调用它
- scala - 使用 Scala 内置的解析器组合器来解析基本的 MIPS 代码