- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 source code在 GitHub 上,如果我在 train.batch
中使用 allow_smaller_final_batch=True
,则对所有内容使用 dequeue_up_to
而不是 dequeue_many
批处理。 dequeue_up_to 是否较慢?即使在 TensorFlow 存储库中搜索后,我也无法找到该源代码。我已经跟踪了 dequeue_many
和 dequeue_up_to
函数,直到这个文件 here但我找不到 gen_data_flow_ops
及其函数,并且在存储库中搜索仅返回 gen_data_flow_ops
导入的结果。为什么会这样?
最佳答案
难以跟踪代码从 Python 代码路径到 C++ 操作是 TensorFlow 操作包装技术的一个不幸后果。一般来说,C++ 实现被命名为 FooBarOp,而 Python 最终在生成的代码中调用 foo_bar。
在本例中gen_data_flow_ops._queue_dequeue_up_to_v2是一个自动生成的Python包装器,用于注册QueueDequeueUpToV2 ,这是 C++ DequeueUpToOp 的别名.
为了回答您原来的问题,队列本身不太可能有任何显着的性能差异(出队的 UpTo 版本仅在队列关闭后执行不同的操作)。然而,启用allow_small_batch将从图中删除一些静态形状信息(批量大小),如果下游操作基于静态形状进行优化,这可能会使下游操作变慢一些。
关于python - TensorFlow:tf.train.batch 中 dequeue_up_to 比 dequeue_many 慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119900/
我对这种方法真的很困惑,尤其是当我发现这个令人费解的陈述时: output.set_shape(tensor_shape.TensorShape([None]).concatenate(shape))
在 source code在 GitHub 上,如果我在 train.batch 中使用 allow_smaller_final_batch=True,则对所有内容使用 dequeue_up_to 而
我是一名优秀的程序员,十分优秀!