Tensorflow: 升级到 CuDNN 7 和 CUDA 9

创建于 2017-08-05  ·  170评论  ·  资料来源: tensorflow/tensorflow

系统信息

  • 我是否编写了自定义代码(而不是使用 TensorFlow 中提供的股票示例脚本) :否
  • 操作系统平台和发行版(例如,Linux Ubuntu 16.04) :Windows Server 2012
  • TensorFlow 从(源代码或二进制文件)安装:二进制文件
  • TensorFlow 版本(使用下面的命令) :1.3.0-rc1
  • Python 版本:3.5.2
  • Bazel 版本(如果从源代码编译) :不适用
  • CUDA/cuDNN 版本:CUDA V8.0.44、CuDNN 6.0
  • GPU 型号和内存:Nvidia GeForce GTX 1080 Ti,11 GB
  • 重现的确切命令:不适用

描述问题

请升级 TensorFlow 以支持 CUDA 9 和 CuDNN 7。Nvidia 声称这将在 Pascal GPU 上提供 2 倍的性能提升。

feature

最有用的评论

说到要添加的方法,cudnn7 的组卷积将是视觉社区的一个重要特征。

所有170条评论

@tfboyd你对此有什么意见吗?

cuDNN 7 仍处于预览模式并正在开发中。 我们刚刚使用 1.3 迁移到 cuDNN 6.0,它应该会在几周内完成。 如果您对此感兴趣,可以下载 cuDNN 1.3.0rc2。 我还没有用 cuDNN 7 或 CUDA 9 编译过。 我听说 CUDA 9 不容易在所有平台上安装,并且只有部分安装包可用。 当库最终确定后,我们将开始最终评估。 NVIDIA 也刚刚开始向主要 ML 平台发送补丁以支持这些新库的各个方面,我怀疑还会有额外的工作。

编辑:我的意思是说 CUDA 9 不容易在所有平台上安装,而是说 cuDNN。 我也改变了肯定会有工作,我怀疑会有额外的工作。 我留下的其余愚蠢陈述,例如我没有意识到 cuDNN 7 昨天上线了。

不是说你应该如何阅读网站。 但是 pascal 上的 2 倍速度看起来是 CUDA 8 版本的一部分。 我想这取决于您如何阅读该网站。 NVIDIA 没有向我们提及 CUDA 9 将把 Pascal 加速 2 倍(在所有方面),尽管一切皆有可能,但我不希望这种情况发生。

https://developer.nvidia.com/cuda-toolkit/whatsnew

该网站有点令人困惑,但我认为您引用的部分嵌套在 CUDA 8 下。我只是提到这一点,所以您不会对它们的发布抱有不切实际的期望。 对于 Volta 应该从我的理解中获得一些巨大的收益,我认为(我现在不确定)人们只是在获取 Volta 的工程样本来开始高级工作,为完整版本做好准备。

@tfboyd cuDNN 7 从昨天起不再处于预览模式。 它已针对 CUDA 8.0 和 CUDA 9.0 RC 正式发布。

啊我错过了。 感谢@sclarkson并为错误的信息感到抱歉。

我肯定会尝试一下,因为 CUDA 9 最终支持 gcc 6,并且 Ubuntu 17.04 随附了它。

如果你有幸让线程知道。 我个人刚刚开始
全面测试cuDNN 6(内部已经测试了很多,但我还没有
个人使用)。 我经常升级到最新的东西很慢。 我的
猜测是你可能看不到 cuDNN 7 的任何真正变化,直到一切都得到
修补以使用最新的 API。 我想再次强调我错了
的时间。 我所看到的局外人是新的 cuDNN 版本添加
新方法/API。 有些很有趣,有些不是立即
有用。 然后这些 API 通过 TensorFlow API 公开或只是使用
在幕后使现有方法更快。 我的水平很高
理解是 cuDNN 7 + CUDA 9 将增强对 FP16 的支持,重点是
伏打。 我认为主要关注点之一是如何获得模型(许多不仅仅是
几个)与 FP16 收敛而不必无休止地猜对
要使用的配置/超参数。 我想强调这就是我的方式
理解对话,我可能不正确或一半正确。

压力:如果有您认为需要添加的方法(或利用
性能)从 cuDNN 到 TensorFlow 我们总是对一个列表感兴趣。
在内部,这发生在 cuDNN 6 上,我们专注于实施
功能团队表示他们希望这有助于他们的项目。

2017 年 8 月 5 日星期六上午 8:46,Courtial Florian通知@ github.com
写道:

我当然会尝试,因为 CUDA 9 最终支持 gcc 6 并且
Ubuntu 17.04 随附。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320450756
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZessKqj_nPY1br9SD9L9SX-8Kf5Dbtks5sVI5TgaJpZM4OuRL7
.

说到要添加的方法,cudnn7 的组卷积将是视觉社区的一个重要特征。

很酷,我会将它添加到我要开始的列表中。 我可能会忘记但感觉自由
提醒我发布某种列表,以便我可以提供一些指导
关于可能正在处理的内容。 它不能是一个承诺,但我们想要
反馈,以便我们可以优先考虑人们想要和需要的东西。 谢谢雨欣。

2017 年 8 月 5 日星期六下午 12:26,Yuxin Wu [email protected]写道:

说到要添加的方法,cudnn7 的组卷积将是一个
视觉社区的重要功能。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

我只是尝试使用 CUDA 8 使用 cuDNN 7 进行编译,但我失败了
的预期。 有一个来自 NVIDIA 的补丁应该可以帮助行
事情了。 如果有人正在尝试,请注意。

2017 年 8 月 5 日星期六下午 1:47,Toby Boyd [email protected]写道:

很酷,我会将它添加到我要开始的列表中。 我可能会忘记但感觉自由
提醒我发布某种列表,以便我可以提供一些指导
关于可能正在处理的内容。 它不能是一个承诺,但我们想要
反馈,以便我们可以优先考虑人们想要和需要的东西。 谢谢雨欣。

2017 年 8 月 5 日星期六下午 12:26,吴宇欣[email protected]
写道:

说到要添加的方法,cudnn7 的组卷积将是一个
视觉社区的重要功能。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

我正在尝试使用 CUDA 8/9 运行 cuDNN 7。 GTX 1080 Ti 不支持 CUDA 8 - 至少安装程序是这么说的^^

我在让它一起运行时遇到了很大的麻烦。 我想指出这篇很棒的文章,它总结了我已经尝试过的内容: https :

CUDA 示例在两种设置组合中都通过 Visual-Studio 运行。
这里是使用 Visual-Studio 编译的 deviceQuery.exe 的输出:

PS C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release> deviceQuery.exe
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release\deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1080 Ti"
  CUDA Driver Version / Runtime Version          9.0 / 9.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 11264 MBytes (11811160064 bytes)
  (28) Multiprocessors, (128) CUDA Cores/MP:     3584 CUDA Cores
  GPU Max Clock rate:                            1683 MHz (1.68 GHz)
  Memory Clock rate:                             5505 Mhz
  Memory Bus Width:                              352-bit
  L2 Cache Size:                                 2883584 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Model)
  Device supports Unified Addressing (UVA):      Yes
  Supports Cooperative Kernel Launch:            No
  Supports MultiDevice Co-op Kernel Launch:      No
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 9.0, NumDevs = 1, Device0 = GeForce GTX 1080 Ti
Result = PASS

@tfboyd你有确认来自 Nvidea 的 cuDNN 更新的链接吗?

@4F2E4A2E 1080 Ti 绝对支持CUDA 8.0。 这就是我过去几个月一直在使用 TensorFlow 的方法。

大家好,我有带 cuda 8.0 的 gtx 1080 ti。 我正在尝试安装 tensorflow-gpu,我要安装 cuDNN 5.1、6.0 还是 7.0?

我建议暂时坚持使用 5.1。 我正在运行一些更深入的性能
对 6 进行测试并得到需要更多测试才能弄清楚的混合结果。

2017 年 8 月 6 日晚上 9:30,“colmantse”通知@github.com 写道:

大家好,我有带 cuda 8.0 的 gtx 1080 ti。 我正在尝试安装
tensorflow-gpu,我选择 cuDNN 5.1、6.0 还是 7.0?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320566071
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZeshvEFsdeWz-1uyzl_L6HE15E0BzSks5sVpLlgaJpZM4OuRL7
.

谢谢,我尝试使用 cudnn 6.0 但不起作用,我猜是因为我的虚拟 tf-gpu 安装。 cudnn 5.1 适用于我的 python 3.6

@tpankaj谢谢! 我已经在 CUDA 8 和 cuDNN 5.1 上运行了

以下是 cuDNN 7 的完整功能集:

