问题标签 [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 回答
6928 浏览

tensorflow - 第一次 tf.session.run() 的执行与后来的运行截然不同。为什么?

这里有一个例子来说明我的意思:
First session.run():
First run of a TensorFlow session

later session.run():
TensorFlow session 的后续运行

我知道 TensorFlow 在这里进行了一些初始化,但我想知道它在源代码中的哪个位置。这发生在 CPU 和 GPU 上,但在 GPU 上效果更突出。例如,在显式 Conv2D 操作的情况下,第一次运行在 GPU 流中具有大量的 Conv2D 操作。事实上,如果我改变 Conv2D 的输入大小,它可以从几十到几百个流 Conv2D 操作。然而,在以后的运行中,GPU 流中始终只有五个 Conv2D 操作(无论输入大小如何)。在 CPU 上运行时,我们在第一次运行时保留了与以后运行相同的操作列表,但我们确实看到了相同的时间差异。

TensorFlow 源代码的哪一部分是造成这种行为的原因?GPU 操作在哪里“拆分”?

谢谢您的帮助!

0 投票
1 回答
265 浏览

tensorflow - 如何使 tf.gradients() 函数在多个 gpu 中工作?

由于梯度会出现“内存不足”错误,如何在多个 GPU 中运行梯度函数?

上面的代码只在 gpu:1 中运行,因为 gradients\ 或 gradients_1\ 命名空间只在 gpu:1 中存在,这如何在多个 gpu 中工作?

0 投票
0 回答
567 浏览

python - 在 CentOS 6.8 上安装 tensorflow-gpu

系统信息

操作系统:CentOS 6.8
Python:2.7.11

问题

大家好,我想安装tensorflow。由于我使用的是 CentOS 6.8,似乎没有官方的方式来安装 tensoflow。因此,我搜索了几种安装方法,并遵循了本指南:https ://blog.abysm.org/2016/06/building-tensorflow-centos-6/ (其他指南对我不起作用,有些是 glibc 问题,有些是“不是支撑轮”问题等)

但是,现在我想使用 GPU 来加速。我已经安装了 cuda 和 cudnn,但是当我尝试以类似于上面提到的指南的方式使用 gpu 构建 tensorflow 时(在 ./configure 步骤中我选择了“启用 cuda”),我得到了这样的错误:

我是 linux 新手,我不知道发生了什么。有没有可能解决这个问题的方法?提前致谢。

0 投票
2 回答
4612 浏览

python - 没有名为“_pywrap_tensorflow_internal”的模块(仍然没有工作解决方案)

遇到了与类似问题相同的问题,并尝试了建议的解决方案,但没有奏效。您可以在下面找到堆栈跟踪。我在使用 Python 3.5.2 和 GPU NVidia Geforce 1050 的 Windows 10 x64 上。我还检查了 TensorFlow 站点的常见错误

我正在研究算法交易中的一个研究问题,需要 GPU 支持来加快学习速度。我非常欢迎任何解决这个问题的方法。

0 投票
0 回答
497 浏览

python-3.x - 使用 GPU 分配具有形状 [] 的张量时,Tensorflow ResourceExhausted 错误 OOM

我正在尝试在 tensorflow 上训练 VGG 风格的 CNN,我的输入大小是: 2 批大小 * 1080 高 * 1920 宽 * 5 通道,我的网络结构是:

  1. 转化率 3*3*64
  2. 转化率 3*3*128
  3. 最大池化 3*3 步幅 3
  4. 转化率 3*3*256
  5. 和一个具有 1*1*256*2 输出的 COnv

在 CPU 版本上一切正常,但在使用 GPU 时出现错误:

好像卡在第二层了。我的 GPU 是Spyder(Windows)上的GTX1060(6G)。我添加了以下命令以允许使用 GPU 内存增长:

有人可以帮我弄这个吗?非常感谢

0 投票
1 回答
736 浏览

python - 在 CentOS 7 上使用 Tensorflow 的零星核心转储(分段错误、非法指令)

在使用 tensorflow 训练模型时,我经常遇到核心转储(非法指令、分段错误)。它们有些零星,但随着模型架构变得更加复杂(更多节点,更多层),频率似乎会增加。

我得到了以下设置:
CentOS 7 CUDA Tooklit 版本 8
cuDNN 版本 5.1
tensorflow-gpu 版本 1.0.0 由 pip 安装

所有的环境路径都设置好了,tensorflow 似乎可以识别并拾取 GPU、CUDA 和必要的库......

第一个错误发生在我尝试构建多层深度网络时,几乎每次都会失败。所以我从头开始学习 tensorflow 教程并尝试了一些更简单的东西,这些东西似乎有效......但并非总是如此。

因此,作为一个小型实验,我从 tensorflows 网站上的 MNIST 数据教程中选取了两个复杂度不同的模型,并稍作修改。一个是简单的 softmax 回归模型,保存为softmax.py如下所示:

第二个文件multiconv.py如下所示:

如果我同时运行这两个程序 100 次

因此,模型越复杂,它发生的频率就越高。

我相信我已经排除了内存问题作为潜在错误,因为我使用 nvidia-smi 命令观察内存输出并且它保持相当稳定。

我已经使用 gdb 捕获了一个错误,输出是这样的

p>

如果需要,我可以提供完整的回溯。

有没有人有任何想法我可以开始进一步解决这个问题?

0 投票
2 回答
3338 浏览

machine-learning - 微调与再训练

所以我正在学习如何使用 Tensorflow 为自定义数据集微调 Inception-v3 模型。

我找到了两个与此相关的教程。一个是关于“如何为新类别重新训练 Inception 的最终层”,另一个是“ 在 TensorFlow 中使用 Inception 训练你自己的图像分类器并进行微调 ”。

我在虚拟机上做了第一个再培训教程,只用了 2-3 个小时就完成了。对于相同的花朵数据集,我正在 GPU 上进行第二次微调教程,并且花了大约一整天的时间来执行训练。

再培训和微调有什么区别?

我的印象是,两者都涉及使用预训练的 Inception v3 模型,移除旧的顶层并在花卉照片上训练新的顶层。但我的理解可能是错误的。

0 投票
1 回答
563 浏览

python - Tensorflow:有没有办法在没有 tf.bincount 的情况下构建加权直方图?

在我看来,numpy 函数bincount非常有用且易于使用,所以我很自然地使用了 TensorFlow 中的模拟函数。最近我了解到不幸tf.bincount的是没有 GPU 支持(你可以在这里阅读)。有没有其他方法可以在带有GPU 的 TensorFlow 中高效地进行加权直方图,如下例所示?

0 投票
0 回答
112 浏览

python - 恢复并共享经过训练的变量:找不到密钥

我从共享变量教程中借用了这个例子:

假设我训练了这些变量并保存了所有四个变量:weights以及biasesfromconv1conv2layers 通过传递var_listto tf.train.Saver

现在我想恢复并使用它们两次:

但是变量的名称现在具有image_filters前缀,即image_filters/conv1/weights,因此保护程序无法恢复它们:Key image_filters/conv1/weights not found in checkpoint

如何恢复所有训练过的变量并多次重复使用它们?

0 投票
2 回答
654 浏览

tensorflow - 在 CPU 上运行 tensorflow-gpu 时结果不正确

在我的项目中,我有几个由 keras 在 GPU 上训练的模型(后端是 tensorflow-gpu),当我在 GPU 上测试时,结果是正确的。但是当我在 CPU(set CUDA_VISIBLE_DEVICES=) 上测试时,model.predict 的返回都是 NAN。我的环境如下:

有谁有想法吗?