了解张量流间/内并行线程

2024-07-04

我想更多地了解这两个参数:操作内和操作间并行线程

session_conf = tf.ConfigProto(
  intra_op_parallelism_threads=1,
  inter_op_parallelism_threads=1)

我读过这篇文章,其中有很好的解释:TensorFlow:操作间和操作内并行性配置 https://stackoverflow.com/questions/41233635/tensorflow-inter-and-intra-op-parallelism-configuration

但我正在寻求确认,并在下面提出新问题。我正在 keras 2.0.9、tensorflow 1.3.0 中运行我的任务:

  1. 当两者都设置为 1 时,是否意味着在具有 4 个核心的计算机上,四个核心将仅共享 1 个线程?
  2. 为什么使用 1 个线程似乎对我的任务速度没有太大影响?我的网络具有以下结构:dropout、conv1d、maxpooling、lstm、globalmaxpooling、dropout、dense。上面引用的帖子说,如果有大量矩阵乘法和减法运算,使用多线程设置会有所帮助。我对下面的数学了解不多,但我想我的模型中有很多这样的矩阵运算?然而,将两个参数从 0 设置为 1 只会使 10 分钟的任务慢 1 分钟。
  3. 为什么多线程可能成为不可重现结果的来源?看使用 Python 中的 Keras 和 TensorFlow 无法重现结果 https://stackoverflow.com/questions/46836857/results-not-reproducible-with-keras-and-tensorflow-in-python。这是我在进行科学实验时需要使用单线程的主要原因。当然,随着时间的推移,张量流一直在改进,为什么这个版本没有解决这个问题?

提前谢谢了


  1. 当两个参数都设置为 1 时,将有 1 个线程在 4 个核心中的 1 个上运行。它运行的核心可能会改变,但每次总是 1。

  2. 当并行运行某些东西时,总是需要在通信损失时间和通过并行化获得时间之间进行权衡。根据所使用的硬件和特定任务(如矩阵的大小),加速会发生变化。有时并行运行某些东西甚至比使用一个核心还要慢。

  3. 例如,当在 cpu 上使用浮点数时,(a + b) + c将不等于a + (b + c)因为浮点精度。使用多个并行线程意味着像这样的操作a + b + c并不总是以相同的顺序计算,导致每次运行都会得到不同的结果。然而,这些差异非常小,在大多数情况下不会影响整体结果。通常仅在调试时才需要完全可重现的结果。强制执行完全的可重复性会大大减慢多线程的速度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解张量流间/内并行线程 的相关文章