主要功能和增强功能
此 cuDNN 版本包括以下主要功能和增强功能。
张量核心
cuDNN 7.0.1 版本是第一个支持 Tensor Core 操作的版本
执行。 Tensor Cores 提供高度优化的矩阵乘法
在传统中不具有等效数值行为的构建块
因此,它的数值行为略有不同。
cudnnSetConvolutionMathType、cudnnSetRNNMatrixMathType 和
cudnnMathType_t
cudnnSetConvolutionMathType 和 cudnnSetRNNMatrixMathType
函数使您可以选择是否使用 Tensor Core 操作
分别通过将数学模式设置为任一卷积层和 RNN 层
CUDNN_TENSOR_OP_MATH 或 CUDNN_DEFAULT_MATH。
Tensor Core 操作执行多个并行浮点累积
浮点产品。
将数学模式设置为 CUDNN_TENSOR_OP_MATH 表示库将使用
张量核心操作。
默认值为 CUDNN_DEFAULT_MATH。 此默认值表示 Tensor Core
库将避免操作。 默认模式是序列化操作
而 Tensor Core 是一个并行操作,因此,两者可能会导致
由于运算顺序不同,数值结果略有不同。
当 Tensor Core 操作被执行时,库会回退到默认的数学模式
不支持或不允许。
cudnnSetConvolutionGroupCount
一个新的接口,允许应用程序在
单个 API 调用中的卷积层。
cudnnCTCLloss
cudnnCTCLoss 提供了连接主义时间的 GPU 实现
RNN 的分类 (CTC) 损失函数。 CTC 损失函数用于
语音和手写识别中的音素识别。
CUDNN_BATCHNORM_SPATIAL_PERSISTENT
CUDNN_BATCHNORM_SPATIAL_PERSISTENT 函数是一个新的批处理
cudnnBatchNormalizationForwardTraining 的归一化模式
和 cudnnBatchNormalizationBackward。 这种模式类似于
CUDNN_BATCHNORM_SPATIAL,但是,对于某些任务,它可以更快。
cudnnQueryRuntimeError
cudnnQueryRuntimeError 函数报告 GPU 写入的错误代码
执行 cudnnBatchNormalizationForwardTraining 时的内核
和 cudnnBatchNormalizationBackward 与
CUDNN_BATCHNORM_SPATIAL_PERSISTENT 模式。
cudnnGetConvolutionForwardAlgorithm_v7
这个新 API 返回按预期性能排序的所有算法
(使用内部启发式)。 这些算法的输出类似于
cudnnFindConvolutionForwardAlgorithm。
cudnnGetConvolutionBackwardDataAlgorithm_v7
这个新 API 返回按预期性能排序的所有算法
(使用内部启发式)。 这些算法的输出类似于
cudnnFindConvolutionBackwardAlgorithm。
cudnnGetConvolutionBackwardFilterAlgorithm_v7
这个新 API 返回按预期性能排序的所有算法
(使用内部启发式)。 这些算法的输出类似于
cudnnFindConvolutionBackwardFilterAlgorithm。
CUDNN_REDUCE_TENSOR_MUL_NO_ZEROS
MUL_NO_ZEROS 函数是一个乘法归约,它忽略了
数据。
CUDNN_OP_TENSOR_NOT
OP_TENSOR_NOT 函数是一个一元运算,取负数
(阿尔法*A)。
cudnnGetDropoutDescriptor
cudnnGetDropoutDescriptor 函数允许应用程序退出
值。

好吧,我正在考虑开始一个新问题,它更像是 CUDA 9 RC + cuDNN 7.0 的“博客”。 我有一个“在我手中”的 TF 版本,它拼凑在一起,但它是 CUDA 9RC 和 cuDNN 7.0,我想看看是否有人有兴趣尝试它。 我还需要确保没有什么奇怪的原因我不能分享它。 TensorFlow 使用的一些上游库需要进行一些更改,但在不久的将来,您将开始看到来自 NVIDIA 的 PR。 我和团队能够在 Volta 上测试 CUDA 8 + cuDNN 6,然后在 Volta (V100) 上使用 FP32 代码测试 CUDA 9RC + cuDNN 7。 我只做 Linux 构建和 Python 2.7,但如果你们所有人/任何人感兴趣,我想尝试让社区参与比我们对 cuDNN 6.0 所做的更多。 这可能不是非常有趣,但我想提供并尝试让这种感觉更像是我们在一起而不是我正在获取信息。 我还想列出我们正在开发但不适合 cuDNN 7(和 6.0)的功能列表。 @cancan101感谢您提供完整列表。

@tfboyd :我将不胜感激有关执行 CUDA 9.0RC+cuDNN 7.0 的描述。 我自己正在使用一个奇怪的系统(ubuntu 17.10 beta 与 TF1.3、CUDA 8.0 和 cuDNN 6.0 gcc-4.8),并且升级到 cuda 9 和 cudnn 7 实际上在编译器方面会很好。

我会看看我能做些什么来获得你需要的东西来建立自己和一个
二进制。 绩效团队负责人表示我可以尝试实现这一目标
所以我们可以更加透明,我希望作为一个社区有更多的乐趣。
为您提供补丁以及如何构建它不是非常困难,但有点
更难。 这也将是非常非正式的,因为我没有时间管理
分支和补丁可能会很快腐烂(不干净地应用)。 这
补丁用于确保所有参与的人都同意
一般,我预计个人 PR 将开始进来。

2017 年 8 月 11 日星期五上午 5:22,Erlend Aune通知@ github.com
写道:

@tfboyd https://github.com/tfboyd :如果有描述,我将不胜感激
在做 CUDA 9.0RC+cuDNN 7.0。 我自己正在使用一个奇怪的系统(ubuntu
17.10 测试版,带有 TF1.3、CUDA 8.0 和 cuDNN 6.0 gcc-4.8),并升级到
cuda 9 和 cudnn 7 实际上是很好的编译器。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321798364
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesj4WRkFKNX-Nt2oKtvp0oyQVBtM5ks5sXEdqgaJpZM4OuRL7
.

@tfboyd :我有兴趣,你将如何分享? 分店?

@tfboyd我肯定也很感兴趣。 谢谢!

本周试图弄清楚。 物流往往比我难
思考。

2017 年 8 月 12 日上午 10:18,“Tanmay Bakshi”通知@ github.com 写道:

@tfboyd https://github.com/tfboyd我肯定很感兴趣,因为
好。 谢谢!


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321994065
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesjO42Rl1WCyW0KR22KgbydKh1O4Zks5sXd6AgaJpZM4OuRL7
.

如果您喜欢 Python 2.7,可以使用说明和二进制文件。 我将关闭它,因为我将更新我创建的问题以跟踪工作。 @tanmayb123 @Froskekongen

https://github.com/tensorflow/tensorflow/issues/12474

我只是尝试在 Windows x64 上为 Python 3.6 安装预编译的 tensorflow-gpu-1.3.0,并提供了带有 Cuda 8.0 的 cuDNN 库版本 7.0,至少对我来说,一切似乎都有效。 我没有看到任何异常或问题。
这是意料之中的吗? cuDNN 7.0 是否向后兼容 cuDNN 6.0? 这可能会导致任何问题吗?

@apacha我有点惊讶它起作用了。 我之前在测试中看到过错误,其中 TensorFlow 二进制文件找不到 cuDNN,因为它按名称查找,而 *.so 文件的名称中包含 6.0/7.0。 远程可能你的路径中仍然有 cuDNN 6。 我不喜欢猜测您的设置,但如果我打赌,我会说它仍在使用 cuDNN 6。

关于向后兼容减去正在编译以查找特定版本的 TensorFlow。 我不知道。

最后,这没什么大不了的。 cuDNN 7 PR 几乎已获得批准/合并,预编译的二进制文件可能会从 1.5 开始迁移到 cuDNN 7。

CUDA 9RC 和 cuDNN 7 的进展更新

  • 来自 NVIDIA 的 PR 几乎获得批准
  • EIGEN 变更已获批准并合并
  • FP16 测试已经在 V100 (Volta) 上正式开始

@tfboyd只是为了完整起见:我之前使用的是 cuDNN 5,因为我必须更新 tensorflow 1.3,所以我只是跳到 cuDNN 版本 7 来试一试。 我已经明确删除了cudnn64_5.dll并且我的 CUDA 安装路径中没有cudnn64_6.dll 。 也许这是 Windows 的魔法。 :-P

但请注意一件事:我仍在使用 CUDA 8.0,而不是 9.0。

@apacha这可能是 Windows 魔法。 我不想听起来有判断力,因为我不知道。 我认为 windows 魔法是可能的,因为 cuDNN 调用不应该改变,因此向后兼容似乎是可能的。 对于 linux 构建,TensorFlow 正在寻找特定文件(或者这就是我收到错误时的样子),如果找不到 cudnnblahblah.6.so,则非常不高兴。 感谢您的更新和细节。

