参考链接:
- 官方文档:https://tensorflow.google.cn/install/source
- https://www.jianshu.com/p/09ef0ad2ef4a
- https://blog.csdn.net/lsqtzj/article/details/108899430
版本匹配问题:
- ubuntu18.04+cuda11.1+cudnn8.1.1+anaconda3
- tensorflow只支持到cuda11.0(实测中cuda11.0不支持3090),要自己编译tensorflow(具体步骤参考官方文档)
bensorflow编译过程中报错:
- 网络不好,会报连接超时的错误
解决方案:将代码中的那个"https://github.com"替换为"https://hub.fastgit.org"(ctrl+H);
更换网络
code WORKSPACE
code tensorflow/workspace.bzl
code third_party/aws/workspace*
- tensorflow编译过程中电脑卡死(试了几遍,都出现了卡死的情况,不得不强制重启
我认为应该是任务量太大,cpu卡死,于是手动设置任务量和占用内存:
bazel build --config=cuda --jobs HOST_CPUS*0.5 --local_ram_resources=HOST_RAM*05 //tensorflow/tools/pip_package:build_pip_package
--jobs HOST_CPUS*0.5 #开cpu 0.5倍数量的任务数
--local_ram_resources=HOST_RAM*0.5 #使用50%的内存
- 编译完成后,构建软件包(确保在需要安装的anaconda虚拟环境中)
./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg
- 安装生成的软件包
cd /tmp/tensorflow_pkg/
ls
pip install tf_nightly-2.5.0-cp36-cp36m-linux_x86_64.whl
- 测试运行
打开pyCharm,选择之前安装的虚拟环境,输入以下代码运行,结果如下(正确显示显卡信息并且调用成功):
import tensorflow as tf
print(tf.__version__)
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))