随机推荐

  • Zend 框架表单与 jquery

    有人知道如何使用 Zend Form 和 jquery 简单地创建一个表单吗 我想使用 Zend Form 来验证表单 这样我就不必在 JavaScript 和 PHP 中编写表单的双重脚本 谢谢你 伊沃 特罗姆伯特 那里没问题 如果您使用
  • 获取JQuery中选定单选按钮的文本

    在 Jquery 中 如何获取所选单选按钮的文本 而不是值 如下所示
  • CacheStoreMode USE 和 REFRESH 有什么区别

    javadoc 为缓存存储模式 http docs oracle com javaee 6 api javax persistence CacheStoreMode html区分我无法真正理解的一点 javadoc 为USE mode 从数
  • 何时何地打开数据库连接

    我正在努力实现发现的 mysql 类的使用here http www ricocheting com scripts php mysql wrapper php在现有脚本中 该脚本几乎总是需要与数据库交互 即使有时不需要 在这种情况下 最佳
  • 将图像添加到Toast?

    是否可以以编程方式将图像添加到 toast 弹出窗口 Yes 您可以使用 setView 方法将 imageview 或任何视图添加到 toast 通知中 使用此方法您可以根据您的要求自定义 Toast 在这里 我创建了一个要膨胀到 Toa
  • 用于结构化数据格式(XML、JSON)内的目标内容的标准表示法?

    问题是这样的 我处于 Web 环境中 并且拥有以某种结构化格式 例如 XML 或 JSON 表示的数据 我想定位这些表示内的元素 这是一个例子 动物园的 XML 表示形式
  • 避免 xjc 生成的代码出现编译器警告

    我的根本问题是如何从 未经检查的泛型类型 Eclipse 编译器警告中受益 但问题视图中没有这些警告列表 这些警告被 xjc 从 xsd 文件生成的 java 类的噪声污染 通过 maven jaxb2 插入 我读过其他地方 我可以忽略每个
  • 将字符串中的每个字符转换为 ASCII

    谁能告诉我如何轻松地将字符串中的每个字符转换为 ASCII 值 以便我可以对这些值求和 我需要对哈希函数的值求和 字符串中的每个字符都已经是 ascii include
  • GlassFish 服务器日志的位置

    我在 Windows 7 64 位计算机上安装了 NetBeans IDE 显然 NetBeans 附带了 GlassFish 服务器 我目前在一个项目中遇到问题 想检查服务器日志 请问这些保存在哪里 一般来说 日志位于 YOUR GLAS
  • /lib64/libc.so.6:找不到版本“GLIBC_2.14”。为什么我会收到此错误?

    我在 Node js 中工作 我已经安装了鹰嘴豆泥包 它安装正确 我正在使用这个包来修改 pdf 文件 下载 pdf 时 我调用鹰嘴豆泥 单击下载时出现此错误 Error lib64 libc so 6 version GLIBC 2 14
  • 部署到 10.6 时出现 ARC 错误

    我的应用程序在 10 7 上运行和测试 但后来意识到我也需要它在早期版本上运行 不幸的是 我从一开始就在 ARC 的情况下开始了这个项目 现在我的构建设置是调试基础 sdk 10 7 并发布基础 sdk 10 6 当我尝试存档我的应 用程序
  • Laravel 4 中的图标链接

    有人可以帮忙重写这个 从 HTML 到 Laravel4 吗 a href index php span i class icon home i span Home a 该页面的路由名称只是 我知道如何在 Laravel 中编写简单的链接
  • 为什么 List.contains() 在 Collections Java 中将 Object 作为参数 [重复]

    这个问题在这里已经有答案了 The java util List contains Object o 方法需要Object作为参数并在内部使用Object equals Object o 如上所述here http docs oracle
  • 查找 R 中已知中心点的半径范围内的纬度/经度

    我有一个具有已知纬度和经度的已知点 中心 并且我在 df 中有一些坐标 以纬度 经度为单位 我想查看哪些坐标在距中心点 5 公里或更小的半径内 Centre mylon lt c 2 106472 mylat lt c 57 14455 坐
  • 调整图像大小以适合父节点

    如何让 ImageView 中的图像自动调整大小以使其始终适合父节点 这是一个小代码示例 Override public void start Stage stage throws Exception BorderPane pane new
  • 覆盖引导样式不起作用

    我有这种简单的情况 我有一种没有定义的风格display属性值 我最近在我的项目中添加了 bootstrap 没有出现重大问题 只有一个 In label bootstrap style is defined a display inlin
  • Angular Service Worker 在不支持的浏览器上

    Angular 团队做得非常出色 并在版本 5 中引入了 Service Worker 支持 文档 https angular io guide service worker intro非常有帮助 在阅读相关文章后我真的可以看到这些事情是如
  • Numpy“shape”函数返回 2D 数组的 1D 值

    所以我创建了这个数组作为示例 a np array 1 1 1 1 2 2 2 2 3 3 3 3 4 13 49 13 49 10 10 2 2 11 1 1 1 2 22 2 2 3 33 3 3 4 133 49 13 49 100
  • 如何读取PHP上传的文件头?

    我们能否在PHP中读取文件的头信息来判断上传的文件类型 我不想依赖 FILES control name from client type 我们知道 该属性通过读取上传文件的扩展名来确定文件类型 如果用户重命名怎么办 test jpg gt
  • 了解张量流间/内并行线程

    我想更多地了解这两个参数 操作内和操作间并行线程 session conf tf ConfigProto intra op parallelism threads 1 inter op parallelism threads 1 我读过这篇