是否有任何我们可以结帐并尝试的分支/标签?
开始一个全新的安装,Ubuntu 17……然后新的 gcc 强加 CUDA 9,我看到适合的 CuDNN 是 7……你知道我要去哪里。
我肯定可以在很多地方修改我的设置(并使用 Ubuntu 16 从头开始​​重新启动)只是我离我很近,据说修复已经很近了......如果我能做到,为什么要在过去进行大跳跃未来的小飞跃!

PR几乎被批准了。 他们正在审查中。 我怀疑还有几个
最多几周,但这些审查可能需要时间。 我认为这些都是
他们。 可能会有一个落后者或改变来获得 EIGEN 改变
CUDA 9. 我还没有亲自准备好它们。 他们一天比一天靠近。

https://github.com/tensorflow/tensorflow/pull/12504
https://github.com/tensorflow/tensorflow/pull/12503
https://github.com/tensorflow/tensorflow/pull/12502

2017 年 9 月 12 日,星期二,晚上 7:49,Remi Morin通知@github.com
写道:

是否有任何我们可以结帐并尝试的分支/标签?
开始一个全新的安装,Ubuntu 17...然后新的 gcc 强加 CUDA 9,
我看到适合的 CuDNN 是 7...你知道我要去哪里。
我肯定可以在很多地方修改我的设置(并从头开始
再次使用 Ubuntu 16)只是我很接近,据说修复很接近......为什么
如果我将来能做一个小跳跃,那就在过去做一个大跳跃!


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-329041739
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesrpX6TSN6fVESEsql3QNtjgo-LM9ks5sh0KqgaJpZM4OuRL7
.

@tfboyd这仍然是一个问题吗? 我意识到 cuda 9.0 刚刚在今天发布。

cuda 9.0 已发布,我找不到 cuda 8.0 安装文件....
请升级张量流...

cuda 9.0 已发布,我找不到 cuda 8.0 安装文件....

@zjjott https://developer.nvidia.com/cuda-toolkit-archive

@thomasjo谢谢!

那么在@tfboyd批准他提到的 PR 之后,tensorflow 1.3 现在会与 CUDA 9 和 cuDNN 7 兼容吗? 有没有人在任何地方成功安装过这个?

@voxmentthe我只是尝试使用 CUDA 9.0 和 cuDNN7 安装 tf1.3。 我收到了与此问题相关的错误 #12489

编辑:基本上,我不知道如何。 但是在没有任何进一步更改的情况下移动到主分支(一开始不是为我安装的),我能够安装它。 虽然,现在当我尝试导入 tensorflow 时,它说它缺少平台模块。

是否有任何迹象表明相关 PR 即将进入? 我安装了 cuDNN 7 然后意识到它会导致问题 - 我可以降级到 v6 但我想如果它接近解决我可能会等待......

PR 似乎已获得批准。 我已经有几天没有自己运行构建了。 请记住,1.3 不会像不久前那样进行这些更改。 1.4会有变化。 希望本周我可以下载最新版本并进行全新构建。 我怀疑有人会在我有时间之前做好。

你们中的任何一个聪明人是否有可能使用 CUDA v9.0、cudnn 7.0 为 Win 10 x64 制作 tf 1.3 或 1.4 的教程? 我试过安装 (Anaconda) 但不断收到“_pywrap_tensorflow_internal”错误,我已经检查过 msvcp140.dll 已添加到我的路径中..

@devilsnare007 :我想最好的机会是关注https://github.com/philferriere/dlwin。 只需将列出的版本替换为当前版本即可。 请注意,TF 1.4 甚至还没有发布。 但是 TF 1.3 应该可以按照提供的说明正常工作。 一旦所有内容都升级并且 TF 1.4 发布,我们将更新该教程。

TF 1.4 发布时会支持 cuDNN 7.0 吗?

@soloice
在头(几天前)我能够用 cuDNN 7.0 编译 CUDA 9(发布版本),没有特别的变化,并在 GTX 1080 上运行了一些 tf_cnn_benchmarks.py 测试。一切看起来都很好。 本周应该 RC 的 TF 1.4 将具有 CUDA 8 和 cuDNN 6 二进制文件,但也可以与 CUDA 9 和 cuDNN 7 一起编译。目标是 TF 1.5 具有二进制文件中的 CUDA 9 和 cuDNN 7。 这让人们有时间升级他们的系统库,并有更多时间进行测试。 如果您正在运行 Voltas,请随时开始另一个线程,我将在 FP16 上实时更新它。

@tfboyd

没问题,这应该很容易,我很高兴尝试填补它
差距。

2017 年 10 月 9 日星期一上午 9:42,Jeff [email protected]写道:

@tfboyd https://github.com/tfboyd高兴听到 TF 1.4 编译
使用 cuDNN 7! 如果在某个时候您觉得可以创建安装指南
对于 DL 社区来说,这将是一项很好的公共服务。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335212652
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesp7d2aT8gsGOWb6YjHH_CnpKXUIPks5sqkztgaJpZM4OuRL7
.

是否有可能拥有适用于 CUDA 9 和 cuDNN 7.0 的 whl?

谢谢!

我将发布我的(可能不是 1.4,而是一些接近匹配的
并且我在名称中包含哈希)当我构建它进行测试时,但它会
是 ubuntu 16.04(我忘了是什么 gcc 版本),linux,python 2.7 仅供参考。
而且我真的不打算分享这些构建,因为它可以
让人们感到困惑,我会强调你所知道的我包括了一些
疯狂的后门。 虽然添加一些密码感觉工作量太大
对我来说。

我认为 nightly-gpu 构建几乎是在 pip 中进行的(我很确定它们
总是发生你只需要找到它们)这意味着在 1.4 之后
每晚构建将很快转移到 CUDA 9 + cuDNN 7。

在星期一,2017年10月9日在上午11时41分,alexirae [email protected]写道:

是否有可能拥有适用于 CUDA 9 和 cuDNN 7.0 的 whl?

谢谢!


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335249979
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZeskJ5LXJwFcRpm-sKZ9QORoltrHOEks5sqmj1gaJpZM4OuRL7
.

@tfboyd感谢您的回复。 最后,我设法在 Ubuntu 16.04 上使用支持 CUDA 8 + cuDNN 7 的源代码构建了最新的 TF,并且在 GTX 1080 Ti 上一切正常。

@tfboyd 14.rc TF 是否支持 CuDNN 7 和 CUDA 9?

如果您从源代码构建,则包括在内。 我想更改默认值
需要我在 AWS 上的 K80s 上运行一些回归测试的二进制文件
确保一切看起来都很好,并创建了构建。 我们
立即出现问题,因为 NVIDIA 驱动程序需要降低性能
在 Google Cloud 中运行的 Kokoro 上提高了 30%。 没有什么是直的
向前,但 CUDA 9 和 cuDNN 7 是 1.4 源,并且在
对我来说,对 Pascal 的测试非常有限。

2017 年 10 月 12 日星期四上午 2:40,Konstantin通知@github.com
写道:

@tfboyd https://github.com/tfboyd 14.rc TF 是否支持 CuDNN 7 和
CUDA 9?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336075883
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesq03dvnXWd0GLXODBTNCWExlZGPnks5srd6pgaJpZM4OuRL7
.

是否有可能拥有适用于 CUDA 9、cuDNN 7.0 和 python 3.5 的 whl?

TF 1.4 完成后,每晚构建将移至 CUDA 9 +
cuDNN 7 假设没有问题。 我制作和分享的乐趣是
始终使用 python 2.7,因为这是我的测试系统的默认设置。

2017 年 10 月 16 日星期一上午 6:59,Diego Stalder通知@ github.com
写道:

是否有可能有一个适用于 CUDA 9、cuDNN 7.0 和的 whl
蟒蛇3.5?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336894073
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesqgclWqET4OufQHV3FAD4XxgnZiKks5ss2E6gaJpZM4OuRL7
.

有什么预计的发布日期吗?

所有那些在位的人,只需从源代码构建#master。 这并不太难(只是费时),您可以通过 pip/whl 安装获得最新的 CUDA/cuDNN、_and_ 其他优化(例如,请参阅此 tut 中的 CPU 优化)。 另外,下次 CUDA/cuDNN 升级时,您可以再次构建而无需等待。

从源代码构建,TF1.4 与 cuda 9.0、cuDNN v7.0.3 和 python3.5 一起使用

我可以在 win10 平台上从源代码构建吗?
希望 TF 在 cuda 9.0、cuDNN v7、python3 上工作。 6 、win10

