问题标签 [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-gpu - TensorFlow 如何使用 cudnn
我目前正在阅读 Tensorflow 源代码,并对内核的实现感到好奇。我发现大多数 gpu 实现都指向 Eigen。谁能告诉我 tensorflow 如何通过 Eigen 或其他方式使用 cuDNN?
performance - 如何估计我的 TensorFlow 模型的 GPU 占用量?
我试图粗略处理我的 TensorFlow 深度学习模型的 GPU 内存占用,并依赖于我发现的启发式建议:
构建 ConvNet 架构时要注意的最大瓶颈是内存瓶颈。许多现代 GPU 的内存限制为 3/4/6GB,最好的 GPU 具有大约 12GB 的内存。有三个主要的内存来源需要跟踪:
来自中间体积大小:这些是 ConvNet 每一层的原始激活数,以及它们的梯度(大小相等)。通常,大多数激活都在 ConvNet 的较早层(即第一个 Conv 层)上。这些被保留是因为它们是反向传播所必需的,但是一个仅在测试时运行 ConvNet 的巧妙实现原则上可以通过仅在任何层存储当前激活并丢弃下面层上的先前激活来大大减少这一点.
从参数大小:这些是保存网络参数的数字,它们在反向传播过程中的梯度,如果优化使用动量、Adagrad 或 RMSProp,通常也是一个步骤缓存。因此,单独存储参数向量的内存通常必须乘以至少 3 倍左右。
每个 ConvNet 实现都必须维护杂项内存,例如图像数据批次,也许是它们的增强版本等。
一旦您粗略估计了值的总数(对于激活、梯度和其他),该数字应转换为以 GB 为单位的大小。取值的个数,乘以 4 得到原始字节数(因为每个浮点数是 4 个字节,或者双精度可能乘以 8),然后多次除以 1024 得到以 KB 为单位的内存量, MB,最后是 GB。如果您的网络不适合,“使其适合”的常见启发式方法是减小批量大小,因为大部分内存通常被激活消耗。
但我不确定一些事情:
- 批量大小在此计算中的作用是什么?听起来它只影响激活(也就是说,我应该将激活乘以批量大小)。那是对的吗?
- 我怎么知道哪些东西位于我的 GPU(12GiB)上,哪些位于我的 CPU 内存(在 TensorFlow 中)?一般来说,几乎所有这些都驻留在 GPU 上?
- 我应该在哪里寻找“杂项”?输入数据是这个的主要来源吗?如果是这样,我是计算一批此类数据还是全部?
tensorflow - 是否有 CPU 支持的 TensorFlow Ops 列表?
我正在尝试在 CPU 上运行为 GPU 编写的模型,并发现该tf.nn.bias_add
函数在 CPU 上执行时不支持data_format
“NCHW”属性,它仅支持“NHWC”。
是否有一个列表,列出了哪些操作,比如这个,仅限于 GPU?我还没有找到一个。
tensorflow - 在 TensorFlow 1.2 中冻结 Inception V3 的检查点文件
使用此处的教程:https ://github.com/tensorflow/models/tree/master/inception ,我为一组提供的花卉照片微调了 Inception V3。训练后,我留下以下文件:
我想将 .ckpt 文件转换为 .pb 但我找到的所有这样做的脚本都会出错。
帮助将不胜感激。
arrays - Tensorflow FIFOQueue 入队稀疏数组
如何用稀疏数组提供 FIFOQueue?
我为每个图像设置了可变大小的 bbox,因此我使用两个队列来接收图像和相应的对象 bbox。
这段代码给出ValueError: setting an array element with a sequence.
nvidia - tensorflow GPU:资源耗尽错误
我目前正在 tensorflow GPU 上对 3D 医学图像运行 CNN。每当我运行代码时,命令提示符上都会出现资源耗尽错误。我已经尝试过以 1 号的小批量运行代码(一次一名患者)。
我的 GPU 是 NVIDIA GeForce GTX 960。我正在查看我的 GPU 的规格,但我不确定哪个组件限制了内存。它是标准内存配置(2GB)吗?
命令提示符返回以下内容:
2017-06-11 16:23:37.095587: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:1152] 资源耗尽:OOM 时使用 shape[3,3,3,8,16] 分配张量 2017-06-11 16:23:47.096178: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\ core\common_runtime\bfc_allocator.cc:273] 分配器 (GPU_0_bfc) 试图分配 365.63MiB 时内存不足。
当前分配摘要如下。2017-06-11 16:23:47.096349: 我 c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\bfc_allocator.cc:643] Bin (256):总块:0,正在使用的块:0 0B 分配给块。0B 客户端请求的块。0B 在 bin 中使用。0B 客户端请求在 bin 中使用。...... 2017-06-11 16:23:47.144036: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\bfc_allocator.cc:696 ] 3 个大小为 13824 的块,总计 40.5KiB 2017-06-11 16:23:47.144745: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\bfc_allocator。 cc:696] 3 个大小为 383385600 的块,总计 1.07GiB 2017-06-11 16:23:47.145486: I c:
统计:
限额:1548396134
使用中:1548374272
最大使用量:1548396032
NumAllocs:35
最大分配大小:398141184
tensorflow - tensorflow 多 GPU 共享变量
我在张量流上使用多 GPU。而且我对在同一范围内共享变量感到困惑。
根据https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/cifar10_multi_gpu_train.py
最简单的方法是:
但在我的理解中,至少第一个 GPU 必须创建变量,因为它没有变量可以重用。而且我还找到了一些代码,它为第一个 GPU 设置了重用 = False。
那么正确的方法是什么?
tensorflow - 带有 GPU 的 tensorlfow LSTM
我想使用 GPU 构建 LSTM 模型。但有一个例外:
似乎是由 GPU 不支持的某些 OP 引起的
追溯的更多信息如下:
构建 LSTM 的代码是:
谁能帮我弄清楚哪个步骤或操作导致了这个错误?(之前我在cpu中运行这段代码,效果还不错。当我切换到GPU版本时会出现这个错误,所以我相信有一些GPU不兼容的操作)
tensorflow - 如何使用 Tensorflow 在图像识别中创建 CNN 模型以与 Inception v3 进行比较
我正在研究使用 Tensorflow 进行图像识别。我已经在 Tensorflow.org 上阅读了有关如何为新类别重新训练 Inception 层的主题,该主题利用了 Inception v3 训练模型。
现在,我希望创建自己的 CNN 模型以便与 Inception v3 进行比较,但我不知道如何开始。
有人知道有关此问题的逐步指南吗?
我会很感激你的任何建议
提前致谢
tensorflow - 任何将 tensorflow 模型转换为 caffe 模型的代码?
我的最终目标是使用 TensorRT 来优化我的部署模型。我在张量流中做我的实验。但是 TensorRT 需要 caffemodel 格式的输入模型。