Python机器学习——Anaconda+tensorflow(gpu)安装步骤和常见问题

一、前言

本人大数据专业,最近在学习机器学习,想用自己的电脑跑程序,因此想研究一下tenforflow的使用

1.CPU和GPU

CPU就是中央处理器,常见的有AMD系列的R3、R5、R7和intel系列的i3、i5、i7、i9等等

GPU是图形处理器,也是常说的显卡,常见的有NVIDIA的GT、GTX、RTX系列,也有AMD的和intel的。显卡区分集显(主板自带显卡)、核显(CPU自带显卡)、独显(独立安装的显卡)、双显(同时有核显和独显)

(1)组成:

CPUGPU
ALU(运算单元)25%90%
Control(控制单元)25%5%
Cache(缓存单元)50%5%

(2)区别:

CPU核心数量较少,常见的只有16核

GPU核心数量较多,常见的有上千个核心

(3)形象比喻:

GPU核心是一群小学生,扎堆算加减法,做的是并行运算;CPU核心是几个老教授,能解微积分,CPU的核比GPU复杂得多。

(4)机器学习使用GPU的原因

然而机器学习中的一个重要概念——神经网络,其结构就是高度并行的,当然也有一些其他原因,因此使用GPU跑机器学习的程序,要比CPU速度快的多(同等级别下)。

(5)引文:

CPU和GPU区别_知乎

为什么深度学习和神经网络需要GPU_知乎

显卡:集显、核显、独显、双显区别_知乎

CPU和GPU核心数量差距原因_知乎


2.Anaconda

(1)介绍:

Aanconda是基于conda的Pythn数据f科学和机器学习开发平台,其包含了conda、Python、numpy在内的超过180个科学包及其依赖项,可以说是为了数据处理量身定制。

(2)虚拟环境:

Python的使用过程中,我们常常由于不同Python版本以及不同第三方库版本的支持情况与相互之间的冲突情况,而需要创建不同的Python虚拟环境;在Anaconda的帮助下,这一步骤就变得十分方便

(3)Conda:

conda是包及其依赖项和环境的管理工具,本文中要用conda创建虚拟环境,因此需要介绍一下codna对虚拟环境的增删查操作

(4)虚拟环境操作:

#a.创建虚拟环境
conda create -n your_env_name python=X.X
#your_env_name:虚拟环境名称
#python=X.X:虚拟环境 python 版本

#b.查看虚拟环境
#查看创建的所有虚拟环境:
conda env list
#查看虚拟环境中安装的库文件:
conda list
#更新所有库文件:
conda update --all
#安装库文件:
conda install package
#更新库文件:
conda update package

#c.打开虚拟环境
conda activate your_env_name

#d.关闭虚拟环境(本质是切换回base虚拟环境)
conda deactivate

#e.删除虚拟环境
conda remove -n your_env_name --all

(5)与Python的对应版本:

网上有很多Anacodna和对应Python版本的文章,然而更新最及时,最准确的还是官方的发行说明文档。在下方引文——Anaconda发行说明_官方中可以跳转到官方的发行说明,右侧是Anaconda各个版本,中间部分往下翻就可以找到其中内置Python的版本。

(6)下载Anaconda:

引文——Anaconda历史版本下载_官方、Anaconda清华镜像源下载

(7)修改虚拟环境存储路径

一般情况下,Anaconda的虚拟路径会存储在C盘中,如果C盘空间有限,可以将存储路径存放到其他位置,例如Anaconda下的env文件夹

先看效果:通过查看虚拟环境的命令可以看到,两个虚拟环境base和test的存储位置的都在F盘Anaconda下的env文件夹

方法:

首先找到C盘用户下的“.condarc”的文件,这里的用户应该是安装了anaconda的那个用户,如果没有找到,请跳转到引文——Anaconda新建的虚拟环境总是在c盘如何解决_CSDN。

随后在该文件的最后,加上

envs_dirs:
  - F://Anaconda3//envs

 - F:指定你路径所在的盘符

//Anaconda//envs:指定你要设置的路径