从源代码构建,TF1.4 也与 cuda 9.0、cuDNN v7.0.3 和 python2.7 一起使用。

@affromero您偶然对 jsoncpp 有任何问题吗?

我在使用 CUDA 9 / cuDNN 7 的 TF 1.4RC0 分支的 AWS 构建上对 tf_cnn_benchmarks 进行了测试,结果与 CUDA 8 + cuDNN 6 相同或略快。

编辑:删除提及我没有解决 elipeters 评论。 :-)

@elipeters

当我们说构建时,我们的意思是从源代码构建而不是安装轮文件。 已经编译了一个轮子,1.4 二进制文件支持 CUDA 8 + cuDNN 6。要获得 CUDA 9,您需要从源代码构建。 我从来没有做过 Windows 构建。 1.4 发布后,团队会将每晚构建切换到 CUDA 9。

有 1.4 的第二个候选版本 (rc1) 作为预编译轮 ( https://pypi.python.org/pypi/tensorflow )。 有没有人用 CUDA 9 测试过?

尝试过,但不适用于 cuda 9.0。

我会再试一次。

1.4 是 CUDA 8 + cuDNN 6 这不适用于 CUDA 9 你必须从源代码编译
一旦 1.4 发布,我们将努力将夜间构建切换到 CUDA 9,然后 1.5 很可能是 CUDA 9。

我知道 CUDA 9 在从源代码 (ubuntu 16.04/python 2) 构建 1.4 时运行良好,因为我上周末在 AWS 上进行了基准测试。

我最近有一个关于从源代码构建的食谱(请在构建后在那里发布指向您的 CUDA 9.0 轮子的链接)

你是最好的雅罗斯拉夫。

2017 年 10 月 25 日星期三上午 8:11,Yaroslav Bulatov通知@ github.com
写道:

我最近有一个关于从源代码构建的食谱here
https://github.com/yaroslavvb/tensorflow-community-wheels (请发帖
一旦你构建了它,就会有一个指向你的 CUDA 9.0 轮子的链接)


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-339361959
或静音线程
https://github.com/notifications/unsubscribe-auth/AWZesmRwb0UmLWxzANWCq5RrT6teYtr5ks5sv0-IgaJpZM4OuRL7
.

你好,我尝试通过win10 env构建tensorflow gpu,然后我也遇到了这样的问题,谁能帮帮我,先谢谢了。
我的环境:
win10 + gtx 1080ti + cuda 9.0 + cuDNN 7 + Visual Studio Professional 2015 + cmake 3.6.3 + python 3.5.4

当我切换到 tensorflow r1.4,并在 win10 环境下通过 cmake 构建时,出现以下问题:

`CUSTOMBUILD:内部错误:断言失败:“C:/dvs/p4/build/sw/rel/gpu_drv/r384/r384_00/drivers/compiler/edg/EDG_4.12/src/lookup.c”,第2652行[ C:\TF\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

在“C:/Users/ADMINI~1/AppData/Local/Temp/tmpxft_00000c94_00000000-8_adjust_contrast_op_gpu.cu.cpp4.ii”的编译中检测到1个灾难性错误。

编译中止。

adjust_contrast_op_gpu.cu.cc

CUSTOMBUILD:nvcc 错误:'cudafe++' 死亡,状态为 0xC0000409 [C:\TF\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release 处的 CMake 错误。 cmake:267 (消息):
生成文件时出错
C:/TF/tensorflow/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj`
image

上面的问题看起来像cuda compolie本身的问题,但是当我将tensorflow版本切换到r1.3时,另一个问题出现了:

`c:\tftest\tensorflow\tensorflow\contrib\cmake\build\external\eigen_archive\eigen\src/Core/util/Macros.h(416):致命错误 C1017:
输入的常量表达式 [C:\TFtest\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release 处的 CMake 错误。 cmake:267 (消息):
生成文件时出错
C:/TF/test/tensorflow/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj`
image

看起来文件 adjust_contrast_op_gpu.cu.cc 有问题,但我找不到任何错误。

以上问题困扰了我几天,希望有人帮助我尝试并成功,并强烈期望谷歌在win10环境下升级tensorflow支持cuda 9.0和cudnn 7。

有没有人发布了带有 CUDA 9 和 cuDNN 7.0 的 TensorFlow 的 whl?

@vellamike我知道你的问题很笼统,但 TF 团队将在二进制文件中包含 CUDA 9,其中 1.5 应该在第四季度登陆。 现在,您必须从源代码构建。

我正在尝试在 mac 10.13 high sierra 中使用 CUDA 9 和 cuDNN 7 构建 1.4。 我不断收到此错误

ERROR: /Users/smitshilu/tensorflow/tensorflow/core/kernels/BUILD:2948:1: output 'tensorflow/core/kernels/_objs/depthwise_conv_op_gpu/tensorflow/core/kernels/depthwise_conv_op_gpu.cu.pic.o' was not created.
ERROR: /Users/smitshilu/tensorflow/tensorflow/core/kernels/BUILD:2948:1: not all outputs were created or valid.
Target //tensorflow/tools/pip_package:build_pip_package failed to build

有什么解决办法吗?

为什么 1.4 仍然没有二进制文件中的 CUDA 9? 这个版本很久以前就发布了,为了与 V100 一起使用,需要从源代码构建,这在报告的许多问题之后不是那么顺利和快速。

@ViktorM从源代码编译有什么问题? 这有点棘手,但并不难。

2017 年 9 月 26 日是 CUDA 9 的 GA。如果我们在第四季度发布 CUDA 9 + cuDNN 7 二进制文件,我认为这将是我们升级 cuDNN 最快的一次。 我是 8.5 到 9 点不在这里,所以我不知道。 我希望我们快一点,但这也意味着任何拥有 CUDA 8 设置的人不仅必须升级到 CUDA 9,而且他们还需要将他们的设备驱动程序升级到 384.x,我可以说这不是生产人员的事情掉以轻心。

理想情况下,我们会有无限的(或者只是更多,但矩阵会快速爆炸)构建,但这是另一个需要很长时间才能解释的问题,我怀疑很多人会关心。

顺便说一句,我使用 Nvidia 的NGC TensorFlow 容器在 float16 matmul/V100 上使用 CUDA 9观察到85 T 操作/秒(而不是我在家里的 GTX 1080 上的 8.8 T 操作/秒)。 真的很期待在官方支持的版本中有这些改进!

@yaroslavvb老实说,我们正在解决一些 FP16 问题。 FP16 的 tf_cnn_benchmarks 中有一条路径,重点首先放在 ResNet50 上,我们也在为 FP16 进行自动缩放。 如果您有兴趣,可以尝试一下,但我们正在积极解决一些问题。 人们正在努力,这只是需要时间。 我们终于在内部拥有 DGX-1,因此我们也可以使用相同的容器并尝试在该确切平台上继续跟踪性能。

好的,所以我要安装 Ubuntu 17.10,我只是想尝试一下所有最新的东西来获得乐趣。
在我做之前,我只是想知道有没有人尝试过从源代码构建的以下堆栈并获得了任何运气?

-> Ubuntu 17.10、CUDA 9.0、cuDNN 7.0、TF 大师
-> Ubuntu 17.10、CUDA 8.0、cnDNN 6.1、TF 1.4

我遇到了与 @xsr-ai 相同的问题,特别是使用 Python 3.6.3、VS 2017、CUDA 9、cuDNN 7。

@aluo-x 你的意思是你在 Windows 10 上试过? 假设因为您说的是 VS 2017。

对,那是正确的。 这是具体的错误:

CustomBuild:
  Building NVCC (Device) object CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj
  CMake Error at tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release.cmake:222 (message):
    Error generating
    C:/optimae/tensorflow-1.4.0/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj


