解决Linux Tensorflow2.0安装问题
conda update conda
pip install tf-nightly-gpu-2.0-preview
conda install https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudnn-7.3.1-cuda10.0_0.tar.bz2
conda install https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudatoolkit-10.0.130-0.tar.bz2
说明:
- 首先需要更新conda
- 安装的是tf2.0最新版
- cudnn7.3.1和cudatoolkit-10.0版本,可以下载下来本地安装
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudnn-7.3.1-cuda10.0_0.tar.bz2
conda install cudnn-7.3.1-cuda10.0_0.tar.bz2
出现的错误及解决方案
旧库问题
ERROR: Cannot uninstall ‘wrapt’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
旧版本依赖多,不能清晰的删除,此时应该忽略旧版本升级,即如下 解决办法: pip install tf-nightly-gpu-2.0-preview –ignore-installed wrapt
numpy版本问题
还有一个问题是说numpy存在旧版本,可以使用pip卸载numpy,直到提示没有可卸载的为止,然后重新安装numpy
驱动问题
tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
这是因为驱动版本不匹配导致的,可以到NVIDIA官网下载cuda10.0(和上面的一致)的驱动
安装命令: https://juejin.im/post/5cce44e3f265da036902a89c
,然后一路确定,最后使用 watch nvidia-smi
查看结果:
测试及其他
测试可用:
import tensorflow as tf
print(tf.__version__)
print(tf.keras.__version__)
if tf.test.is_gpu_available():
device = "/gpu:0"
else:
device = "/cpu:0"
print(device)
减少tensorflow输出信息
TensorFlow的log信息共有四个等级,按重要性递增为:INFO(通知)<WARNING(警告)<ERROR(错误)<FATAL(致命的)
tf.compat.v1.logging.set_verbosity('ERROR')
或者
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
tensorflow2.0在pycharm下提示问题
tensorflow2.0 使用keras一般通过tensorflow.keras来使用,但是pycharm没有提示,原因是因为实际的keras路径放在tensorflow/python/keras,但是在程序中tensorflow有没有python这个目录,解决方法如下:
try:
import tensorflow.python.keras as keras
except:
import tensorflow.keras as keras
这样pycharm既可以有提示,同时也不需要在程序运行的时候修改代码了。
总结
以上所述是小编给大家介绍的解决Linux Tensorflow2.0安装问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【卷积神经网络结构专题】ResNet及其变体的结构梳理、有效性分析
- Steganographer:能帮助在图片中隐藏数据的Python隐写工具
- 内网横向移动:Kerberos认证与(哈希)票据传递攻击
- 诺禾致源linux下数据下载
- 技巧 | OpenCV中如何绘制与填充多边形
- Swift guard
- PyTorch实现TPU版本CNN模型
- 使用NLP检测和对抗AI假新闻
- kallisto --genomebam报错解决(GTF文件的坑)
- linux查找文件
- TCP 协议面试灵魂 12 问,问到你怀疑人生!
- 方差分析简介(结合COVID-19案例)
- mysql计算两个时间字段的时间差
- 学生党学编程,有这个开源项目就够了!
- 【最强ResNet改进系列】Res2Net:一种新的多尺度网络结构,性能提升显著