cuda9.2环境下pip安装tensorflow非官方轮子

cuda9.2环境下pip安装tensorflow非官方轮子

对于tensorflow,官方的预编译版本只支持cuda9.0,如果是cuda9.2需要自己编译安装。
但是,github上能够查到热心的小伙伴编译好的非官方版本,减少了工作量。

我查到的都列出来了,可能还有别的:
if your System is Linux:
https://github.com/YaphetS1/tensorflow-linux-wheel (cudnn7.4.2)
https://github.com/mtianyan/tensorflow-linux-wheel (cudnn7.1.4)
if your System is Windows:
https://github.com/fo40225/tensorflow-windows-wheel/
if your System is Mac:
https://github.com/lakshayg/tensorflow-build
others(from tinymind):
https://github.com/mind/wheels

安装方式简单明了:
pip3 install /PATH/*.whl

我是使用virtualenv创建虚拟环境,在虚拟环境中进行安装的,virtualenv这里不多介绍。
注意:

  • python环境:我的环境是ubuntu18.04,python3.6,所以选择linux的第二个链接。
  • cudnn版本:我的cudnn是7.4.1,和两个轮子都不一致,但是也装上了。cudnn不一致的话可以考虑升级或降级自己的cudnn版本Ubuntu16.04下cuda和cudnn的卸载和升级(我太懒没弄).

测试:

python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

输出:

cuda9.2环境下pip安装tensorflow非官方轮子

安装时可能会报错:
* is not a supported wheel on this platform

遇到错误不要怕,查看一下pip支持的文件。
**python交互环境后,输入:

import pip
print(pip.pep425tags.get_supported())

import pip._internal
print(pip._internal.pep425tags.get_supported())

结果:
[(‘cp36’, ‘cp36m’, ‘manylinux2010_x86_64’), (‘cp36’, ‘cp36m’, ‘manylinux1_x86_64’), (‘cp36’, ‘cp36m’, ‘linux_x86_64’), (‘cp36’, ‘abi3’, ‘manylinux2010_x86_64’), (‘cp36’, ‘abi3’, ‘manylinux1_x86_64’), (‘cp36’, ‘abi3’, ‘linux_x86_64’), (‘cp36’, ‘none’, ‘manylinux2010_x86_64’), (‘cp36’, ‘none’, ‘manylinux1_x86_64’), (‘cp36’, ‘none’, ‘linux_x86_64’), (‘cp35’, ‘abi3’, ‘manylinux2010_x86_64’), (‘cp35’, ‘abi3’, ‘manylinux1_x86_64’), (‘cp35’, ‘abi3’, ‘linux_x86_64’), (‘cp34’, ‘abi3’, ‘manylinux2010_x86_64’), (‘cp34’, ‘abi3’, ‘manylinux1_x86_64’), (‘cp34’, ‘abi3’, ‘linux_x86_64’), (‘cp33’, ‘abi3’, ‘manylinux2010_x86_64’), (‘cp33’, ‘abi3’, ‘manylinux1_x86_64’), (‘cp33’, ‘abi3’, ‘linux_x86_64’), (‘cp32’, ‘abi3’, ‘manylinux2010_x86_64’), (‘cp32’, ‘abi3’, ‘manylinux1_x86_64’), (‘cp32’, ‘abi3’, ‘linux_x86_64’), (‘py3’, ‘none’, ‘manylinux2010_x86_64’), (‘py3’, ‘none’, ‘manylinux1_x86_64’), (‘py3’, ‘none’, ‘linux_x86_64’), (‘cp36’, ‘none’, ‘any’), (‘cp3’, ‘none’, ‘any’), (‘py36’, ‘none’, ‘any’), (‘py3’, ‘none’, ‘any’), (‘py35’, ‘none’, ‘any’), (‘py34’, ‘none’, ‘any’), (‘py33’, ‘none’, ‘any’), (‘py32’, ‘none’, ‘any’), (‘py31’, ‘none’, ‘any’), (‘py30’, ‘none’, ‘any’)]

把whl文件名字改成以上任意格式就好了。