C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [C:\optimae\tensorflow-1.4.0\
tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

@aluo-x 您使用的是最新的 c-make 吗? 即发布候选或稳定版本?

使用 cmake 3.9.5、swig 3.0.12、CUDA 9.0.176、cuDNN 7.0.3。 VS 2017 19.11.25547。

@aluo-x 即使我对 c-make 也不太走运。 但是您可以尝试使用 Bazel 进行构建吗?

@smitshilu如果我没记错的话,您会收到关于对齐的错误,对吗? 类似于此处为 pytorch 描述的那个: https :

我尝试应用相同的解决方案,即从有问题的文件中删除所有 ___align__(sizeof(T))_:
_tensorflow/core/kernels/concat_lib_gpu_impl.cu.cc_
_tensorflow/core/kernels/depthwise_conv_op_gpu.cu.cc_
_tensorflow/core/kernels/split_lib_gpu.cu.cc_

我不确定这是否会导致任何问题,但到目前为止它似乎工作正常。 据我了解,运行时将始终使用 16 的固定对齐方式作为共享内存。

对于感兴趣的人,我们上传了 CUDA 9 轮子。 不需要自己建! https://github.com/mind/wheels/releases/tag/tf1.4-gpu-cuda9

Ubuntu 17.10, CUDA 9, CuDNN 7, Python 3.6, bazel 0.7.0 + TF from source (master)。

按照此答案中的说明启动并运行 CUDA:
https://askubuntu.com/questions/967332/how-can-i-install-cuda-9-on-ubuntu-17-10

请注意,对于 64 位版本,您可能希望使用这些命令:

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc 
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++ 
sudo ./cuda_9.0.176_384.81_linux-run --override

要安装 Tensorflow,您需要

  1. 在编译 TF 之前:正确配置路径变量(来自 NVIDIA 页面的路径对我不起作用):
export PATH=/usr/local/cuda-9.0/bin:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
  1. 编译前:将 bazel 配置为使用与 CUDA 安装期间相同的 gcc 版本:
sudo update-alternatives --remove-all g++
sudo update-alternatives --remove-all gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 10
  1. 当您进入 bazel 构建步骤时按照 TF 说明进行操作时,您需要一个额外的标志来使用高于 4.* 的 gcc 版本进行编译:
    bazel build --config=opt --config=cuda --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package

@alexbrad我在使用 CUDA 9、cuDNN 7 为 Mac GPU 构建时遇到了同样的问题。这个解决方案也对我有用,到目前为止我还没有遇到任何使用 TF 的问题。
源代码更改和轮子: https :

Ubuntu 16.04、带有 CUDA 9.0 和 cuDNN 7.0.3 的 TensorFlow 1.4 已经安装和测试:

从源安装 Tensorflow 1.4

cd ~/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
  • 配置 CUDA 版本:9.0
  • cuDNN 版本配置:7.0.3
  • https://developer.nvidia.com/cuda-gpus获取您的计算能力
  • 我将此设置为 6.1,因为我有 GeForce GTX 1070
  • 根据需要配置其他选项

./configure

安装巴泽尔

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java8-installer
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
sudo /sbin/ldconfig -v

构建 TensorFlow

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

上面tensorflow轮文件的名字可能不一样
只需ls /tmp/tensorflow_pkg即可查看

Mac 10.13、CUDA 9 和 tensorflow 1.4 的安装步骤https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f

有人可以告诉我,如何使用 bazel 从 linux (Ubuntu 16.04) 中的 Windows 源构建 tensorflow whl 包? 如果我是对的,1.2 版是可能的。 谢谢。

@ValeryPiashchynski你可以按照这些步骤https://www.tensorflow.org/install/install_sources

@smitshilu谢谢你的回答。 我可以按照以下步骤在 Ubuntu 中构建 wheel 包,并且在 Ubuntu 中一切正常。 但是我无法在 Windows 操作系统中安装那个 whl 包(有一个错误:不是支持轮)。 所以我的问题是如何在 Ubuntu 中构建包然后我可以在 Windows 中安装它?

~ @ValeryPiashchynski我认为这不可能。~

(将其取出作为下面的评论建议否则)

有一天,通过 clang 在 Ubuntu for Windows 上进行交叉构建应该是可能的。 它可能需要大量修复,因为 Windows 二进制文件当前是使用 MSVC 构建的。 上周一当面与@gunan交谈时,我问了基本相同的问题。 由于它与 CUDA 没有直接关系,是否应该将其分解为自己的 GH 问题?

使用 bazel 可以进行交叉编译,但不确定如何在 tensorflow 上进行。 以供参考
https://github.com/bazelbuild/bazel/wiki/Building-with-a-custom-toolchain
https://github.com/bazelbuild/bazel/issues/1353

有谁知道这里发布的 tensorflow 1.5 夜间构建(win10 构建)是否支持 CUDA9+CuDNN7?
https://pypi.python.org/pypi/tf-nightly-gpu/1.5.0.dev20171115

附带说明一下,仅仅因为您说“它将与 TF 1.5 一起发布”而关闭此票证和 #14126 是完全不负责任的。 MXNET 0.12 已经生产了 CUDA9 FP16。 Tensorflow 和 CNTK 需要抓紧了。 这不仅对 Volta 有利。

还没有,我们正在努力为 CUDA 9 升级我们的构建基础设施。
我们的目标是在本周末之前提供带有 CUDA 9 的 pip 包。

我有两台电脑,昨天我安装了 1080ti 并安装了所有东西(cuda8 和 cudnn6)新的图形驱动程序,visual studio 2015
我比较了 epoch 1080ti 和 980ti 的时间
我看到 1080ti 在 22 分钟内运行每个 epoch,但 980ti 在 13 分钟内运行!!!(1080 的批次 = 60 vs 980ti 的批次 = 20)
为什么 1080ti 的工作速度比 980ti 慢!!!! 以及我如何检查出了什么问题?!

如果使用 1080Ti 的 20 批次,运行时间是多少?

@gunan ,只是想知道是否有新的 ETA ?

@smitshilu
在 1080ti 中,20 批次 =26 分钟
和 60batch = 19min
在 980gtx 中,第 20 批 = 14 分钟!!!!
我使用 Windows,使用 cuda 8 和 cudnn 6 安装最新版本的驱动程序
我怎么能找出为什么它的运行速度比 980 慢?

@nasergh你有 SLI 的 GTX 1080ti 和 980ti 吗?

@vickylance

两台不同的电脑!
都是cori7和1TB硬盘,我从1TB sata HDD加载数据图像
但是在 980 中,我在 SSD 硬盘上有 Windows
我尝试了不同版本的驱动程序,最后我检查了从华硕网站下载的 388.13 CUDA 8 和 cudnn 6
我不知道这是哪一个原因
1-窗户! 也许它在 linux 上工作得更好
2- 硬盘速度
3-假1080TI
4- CUDA 和 cudnn 与 1080ti 不兼容
5- CPU(1080TI电脑上的CPU比980更强大)
你有什么建议?

@纳塞尔
1)内存是一样的吗? 如果是这样的话。 我不确定它是否会产生如此大的影响,但请检查两个系统中 RAM 的 MHz 是否也相同。
2) 检查在 980ti 和 1080ti 上运行时的 GPU 利用率百分比。 如果您想检查 GPU 利用率,请使用此工具。 https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer 有更好的,但这是我的头上。
3) 如果您想获得最佳性能,我建议您在 1080ti 系统上安装 Ubuntu16.04 作为双启动并使用 CUDA 9.0 和 cuDNN 7.0
4) Windows 本身也占用了大量系统资源,因此在 SSD 上运行它肯定会给它带来优势,但没有在您的测试场景中看到的那么大。

也许是选定的板卡架构。
TF默认配置为3.0、3.5和5.2; 根据https://en.wikipedia.org/wiki/CUDA#GPUs_supported,1080TI为 6.1(帕斯卡)而 980 为 5.2(麦克斯韦)
也许降级到 3.0 或 5.2 在 1080TI 上效率不高,而对于 980 则是原生的?
尝试使用 5.2 和 6.1 两种功能进行计算(请参阅 CMakeLists.txt l.232 和 l.246)