可以直接复制鄙人的

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  
envs_dirs:
  - F://Anaconda3//envs

(8)引文:

Anaconda创建、使用、删除Python虚拟环境_知乎

Anaconda 虚拟环境基本操作_CSDN

Anaconda发行说明_官方

Anaconda历史版本下载_官方

Anaconda清华镜像源下载

Anaconda新建的虚拟环境总是在c盘如何解决_CSDN


3.TensorFlow

(1)介绍:

TensorFlow 是由 Google 团队开发的深度学习框架之一,它是一个完全基于 Python 语言设计的开源的软件。TensorFlow 的初衷是以最简单的方式实现机器学习和深度学习的概念,它结合了计算代数的优化技术,使它便计算许多数学表达式。

TensorFlow 可以训练和运行深度神经网络,它能应用在许多场景下,比如,图像识别、手写数字分类、递归神经网络、单词嵌入、自然语言处理、视频检测等等。TensorFlow 可以运行在多个 CPU 或 GPU 上,同时它也可以运行在移动端操作系统上(如安卓、IOS 等),它的架构灵活,具有良好的可扩展性,能够支持各种网络模型(如OSI七层和TCP/IP四层)。

TensorFlow 这个词由 Tensor 和 Flow 两个词组成,这两者是 TensorFlow 最基础的要素。Tensor 代表张量(也就是数据),它的表现形式是一个多维数组;而 Flow 意味着流动,代表着计算与映射,它用于定义操作中的数据流。

(2)引文:

人工智能框架—Tensorflow简介_知乎


4.CUDA和cuDNN

(1)CUDA

  • 什么是CUDA? CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一个平行计算平台和API模型。它允许软件开发者和软件工程师使用NVIDIA GPU进行通用处理(也就是GPGPU,General-Purpose computing on Graphics Processing Units)。
  • 为什么TensorFlow需要CUDA? 如果你想在GPU上运行TensorFlow以加速模型的训练和推理过程,那么就需要CUDA。TensorFlow的GPU支持利用CUDA作为底层来直接与NVIDIA的GPU硬件交互。

(2)cuDNN

  • 什么是cuDNN? cuDNN(CUDA Deep Neural Network library)是NVIDIA发布的一个用于深度神经网络的GPU加速库。它提供了高度优化的常用深度学习操作,比如卷积、池化等。
  • 为什么TensorFlow需要cuDNN? 当你在使用TensorFlow进行深度学习任务,尤其是涉及到复杂神经网络结构时,cuDNN可以提供额外的优化和加速。TensorFlow在GPU上的许多操作都是通过调用cuDNN库实现的。

(3)引文

使用GPU运行TensorFlow模型的教程_CSDN

二、操作环境

语言Python
操作系统windows11
Python环境Anaconda
Python版本3.9.12
机器学习库tensorflow
程序运行环境GPU
版本
IDEPycharm
GPUNVIDIA RTX 3060
CUDA
cuDNN

大坑:如果你的操作系统是windows,请注意tensorflow的gpu版本对win的支持只到2.10.0版本,即时你的CUDA和cuDNN版本正确,也千万不要使用大于2.10.0的版本!!!

三、版本选择

1.CUDA和cuDNN

(1)首先确定电脑中是否有独显

右键文件资源管理器或者桌面此电脑,点击管理,打开计算机管理

或者windows搜索计算机管理,打开计算机管理窗口

随后在计算机管理(本地)——设备管理器——显示适配器中,找到设备中安装的独显

(2)查看显卡算力

在下面的网站中查看该显卡的算力(仅适用于NVIDIA显卡),如果显卡算力低于5.0,则不建议使用tensorflow-gpu

CUDA GPU计算能力详情_官方

如果你和鄙人一样是GeForce系列的显卡,在本网页中点击CUDA-Enabled GeForce and TITAN Products(支持CUDA的GeForce和TITIAN产品)就可以查看到不同显卡和对应的算力

(3)随后查看设备中显卡对应的最高CUDA版本

