问题标签 [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.
tensorflow - 结合 2 个不同的 GPU 卡进行小型批处理
我刚买了一台 GTX 1080Ti,我想知道我是否可以同时使用我的旧 GTX 1070 和 GTX 1080Ti 来使用 TensorFlow 或 PyTorch 进行小型批处理。
我主要担心的是:
GTX 1070 会成为 GTX 1080Ti 的瓶颈,还是每张卡的功率都将发挥到最大?
我知道在 SLI 配置中,总 VRAM 的数量将等于数量最少的卡(这里的 GTX 1070 具有 8GB 或 VRAM)但是在不涉及 SLI 的 tensorflow/pytorch 训练期间会发生同样的事情吗?
tensorflow - 当我运行 tensorflow-gpu 时发出警告。它使用GPU吗?
当我运行这个命令时:
我得到这个日志:
这是否向我保证 tensorflow 代码将使用 GPU?我有一个以前版本的 tensorflow,消息很清楚它使用了 GPU。现在,在我升级它之后,消息变得不同且令人困惑。我可以看到它发现了我的 GPU,但它是确定使用它还是仍在使用 CPU?如何从代码中检查这一点以确保使用的设备是 GPU?
我很担心,因为我有:
说明keras使用的是CPU版本!
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 进行训练。
我怎样才能让这列火车更快?
tensorflow - Tensorflow:如何利用多 GPU?
我有一个在 1 个 GPU 上运行良好的 CNN。现在我搬到另一台有 2 个 GPU 的计算机上,我想使用两个 GPU 来训练我的网络以节省时间。我怎么能做到?
我阅读了https://www.tensorflow.org/tutorials/using_gpu但我认为这个例子太简单了,老实说我不知道如何在我的真实网络上应用它。
谁能给我一个关于我的网络的简单说明?(我正在做自动编码器)。
非常感谢!
如果您想查看更多详细信息
.
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
我期待两位工人提供类似的日志。请帮助我理解这一点。期待您的帮助。
python - Tensorflow 1.2 分配变量
正如标题所说,我正在为我的机器使用从源代码构建的 tensorflow 1.2 版。我不相信这会影响我的问题。
这两个代码块有什么区别?最上面的一个导致我在训练时永远不会得到分配的值,但最下面的却是。我将所有纪元数据复制到 gpu,然后根据需要获取每个批次的数据,因此此代码在同一会话中每个批次的开头运行。
代码在 python 中,所有这些都在我的模型类中定义。所有 self.data 对象都是 3D float32 张量。
python - CUDA v8.0 的 Tensorflow GPU 1.2 安装堆栈跟踪
我正在尝试在我的 Windows 10 上安装 tensorflow-gpu 版本。我已经安装了 CUDA v8 和 cuDNN 6。在此之后,我尝试在 pip 安装程序的帮助下安装 tensorflow-gpu。但是当我尝试导入 tensoflow 时,我在控制台上收到以下堆栈跟踪错误
任何人都可以帮助解决这个问题吗?
android - 如何在 Android/IOS 中使用 tf.train.ExponentialMovingAverage
我freeze_graph
用来将我的模型导出到一个名为"frozen.pb"
. 但是发现预测的准确率frozen.pb
很差。
我知道问题可能MovingAverage
不包含在frozen.pb
.
当我使用model.ckpt
文件恢复模型进行评估时,如果我调用tf.train.ExponentialMovingAverage(0.999)
,则准确度符合预期,否则准确度很差。
那么如何导出与从检查点文件恢复的性能相同的二进制模型呢? 我想".pb"
在 Android 设备中使用文件。
官方文档没有提到这一点。
谢谢!!
冻结命令:
评估代码:
tensorflow - 如何理解 TensorFlow 中的 tf.get_collection()
我对文档tf.get_collection()
的形式感到困惑,它说
返回集合中具有给定名称的值列表。
互联网上的一个例子是here
这是否意味着它从tf.GraphKeys.TRAINABLE_VARIABLES
to收集变量from_scope
?
但是,如果我想从另一个作用域获取变量,我该如何使用这个函数呢?谢谢!
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 的卡将无法完成这项工作)
先感谢您!