De : nasergh [mailto:[email protected]]
特使:mercredi 2017 年 11 月 22 日 17:17
À : 张量流/张量流
抄送:西尔万-布努; 手动的
Objet : Re: [tensorflow/tensorflow] 升级到 CuDNN 7 和 CUDA 9 (#12052)

@vickylance

两台不同的电脑!
都是cori7和1TB硬盘,我从1TB sata HDD加载数据图像
但是在 980 中,我在 SSD 硬盘上有 Windows
我尝试了不同版本的驱动程序,最后我检查了从华硕网站下载的 388.13 CUDA 8 和 cudnn 6
我不知道这是哪一个原因
1-窗户! 也许它在 linux 上工作得更好
2- 硬盘速度
3-假1080TI
4- CUDA 和 cudnn 与 1080ti 不兼容
你有什么建议?

您收到此消息是因为您订阅了此线程。
直接回复此邮件,在 GitHub 上查看,或将线程静音。

环境:cuda9.0+cudnn7.0+tf1.4,运行“ptb”示例时遇到错误,TypeError: __init__() got an unexpected keyword argument 'input_size', 'input_size' is the parameter of the CudnnLSTM

看了这个帖子几个月后,我打算在 Gentoo linux 上试一试

我有华硕 strix 1080TI
1- 在 ubunto 中,我可以在 nvidia 网站上使用驱动程序,或者我必须从 asus 下载(因为我在 asus 网站上看不到 linux 驱动程序)
2-最后一个版本还可以,还是我必须安装 378.13 因为我在大多数评论中看到他们说使用 378.13?
谢谢

对于 Windows 上的用户,我刚刚上传了针对 CUDA 8.0.61.2、cuDNN 7.0.4、Python 3.6.3 构建的 TF 1.4.0,并支持 AVX到我的 repo 上。 希望这足够了,直到 CUDA 9 在 Windows 上得到解决。

我正在尝试在 ubuntu 16.04 和 python 3.6 上安装 CUDA9 和 cudnn 7
但我失败了:(
我尝试了一切,到处搜索,但仍然出现相同的错误“importError:libcublas.so.8.0 无法打开共享对象文件:没有这样的文件或目录
我认为张量想运行 CUDA8
我怎么能告诉他使用 cuda9 ?!!!! 如果答案是从源头运行的,究竟如何? 我没有看到关于从源代码构建的非常清楚的网站
谢谢

你应该从source@nasergh安装 tf

@withme6696
我如何从源代码安装它?

我知道我可以下载其中之一
https://github.com/mind/wheels/releases
但我不知道下载哪一个以及如何安装它!?

@nasergh查看我们的自述文件以了解如何安装。 如果你不介意安装 MKL,你可以这样做

pip --no-cache-dir install https://github.com/mind/wheels/releases/download/tf1.4-gpu-cuda9-37/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

如果你不想安装 MKL,你可以这样做

pip --no-cache-dir install https://github.com/mind/wheels/releases/download/tf1.4-gpu-cuda9-nomkl/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

我将使用此问题作为 CUDA 9 支持的跟踪问题。
目前,有两种拦截器:
1 - https://github.com/tensorflow/tensorflow/pull/14770
2 - 在 Windows 上,NVCC 似乎存在错误。 使用 CUDA9 构建 TF 似乎因编译器崩溃而失败。 NVIDIA 正在帮助调查此事,一旦我们有更新,我们将继续进行。

@丹青
谢谢
1- MKL 提高了多少速度?
2- 在没有 MKL 的版本中,我需要安装 MKL 吗?!

对于 1,请参阅- 请注意,在 GPU 上完成的计算不会明显提高速度。

2,你没有。 确保安装正确的版本。

顺便说一句,这是一个有很多订阅者的线程。 如果您以后对我们的轮子有问题,请在我们的 repo 中打开一个问题,而不是在下面发表评论,这样我们就不会向很多人发送垃圾邮件。

@Tweakmind :我无法通过这部分:

构建 TensorFlow

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package :build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

第一行似乎不完整(缺少双引号)? 这是三行还是两行?

@goodmangu我认为正确的代码是:

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"

命令中缺少双引号。

我在这里使用脚本跳过了这部分,但被https://github.com/tensorflow/tensorflow/issues/15108 中的一些 cuda 编译器错误阻止

谢谢你们。 对此表示赞赏。 我通过使用夜间构建的 Linux 二进制文件在同一天让它工作。 见: https :
现在使用 Keras 运行 3 个 GTX 1080 Tis。 凉爽的!

花了两天时间尝试从源代码 (r1.4) 为我的带有 eGPU 的 MacBook Pro 构建 Tensorflow。 驱动程序运行,使用 Cuda 8.0、cuDNN 6.0、Mac OSX Sierra 10.12。 非常接近尾声,但在 20 分钟后被一些构建错误阻止。 到目前为止有人有运气吗? 您可以共享任何成功构建的包吗? 提前致谢。

@goodmangu你能指定你使用哪个“夜间构建的 Linux 二进制文件”吗?

当然,这个:tf_nightly_gpu-1.head-cp27-none-linux_x86_64.whl

仍然没有 Windows 10 支持 Cuda 9.0 + cuDNN 7.0? 验证而已。
Tensorflow GPU 1.4.0

@goodmangu我尝试过 1.4 但 OSX 10.13 和 CUDA 9 cuDNN 7。你可以在这里找到步骤

@eeilon79 Windows 上有一个 nvcc 错误,阻止我们构建二进制文件。 我们正在从 nvidia 获得帮助以解决这些问题。

tf-nightly-gpu pip 包下的 Tensorflow Nightly Version (1.5-dev) 中是否有 CUDA 9 的更新? 需要将此 1.5 用于 Keras 中的 CuDNNLSTM

OK,PR刚刚合并。
在大约 10-12 小时内,我们的新夜生活应该使用 cuda9 构建,除了 windows。
在 Windows 上,我们仍然被 NVCC 错误阻止。

我完成了 Gentoo 系统的通用 CUDA 9 和 CUDANN 7 包并尝试了虚拟测试,看起来像在 python 中通过虚拟导入 tensorflow as tf 工作,但我需要做额外的测试:

我正在使用提交:c9568f1ee51a265db4c5f017baf722b9ea5ecfbb

在 Windows 上,我们仍然被 NVCC 错误阻止。

您介意在此处发布该问题的链接吗? 提前致谢!

@smitshilu你的文章帮助了我。
我写了一篇文章,添加了一些元素。
https://github.com/masasys/MacTF1.4GPU

@arbynacosta
我跑
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package :build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
但我收到这个错误
错误:构建命令仅在工作空间内受支持。

我也每晚尝试张量,但它会出错
属性错误:模块“tensorflow”没有属性......
dir(tf) 的输出
['__doc__', '__loader__', '__name__', __package__' '__path__ __spec__]

对不起@goodmangu ,我不在。 你让它工作了吗? 正如@arbynacosta指出的那样,我确实错过了结束双引号。 我现在在 Ubuntu 17.10 下使用 CUDA 9.0 和 cuDNN 7.0.4 运行它。 如果需要,我可以在 MacOS 版本上工作。 我对 Win10 和 MacOS 进行了保释,但如果人们需要的话,本周末可以使用它们。

@nasergh ,您是否从克隆的 tensorflow 目录中运行该命令。 确保目录中存在 WORKSPACE。

例如:

~/Downloads/tensorflow$ ls
ACKNOWLEDGMENTS     bazel-bin         bazel-testlogs      configure          LICENSE       tensorflow   WORKSPACE
ADOPTERS.md         bazel-genfiles    BUILD               configure.py       models.BUILD  third_party
arm_compiler.BUILD  bazel-out         CODE_OF_CONDUCT.md  CONTRIBUTING.md    README.md     tools
AUTHORS             bazel-tensorflow  CODEOWNERS          ISSUE_TEMPLATE.md  RELEASE.md    util

@Tweakmind
我运行命令
须藤须
然后转到 tensorflow 文件夹(那里有工作区文件)
但我收到了这个错误

root<strong i="10">@pc</strong>:/home/pc2/tensorflow# bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
..........
WARNING: Config values are not defined in any .rc file: opt
ERROR: /root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD:4:1: Traceback (most recent call last):
    File "/root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD", line 4
        error_gpu_disabled()
    File "/root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/error_gpu_disabled.bzl", line 3, in error_gpu_disabled
        fail("ERROR: Building with --config=c...")
ERROR: Building with --config=cuda but TensorFlow is not configured to build with GPU support. Please re-run ./configure and enter 'Y' at the prompt to build with GPU support.
ERROR: no such target '@local_config_cuda//crosstool:toolchain': target 'toolchain' not declared in package 'crosstool' defined by /root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD
INFO: Elapsed time: 6.830s
FAILED: Build did NOT complete successfully (2 packages loaded)
    currently loading: @bazel_tools//tools/jdk

@nasergh请确保您遵循此处的所有说明:
https://www.tensorflow.org/install/install_sources

如果您使用 GPU 支持进行构建,请确保配置正确。

从源安装 Tensorflow 1.4。

  • 在撰写本文时,这是它适用于 CUDA 9.0 和 cuDNN 7.0 的唯一方式
  • 说明: https :
  • 有些说明可能没有意义,这是我的做法:
cd $HOME/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
./configure

示例输出和选项将与说明中的不同

  • 确保为 CUDA 版本配置:9.0
  • 确保为 cuDNN 版本配置:7.0.4
  • 确保您从https://developer.nvidia.com/cuda-gpus了解您的计算能力
  • 我将此设置为 6.1,因为我有 GeForce GTX 1070

安装巴泽尔

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java8-installer
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
sudo /sbin/ldconfig -v

构建 TensorFlow

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

@Tweakmind :感谢您

@Tweakmind
我做以下并配置文件,但它说

pc2<strong i="7">@pc</strong>:~/Downloads/tensorflow$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 1042
        _create_local_cuda_repository(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 905, in _create_local_cuda_repository
        _get_cuda_config(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 662, in _get_cuda_config
        _cudnn_version(repository_ctx, cudnn_install_base..., ...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 360, in _cudnn_version
        _find_cudnn_header_dir(repository_ctx, cudnn_install_base...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 612, in _find_cudnn_header_dir
        auto_configure_fail(("Cannot find cudnn.h under %s" ...))
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 129, in auto_configure_fail
        fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Cannot find cudnn.h under /usr/lib/x86_64-linux-gnu
WARNING: Target pattern parsing failed.
ERROR: error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 1042
        _create_local_cuda_repository(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 905, in _create_local_cuda_repository
        _get_cuda_config(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 662, in _get_cuda_config
        _cudnn_version(repository_ctx, cudnn_install_base..., ...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 360, in _cudnn_version
        _find_cudnn_header_dir(repository_ctx, cudnn_install_base...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 612, in _find_cudnn_header_dir
        auto_configure_fail(("Cannot find cudnn.h under %s" ...))
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 129, in auto_configure_fail
        fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Cannot find cudnn.h under /usr/lib/x86_64-linux-gnu
INFO: Elapsed time: 0.082s
FAILED: Build did NOT complete successfully (0 packages loaded)
    currently loading: tensorflow/tools/pip_package

我想我正确安装了 cuda 和 cudnn
``
找到 /usr | grep libcudnn
/usr/share/doc/libcudnn7
/usr/share/doc/libcudnn7/copyright
/usr/share/doc/libcudnn7/NVIDIA_SLA_cuDNN_Support.txt
/usr/share/doc/libcudnn7/changelog.Debian.gz
/usr/share/lintian/overrides/libcudnn7
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.0.4
/usr/lib/x86_64-linux-gnu/libcudnn.so.7

``

@goodmangu ,我将在周末进行 MacOS 构建。

@nasergh ,你安装了cuDNN吗?

这是我的 cuDNN 指南,包括用于测试安装的源代码和文档:

下载 cuDNN 7.0.4 文件

您必须在浏览器中登录您的 Nvidia 开发者帐户

检查每个哈希

cd $HOME/Downloads
md5sum cudnn-9.0-linux-x64-v7.tgz && \
md5sum libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb && \
md5sum libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb && \
md5sum libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

输出应该是:

fc8a03ac9380d582e949444c7a18fb8d cudnn-9.0-linux-x64-v7.tgz
e986f9a85fd199ab8934b8e4835496e2 libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
4bd528115e3dc578ce8fca0d32ab82b8 libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
04ad839c937362a551eb2170afb88320 libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

安装 cuDNN 7.0.4 和库

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

验证cuDNN

Ubuntu 17.10 包含 7+ 版本的 GNU 编译器
CUDA 不兼容高于版本 6
返回的错误是:

错误 - 不受支持的 GNU 版本! 不支持 6 之后的 gcc 版本!

修复 - 安装版本 6 并在 CUDA bin 目录中创建符号链接:

sudo apt-get install gcc-6 g++-6
sudo ln -sf /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -sf /usr/bin/g++-6 /usr/local/cuda/bin/g++

现在构建 mnistCUDNN 来测试 cuDNN

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

如果 cuDNN 安装正确,您将看到:

通过测试!

亲爱的@Tweakmind
您的方式有效,感谢您的帮助(我尝试安装张量超过 3 周!!!)
问题是我将它安装在 python3.6 上,现在我的 PIL 包有问题

Traceback (most recent call last):
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 551, in get
    inputs = self.queue.get(block=True).get()
  File "/home/pc2/anaconda3/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
  File "/home/pc2/anaconda3/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 391, in get_index
    return _SHARED_SEQUENCES[uid][i]
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 761, in __getitem__
    return self._get_batches_of_transformed_samples(index_array)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 1106, in _get_batches_of_transformed_samples
    interpolation=self.interpolation)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 345, in load_img
    raise ImportError('Could not import PIL.Image. '
ImportError: Could not import PIL.Image. The use of `array_to_img` requires PIL.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/models.py", line 1227, in fit_generator
    initial_epoch=initial_epoch)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/engine/training.py", line 2115, in fit_generator
    generator_output = next(output_generator)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 557, in get
    six.raise_from(StopIteration(e), e)
  File "<string>", line 3, in raise_from
StopIteration: Could not import PIL.Image. The use of `array_to_img` requires PIL.

我尝试安装枕头,但无济于事
我也尝试安装 PIL 但

UnsatisfiableError: The following specifications were found to be in conflict:
  - pil -> python 2.6*
  - python 3.6*

@nasergh你得到了什么:

pip install pillow

我的看起来像:

~$ pip install pillow
Requirement already satisfied: pillow in ./anaconda3/lib/python3.6/site-packages

@nasergh ,我需要崩溃,但我会在起床时登记。

@goodmangu ,我无法在周末进行 Mac 构建,因为我无法使用 2012 Mac Pro。 希望您现在对 Ubuntu 感到满意。 我知道它对我很有效。 下周末我应该把它拿回来。

@Tweakmind - 谢谢! ,您是否看到 CUDA 9 和 cuDNN 7 的性能提升?

另外我认为下面@Tweakmind提到的一些步骤是多余的,你要么需要:

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

或者

sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

@古南
CUDA 9.1.85 刚刚与 CuDNN 7.0.5 一起发布,修复了 nvcc 编译器错误。 我想知道它是否允许win10用户编译Tensorflow 1.4.1? 是时候了。

从我们与 NVIDIA 的通信来看,我认为 9.1 没有解决这个问题。
但是,我们有解决方法。 首先,我们需要将这个 PR 合并到 eigen 中:
https://bitbucket.org/eigen/eigen/pull-requests/351/win-nvcc/diff

然后我们将更新我们的特征依赖,它应该修复我们所有的 CUDA9 构建

pr 被拒绝了,但它接缝要手动合并。 我们必须等待特征版本发布还是由源代码构建?

很酷,那么它会在 Nightly pip 上发布吗?

@Tweakmind
我尝试使用 python 2.7 重建张量
但是在 bazel build 中我收到了这个错误
我也安装了 numpy 但没有变化。

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
ERROR: /home/gh2/Downloads/tensorflow/util/python/BUILD:5:1: no such package '@local_config_python//': Traceback (most recent call last):
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 310
        _create_local_python_repository(repository_ctx)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 274, in _create_local_python_repository
        _get_numpy_include(repository_ctx, python_bin)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 257, in _get_numpy_include
        _execute(repository_ctx, [python_bin, "-c",..."], <2 more arguments>)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 76, in _execute
        _python_configure_fail("\n".join([error_msg.strip() if ... ""]))
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 37, in _python_configure_fail
        fail(("%sPython Configuration Error:%...)))
Python Configuration Error: Problem getting numpy include path.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
**ImportError: No module named numpy**
Is numpy installed?
 and referenced by '//util/python:python_headers'
ERROR: Analysis of target '//tensorflow/tools/pip_package:build_pip_package' failed; build aborted: Loading failed
INFO: Elapsed time: 10.826s
FAILED: Build did NOT complete successfully (26 packages loaded)
    currently loading: tensorflow/core ... (3 packages)
    Fetching http://mirror.bazel.build/.../~ooura/fft.tgz; 20,338b 5s
    Fetching http://mirror.bazel.build/zlib.net/zlib-1.2.8.tar.gz; 19,924b 5s
    Fetching http://mirror.bazel.build/.../giflib-5.1.4.tar.gz; 18,883b 5s

cuDNN 7.0.5 版似乎排除了 OSX。 有谁知道详细的吗?

我仍然无法让 tensorflow-gpu 在 Windows 10(使用 CUDA 9.0.176 和 cudnn 7.0)中工作。
我已经卸载了 tensorflow 和 tensorflow-gpu 并重新安装了它们(使用 --no-cache-dir 以确保使用特征解决方法下载最新版本)。 当我同时安装两者时,我的 GPU 无法识别:

InvalidArgumentError(回溯见上文):无法为操作“random_uniform_1/sub”分配设备:操作已明确分配给/ job:localhost/replica :0/ task:0/deviceCPU:0 ]。 确保设备规范是指有效的设备。

当我只安装 tensorflow-gpu 时,它会抱怨缺少 dll:

导入错误:找不到“cudart64_80.dll”。 TensorFlow 要求将此 DLL 安装在 %PATH% 环境变量中命名的目录中。 从此 URL 下载并安装 CUDA 8.0: https :

这很奇怪,因为我的 CUDA 版本是 9.0,而不是 8.0,并且被识别(deviceQuery 测试通过)。
我的 python 版本是 3.6.3。 我正在尝试在 Spyder (3.2.4) 中运行代码以测试 tensorflow-gpu。
我错过了什么?

我正在尝试通过 bazel 在 win 7 上从源代码构建,出现错误

cpu 'x64_windows' 没有工具箱

任何人都可以建立whl吗?

@hadaev8 ,我需要更多信息来提供帮助。 我可以在 whl 上工作,但它会有很大的依赖性,而不是 Win7,一旦我解决了 MacOS,我将解决 Win10。 无论如何,请发布您的详细信息。

@eeilon79 ,我需要在 Win10 下重新创建它。 既然 Ubuntu 已经解决,我目前专注于 MacOS。 我会回到Win 10。

@nasergh ,对 python 2.7 有要求吗?

使用 CUDA 8.0 和 cuDNN 6.0,这就是我从源代码安装 TensorFlow 以在 Win10 中支持 Cuda GPU 和 AVX2 的方式:

要求:

* Windows 10 64-Bit
* Visual Studio 15 C++ Tools
* NVIDIA CUDA® Toolkit 8.0
* NVIDIA cuDNN 6.0 for CUDA 8.0
* Cmake
* Swig

安装 Visual Studio Community Edition Update 3 w/Windows Kit 10.0.10240.0
按照以下说明操作: https :

创建虚拟驱动器 N:为清楚起见
我建议在 C: 或您选择的驱动器上创建一个目录并根据这些说明创建 N:(最少 2GB):
https://technet.microsoft.com/en-us/library/gg318052 (v=ws.10).aspx

安装 Cuda 8.0 64 位
https://developer.nvidia.com/cuda-downloads (向下滚动到旧版)

为 Cuda 8.0 安装 cuDNN 6.0
https://developer.nvidia.com/rdp/cudnn-download
将 zip 中的 cuda 文件夹放在 N:\ 并重命名为 cuDNN-6

安装 CMake
https://cmake.org/files/v3.10/cmake-3.10.0-rc5-win64-x64.msi

安装 Swig (swigwin-3.0.12)
https://sourceforge.net/projects/swig/files/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip

cntk-py36

```conda create --name cntk-py36 python=3.6 numpy scipy h5py jupyter
激活cntk-py36
pip 安装https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp36-cp36m-win_amd64.whl
python -c“导入cntk;打印(cntk.__version__)”
conda 安装 pygpu
点安装keras

#### Remove old tensorflow in Tools if it exists
```cd C:\Users\%USERNAME%\Tools\
move tensorflow tensorflow.not
git clone --recursive https://github.com/tensorflow/tensorflow.git
cd C:\Users\%USERNAME%\Tools\tensorflow\tensorflow\contrib\cmake
Edit CMakeLists.txt

注释掉这些:

# if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH)
#   include(CheckCXXCompilerFlag)
#   CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
#   if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
#     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
#   endif()
# endif()

添加这些:

if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH)
  include(CheckCXXCompilerFlag)
  CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
  if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
  else()
    CHECK_CXX_COMPILER_FLAG("/arch:AVX2" COMPILER_OPT_ARCH_AVX_SUPPORTED)
    if(COMPILER_OPT_ARCH_AVX_SUPPORTED)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX2")
    endif()
  endif()
endif()

mkdir 构建和 cd 构建

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"

cmake .. -A x64 -DCMAKE_BUILD_TYPE=Release ^
-DSWIG_EXECUTABLE=N:/swigwin-3.0.12/swig.exe ^
-DPYTHON_EXECUTABLE=N:/Anaconda3/python.exe ^
-DPYTHON_LIBRARIES=N:/Anaconda3/libs/python36.lib ^
-Dtensorflow_ENABLE_GPU=ON ^
-DCUDNN_HOME="n:\cuDNN-6" ^
-Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX2

-- 适用于:Visual Studio 14 2015
-- 选择 Windows SDK 版本 10.0.14393.0 以针对 Windows 10.0.16299。
-- C 编译器标识为 MSVC 19.0.24225.1
-- CXX 编译器标识为 MSVC 19.0.24225.1
-- 检查工作的 C 编译器:C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- 检查 C 编译器是否工作:C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- 有效
-- 检测 C 编译器 ABI 信息
-- 检测 C 编译器 ABI 信息 - 完成
-- 检查 CXX 编译器是否工作:C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- 检查 CXX 编译器是否有效:C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- 有效
-- 检测 CXX 编译器 ABI 信息
-- 检测 CXX 编译器 ABI 信息 - 完成
-- 检测 CXX 编译特性
-- 检测 CXX 编译特性 - 完成
-- 执行测试 COMPILER_OPT_ARCH_NATIVE_SUPPORTED
-- 执行测试 COMPILER_OPT_ARCH_NATIVE_SUPPORTED - 失败
-- 执行测试 COMPILER_OPT_ARCH_AVX_SUPPORTED
-- 执行测试 COMPILER_OPT_ARCH_AVX_SUPPORTED - 成功
-- 执行测试 COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED
-- 执行测试 COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED - 成功
-- 找到CUDA:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0(找到合适的版本“8.0”,最低要求是“8.0”)
-- 找到 PythonInterp:C:/Users/%USERNAME%/Anaconda3/python.exe(找到版本“3.6.3”)
-- 找到 PythonLibs:C:/Users/%USERNAME%/Anaconda3/libs/python36.lib(找到版本“3.6.3”)
-- 找到 SWIG:C:/Users/%USERNAME%/Tools/swigwin-3.0.12/swig.exe(找到版本“3.0.12”)
-- 配置完成
-- 生成完成
-- 构建文件已写入:C:/Users/%USERNAME%/Tools/tensorflow/tensorflow/contrib/cmake/build

MSBuild /p:Configuration=Release tf_python_build_pip_package.vcxproj

@Tweakmind
python 3.6,tensorflow 最后来自 master,cuda 9.0,cudnn 7.0.5 for cuda 9.0,今天加载了巴塞尔和 swig。

@Tweakmind你是用 master 还是 ?

@Tweakmind
您可以使用 cuda 9 cudnn 7 在 Windows 上构建并共享 .whl 吗?

@Tweakmind

您不尝试使用 cuda 9 cudnn 7 建立在 win 10 上吗?

感谢您的专业知识!

@hadaev8 @alc5978
pip install -U tf-nightly-gpu 现在提供了一个日期为 20171221 的 win10 版本,它基于带有 CUDA 9.0 和 CuDNN 7.0.5 的 TF 1.5 beta。 我昨晚跑了,没问题。 现在我们应该转向 CUDA 9.1 以获得 12 倍的 CUDA 内核启动速度。 Tensorflow Windows 支持非常缓慢且乏力。 应尽快提供稳定的官方版本。 我实际上希望在 1 月底之前与 CUDA 9.1 一起发布 Tensorflow 1.5 稳定版?

转到http://www.python36.com/install-tensorflow141-gpu/在 ubuntu 上逐步安装带有 cuda 9.1 和 cudnn7.05 的 tensorflow。 并转到http://www.python36.com/install-tensorflow-gpu-windows在 Windows 上使用 cuda 9.1 和 cudnn 7.0.5 逐步安装 tensorflow。

现在是2018年,快1月底了,在Windows 10上用CUDA9.1和CuDNN7安装TF还没有完成?

1.5 是带有 CUDA 9 + cuDNN 7 的

我打开了一个问题来讨论 CUDA 9.1。

12 倍内核启动速度的提升比 12 倍数字更微妙。 12x 的高端是ops有很多参数,由于设备驱动程序升级,对用户的干扰很大。 我希望在不久的将来有一个“通道”测试 9.1 并弄清楚如何处理这种范式。

我希望最终会是 CUDA 9.1,而不是 9.0。

我希望它最终是 CUDA 9.1,而不是 9.0。

我确定最终会是 CUDA 9.1,而不是 9.0,不是吗? :)

@ViktorM @Magicfeng007 @alc5978
9.1线程在这里,如果你想跟上,虽然它基本上是关闭的。 如果你能列出你想要 9.1 的原因,那会很有用,以及你的设置/配置是什么。 您运行的显示性能提升的基准测试也有助于了解当前的需求。 在与 NVIDIA 的会面中,我们都同意没有立即将 9.1 设​​为默认值的必要。 这将迫使人们再次升级他们的驱动程序。

如果有人仍然面临像 Keras 这样的问题,TensorFlow 后端不使用 GPU.... 只需按照此页面中的说明进行操作。 它已更新并 100% 正确工作。
https://research.wmz.ninja/articles/2017/01/configuring-gpu-accelerated-keras-in-windows-10.html

大家好
我今天在带有 CUDA 9.0 和 cuDNN 7.0.5 库的 win10 上安装了 tensorflow-gpu 1.6.0rc1 http://www.python36.com/install-tensorflow-using-official-pip-pacakage/

一切似乎都很好

我为最新的 TensorFlow (v1.5+) 为 NVIDIA GPU 先决条件(CUDA-9.0 和 cuDNN-7.0)创建了一个脚本,这里是链接

此页面是否有帮助?
0 / 5 - 0 等级