windows输入NVIDIA Control Panel进入NVIDIA控制面板,或者右键NVIDIA GeForce驱动程序进入NVIDIA控制面板

在控制面板的左下角,找到系统信息,点击组件,找到NVCUDA64.DLL,确定CUDA版本,鄙人的CUDA版本是12.3,说明所使用CUDA版本不能超过12.3

如果你找不到NVIDIA的控制面板,也可以在cmd中输入nvidia-smi查看相关信息

2.Tensorflow

在Tensorflow官网确定要使用的版本

TensorFlow版本对应关系_官方

这里要注意官方网站给到的提示(非常重要)

Note: GPU support on native-Windows is only available for 2.10 or earlier versions, starting in TF 2.11, CUDA build is not supported for Windows. For using TensorFlow GPU on Windows, you will need to build/install TensorFlow in WSL2 or use tensorflow-cpu with TensorFlow-DirectML-Plugin

翻译过来是

注意:本机Windows上的GPU支持仅适用于2.10或更早版本,从TF 2.11开始,Windows不支持CUDA构建。要在Windows上使用TensorFlow GPU,您需要在WSL2中构建/安装TensorFlow,或者将TensorFlow cpu与TensorFlow DirectML插件一起使用

这提示已经很直白了,就是你如果是windows系统,要使用tensorflow-gpu的话,最高只能安装2.10版本的,除非你是用WSL2(Windows Subsystem for Linux)。鄙人最开始并没有注意到这个提示,直接去使用了2.12版本,CUDA和cuDNN则使用的是11.2和8.1,结果一切准备就绪之后发现测试程序找不到我的GPU,从头翻过来找问题的时候才注意到这问题,所以接下来的演示都会基于tensorflow-gpu2.10版本,所以Python版本,CUDA版本,cuDNN版本都随之确定。

Python3.7-3.10
CUDA11.2
cuDNN8.1

其实这里还有一个tensorflow的问题,就是tensorflow在2.12版本之后,将tensorflow和tensorflow-gpu进行合并了,只需要配置CUDA和cuDNN就可以直接调用gpu跑程序,然而现在windows只支持到2.10版本,所以不需要考虑这个问题。

3.Python

如果你已经安装了Anaconda,则可以通过cmd查看python的版本

如果python版本后边有Anaconda,查看到的python版本是Anaconda内置的python,否则有可能是其他环境中的python版本

4.Anaconda

Anaconda的版本主要通过Python版本确定

四、CUDA和cuDNN的安装

CUDA下载地址:

CUDA下载_官方

cuDNN下载地址:

cuDNN下载_官方

CUDA和cuDNN安装:

这里可以看这个博主的文章,我会结合自身的情况进行补充

CUDA、CUDNN在windows下的安装及配置-CSDN博客

鄙人的安装目录情况如下所示

 nvcc.exe在F:\CUDA\CUDA Development\bin这个目录下

cuti64_101.dll在F:\CUDA\CUDA Development\extras\CUPTI\lib64这个目录下

cuDNN合并的bin、lib、include目录在F:\CUDA\CUDA Development这个目录下(lib目录合并时,合并的是lib下的x64目录)

鄙人的环境变量配置情况如下

五、TensorFlow安装

1.创建conda虚拟环境

windows搜索Anaconda Prompt,并以管理员身份运行

使用下面的命令创建名为test的虚拟环境,python版本最好与anaconda内置的python版本相同

conda create -n test python=3.9.12

可以用conda env list进行查看

2.安装tensorflow

将当前虚拟环境设置为刚才创建的虚拟环境

conda activate test

 

可以看到最前面的base切换成了tset 

随后使用命令

pip install tensorflow-gpu==2.10.0

如果出现下面的报错,有可能是python环境是32位的原因,详情在下面的网址

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow 

Anaconda 中python32位和64位并存,切换

3.tensorflow测试

在创建的conda虚拟环境中,进入python命令行

import tensorflow as tf

tf.__version__

这样就可以在pycharm中使用该环境进行编写了

 

  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值