问题标签 [tensorflow-gpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
294 浏览

tensorflow - 结合 2 个不同的 GPU 卡进行小型批处理

我刚买了一台 GTX 1080Ti,我想知道我是否可以同时使用我的旧 GTX 1070 和 GTX 1080Ti 来使用 TensorFlow 或 PyTorch 进行小型批处理。

我主要担心的是:

GTX 1070 会成为 GTX 1080Ti 的瓶颈,还是每张卡的功率都将发挥到最大?

我知道在 SLI 配置中,总 VRAM 的数量将等于数量最少的卡(这里的 GTX 1070 具有 8GB 或 VRAM)但是在不涉及 SLI 的 tensorflow/pytorch 训练期间会发生同样的事情吗?

0 投票
1 回答
404 浏览

tensorflow - 当我运行 tensorflow-gpu 时发出警告。它使用GPU吗?

当我运行这个命令时:

我得到这个日志:

这是否向我保证 tensorflow 代码将使用 GPU?我有一个以前版本的 tensorflow,消息很清楚它使用了 GPU。现在,在我升级它之后,消息变得不同且令人困惑。我可以看到它发现了我的 GPU,但它是确定使用它还是仍在使用 CPU?如何从代码中检查这一点以确保使用的设备是 GPU?

我很担心,因为我有:

说明keras使用的是CPU版本!

0 投票
1 回答
679 浏览

tensorflow - TensorFlow 数据匮乏的 GPU

我需要帮助优化自定义 TensorFlow 模型。我有一个 40GB ZLIB 压缩的 .TFRecords 文件,其中包含我的训练数据。每个样本由两个 384x512x3 图像和一个 384x512x2 向量场组成。我正在按如下方式加载我的数据:

但是,我每秒只能获得大约 0.25 到 0.30 的全局步数。(慢的!)

这是我用于并行阅读器的 TensorBoard dash。它始终保持在 99%-100%。 在此处输入图像描述

我绘制了一段时间内的 GPU 使用情况(每秒百分比)。它看起来数据匮乏,但我不知道如何解决这个问题。我尝试增加/减少线程数,但似乎没有什么不同。我正在使用具有 4 个 CPU 和 61GB RAM 的 NVIDIA K80 GPU 进行训练。

GPU 使用率

我怎样才能让这列火车更快?

0 投票
1 回答
656 浏览

tensorflow - Tensorflow:如何利用多 GPU?

我有一个在 1 个 GPU 上运行良好的 CNN。现在我搬到另一台有 2 个 GPU 的计算机上,我想使用两个 GPU 来训练我的网络以节省时间。我怎么能做到?

我阅读了https://www.tensorflow.org/tutorials/using_gpu但我认为这个例子太简单了,老实说我不知道​​如何在我的真实网络上应用它。

谁能给我一个关于我的网络的简单说明?(我正在做自动编码器)。

非常感谢!

如果您想查看更多详细信息

.

0 投票
1 回答
207 浏览

tensor - 数据未在 TensorFlow Worker 之间分发

我编写了一个分布式 TensorFlow 程序,其中包含 1 个 ps 作业和 2 个 worker 作业。我原以为数据批次会分布在工作人员之间,但似乎并非如此。我看到只有一名工作人员(task=0)在做所有工作,而另一名工作人员则处于空闲状态。你能帮我找出这个程序的问题吗:

以下是 task=0 的工作人员的日志:

2017-06-20 04:50:58.405431: I tensorflow/core/common_runtime/simple_placer.cc:841] Adagrad/value: (Const)/job:ps/replica:0/task:0/cpu:0 truncated_normal/stddev : (Const): /job:worker/replica:0/task:0/gpu:0
2017-06-20 04:50:58.405456: I tensorflow/core/common_runtime/simple_placer.cc:841] truncated_normal/stddev: ( const)/job:worker/replica:0/task:0/gpu:0 truncated_normal/mean: (Const): /job:worker/replica:0/task:0/gpu:0
2017-06-20 04:50 :58.405481: I tensorflow/core/common_runtime/simple_placer.cc:841] truncate_normal/mean: (Const)/job:worker/replica:0/task:0/gpu:0 truncated_normal/shape: (Const): /job:工人/副本:0/任务:0/GPU:0
2017-06-20 04:50:58.405506: I tensorflow/core/common_runtime/simple_placer.cc:841] truncated_normal/shape: (Const)/job:worker/replica:0/task:0/gpu:0 Worker 0:会话初始化完成。
提取下
一批 500 提取下一批 500 提取下一批 500 提取下一批 500 提取下一批 500 完成步骤 408800 ... ...

