IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 一文看懂 TensorFlow 2.x / keras 安装与GPU支持 -> 正文阅读

[Python知识库]一文看懂 TensorFlow 2.x / keras 安装与GPU支持

目录

安装概述

pip 软件包

硬件要求

软件要求

其他安装方法

安装步骤

确定版本

下载安装

检查

GPU配置

不使用GPU

渐进式的使用显存?

其他问题

找不到GPU

CPU不支持avx2

参考


在深度学习中,单纯使用CPU计算太慢了,GPU的支持是必须的。TensorFlow 2.x版本的GPU支持和1.15版本略有不同。所以在此简单介绍一下。(主要是window的,linux推荐用docker)

安装概述

pip 软件包


TensorFlow-安装-GPU 支持

旧版 TensorFlow
对于 1.15 及更早版本,CPU 和 GPU 软件包是分开的:


pip install tensorflow==1.15 ? ? ?# CPU
pip install tensorflow-gpu==1.15 ?# GPU


新版


pip install tensorflow

硬件要求

支持以下带有 GPU 的设备:

  • CUDA? 架构为 3.5、5.0、6.0、7.0、7.5、8.0 或更高的 NVIDIA? GPU 卡。请参阅支持 CUDA? 的 GPU 卡列表。
  • 如果 GPU 采用的 CUDA? 架构不受支持,或为了避免从 PTX 进行 JIT 编译,亦或是为了使用不同版本的 NVIDIA? 库,请参阅在 Linux 下从源代码编译指南。
  • 软件包不包含 PTX 代码,但最新支持的 CUDA? 架构除外;因此,如果设置了?CUDA_FORCE_PTX_JIT=1,TensorFlow 将无法在旧款 GPU 上加载。(有关详细信息,请参阅应用兼容性。)

软件要求

必须在系统中安装以下 NVIDIA? 软件:

其他安装方法

安装步骤

确定版本

确定自己TensorFlow,Python以及显卡驱动的版本。

TensorFlow和Python的版本根据自己的业务需求来确定,一般说来,不同小版本的差异不太大。所以主要取决与显卡驱动的版本(显卡的型号)

如果以前装过了,现在只是升级降级,可以先查看Windows下TensorFlow和CUDA的对应关系。点击链接

截了部分图,如下:

?使用nvcc --version 可以查看驱动版本。

在nVidia的控制面板里面,可以查到cuda的驱动版本,这个版本比nvcc的高就行,要不然就要重新安装显卡驱动。

如图,我的显卡驱动支持的是10.1,高于nvcc查到的,所以是可以的。?

使用pip list 可以查看 tensorFlow版本

然后搜索cudnn64_?.dll 可以查看cudnn版本。

例如,我目前环境的配置

tensorflow 2.0.0

python 3.7.3

nvcuda 10.1

cudnn 7.4.1

如果版本不对,或者之前没有安装过,则去对应地方下载即可。

下载安装

cuda toolkit下载

CUDA Toolkit Archive | NVIDIA Developericon-default.png?t=M276https://developer.nvidia.com/cuda-toolkit-archive

?nVidia 驱动下载

Official Drivers | NVIDIADownload latest drivers for NVIDIA products including GeForce, TITAN, NVIDIA RTX, Data Center, GRID and more.icon-default.png?t=M276https://www.nvidia.com/download/index.aspx?lang=en-uscudnn下载

cuDNN Archive | NVIDIA Developericon-default.png?t=M276https://developer.nvidia.com/rdp/cudnn-archivecudnn主要是支持一些深度学习网络计算的,下载之后,解压到cuda的文件夹即可,例如我解压在这里:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

检查

安装完之后,需要检查下,是否真的支持了GPU。

先检查下自己是否有GPU或者显卡驱动是否安装对了。

nvidia-smi

这一步如果没有看到GPU,就要检查下自己的显卡和驱动了。

?再看看tensorFlow中是否识别

import tensorflow as tf
print(tf.test.is_gpu_available())
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
cpus = tf.config.experimental.list_physical_devices(device_type='CPU')
print(gpus, cpus)

如果这一步没有显示出GPU,则要检查自己tf,python,cuda版本是否一致了。

其实如果安装正常了,在terminal中import tensorflow会有提示的。

GPU配置

不使用GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"

不放心的话,可以用这个来测试下是否使用了GPU。我也做了个测试,对于mnist手写数据做训练。是否使用GPU效率差是巨大的。?

渐进式的使用显存?

有时候训练的时候会出这个错误

看似是cudnn库有问题,但更有可能是显存不足了,需要看下自己的显存

例如上图,就是显存不足了。

?这个时候就可以修改下网络或者训练方法以减少一次性加载的数据,或者干脆做如下配置:

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)


或者

import tensorflow as tf
from tensorflow.python.keras import backend as KTF
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth=True #不全部占满显存, 按需分配
sess = tf.compat.v1.Session(config=config)
KTF.set_session(sess) # 设置session



或者

import tensorflow as tf
gpu_devices = tf.config.experimental.list_physical_devices('GPU')
for device in gpu_devices:
    tf.config.experimental.set_memory_growth(device, True)

其他问题

找不到GPU

先看下各个版本是否对齐,有时候版本是对的,但是一直找不到GPU。我建议是把tensoflow相关的库都卸载掉,或者重新使用一个虚拟环境。

CPU不支持avx2

训练中主要用GPU,我觉得支不支持也无所谓,网上的解决方法比较多,可以试试。

参考

Windows10安装CUDA10.1 - 知乎

“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”错误的解决办法_史丹利复合田的博客-CSDN博客

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-14 23:50:39  更:2022-04-14 23:52:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:23:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码