但从工人 2 (task=1) 的日志看起来像:

2017-06-20 04:51:07.288600: I tensorflow/core/common_runtime/simple_placer.cc:841] 零:(Const)/job:worker/replica:0/task:1/gpu:0 Adagrad/value:( const): /job:ps/replica:0/task:0/cpu:0
2017-06-20 04:51:07.288614: I tensorflow/core/common_runtime/simple_placer.cc:841] Adagrad/value: (Const) /job:ps/replica:0/task:0/cpu:0 truncated_normal/stddev: (Const): /job:worker/replica:0/task:1/gpu:0
2017-06-20 04:51:07.288639 : I tensorflow/core/common_runtime/simple_placer.cc:841] truncated_normal/stddev: (Const)/job:worker/replica:0/task:1/gpu:0 truncated_normal/mean: (Const): /job:worker/副本:0/任务:1/GPU:0
2017-06-20 04:51:07.288664: I tensorflow/core/common_runtime/simple_placer.cc:841] truncated_normal/mean: (Const)/job:worker/replica:0/task:1/gpu:0 truncated_normal/shape : (Const): /job:worker/replica:0/task:1/gpu:0 2017-06-20 04:51:07.288689: I tensorflow/core/common_runtime/simple_placer.cc:841] truncated_normal/shape: ( const)/job:worker/replica:0/task:1/gpu:0

我期待两位工人提供类似的日志。请帮助我理解这一点。期待您的帮助。

0 投票
1 回答
197 浏览

python - Tensorflow 1.2 分配变量

正如标题所说,我正在为我的机器使用从源代码构建的 tensorflow 1.2 版。我不相信这会影响我的问题。

这两个代码块有什么区别?最上面的一个导致我在训练时永远不会得到分配的值,但最下面的却是。我将所有纪元数据复制到 gpu,然后根据需要获取每个批次的数据,因此此代码在同一会话中每个批次的开头运行。

代码在 python 中,所有这些都在我的模型类中定义。所有 self.data 对象都是 3D float32 张量。

0 投票
1 回答
620 浏览

python - CUDA v8.0 的 Tensorflow GPU 1.2 安装堆栈跟踪

我正在尝试在我的 Windows 10 上安装 tensorflow-gpu 版本。我已经安装了 CUDA v8 和 cuDNN 6。在此之后,我尝试在 pip 安装程序的帮助下安装 tensorflow-gpu。但是当我尝试导入 tensoflow 时,我在控制台上收到以下堆栈跟踪错误

任何人都可以帮助解决这个问题吗?

0 投票
0 回答
578 浏览

android - 如何在 Android/IOS 中使用 tf.train.ExponentialMovingAverage

freeze_graph用来将我的模型导出到一个名为"frozen.pb". 但是发现预测的准确率frozen.pb很差。

我知道问题可能MovingAverage不包含在frozen.pb.

当我使用model.ckpt文件恢复模型进行评估时,如果我调用tf.train.ExponentialMovingAverage(0.999),则准确度符合预期,否则准确度很差。

那么如何导出与从检查点文件恢复的性能相同的二进制模型呢? 我想".pb"在 Android 设备中使用文件。

官方文档没有提到这一点。

谢谢!!

冻结命令:

评估代码:

0 投票
2 回答
15755 浏览

tensorflow - 如何理解 TensorFlow 中的 tf.get_collection()

我对文档tf.get_collection()的形式感到困惑,它说

返回集合中具有给定名称的值列表。

互联网上的一个例子是here

这是否意味着它从tf.GraphKeys.TRAINABLE_VARIABLES to收集变量from_scope

但是,如果我想从另一个作用域获取变量,我该如何使用这个函数呢?谢谢!

0 投票
1 回答
111 浏览

tensorflow - tensorflow convnet 是否仅在多个 GPU 上复制模型?

我目前正在运行一个用于图像识别的 Tensorflow 卷积网络,并且我正在考虑购买新的 GPU 以支持更复杂的图形、批量大小和输入维度。我读过这样的帖子不建议使用 AWS GPU 实例来训练 convnet,但总是欢迎更多意见。

我已经阅读了 Tensorflow 的指南'Training a Model Using Multiple GPU Cards',并且该图似乎在 GPU 之间重复。我想知道这是在 Tensorflow convnet 中使用并行 GPU 的唯一方法吗?

我之所以问这个问题是因为如果 Tensorflow 只能跨多个 GPU 复制图形,这意味着每个 GPU 必须至少具有我的模型一批所需的内存大小。(例如,如果所需的最小内存大小为 5GB,则两张 4GB 的卡将无法完成这项工作)

先感谢您!