|
Tensorflow-gpu保姆级安装教程(Win11,Anaconda3,Python3.9)前言Tensorflow-gpu版本安装的准备工作(一)、查看电脑的显卡:(二)、Anaconda的安装(三)、cuda下载和安装(四)、cudnn下载安装(五)、配置环境变量(六)、创建tensorflow环境(七)、测试Tensorflow-gpu是否安装成功卸载重装前言CPU版本和GPU版本的区别主要在于运行速度,GPU版本运行速度更快,所以如果电脑显卡支持cuda,推荐安装gpu版本的。CPU版本,无需额外准备,CPU版本一般电脑都可以安装,无需额外准备显卡的内容,(如果安装CPU版本请参考网上其他教程!)GPU版本,需要提前下载cuda和cuDNN。(本文为GPU版本安装教程。)Tensorflow-gpu版本安装的准备工作重要的事说三遍:安装前一定要查看自己电脑的环境配置,然后查询Tensorflow-gpu、Python、cuda、cuDNN版本关系,要一一对应!安装前一定要查看自己电脑的环境配置,然后查询Tensorflow-gpu、Python、cuda、cuDNN版本关系,要一一对应!安装前一定要查看自己电脑的环境配置,然后查询Tensorflow-gpu、Python、cuda、cuDNN版本关系,要一一对应!Tensorflow-gpu与Python、cuda、cuDNN版本关系查询我的安装环境为:操作系统显卡Pythonwin11NVIDIAGeForceRTX20503.9.13我的tensorflow-gpu安装版本为:tensorflow-gpucudacuDNNtensorflow-gpu2.7.0cuda11.5.2cuDNN8.3.2注:我这个对应关系是在网上查询别人安装成功的案例,不要自己随意组合,不然很容易安装失败,或者就按官网查询的组合安装,安装过程是一样的!(一)、查看电脑的显卡:1)、右键此电脑→右键选管理→设备管理器→显示适配器主要看独显:GeForceRTX2050可以看到点击出现了NVIDIAGeForce...,即你的电脑显卡型号。如果有出现,那就表示可以使用Tensorflow-gpu版本,如果没有的就只能老老实实安装CPU版咯。然后可以去NIVIDIA官网查询一下自己电脑显卡的算力:https://developer.nvidia.com/cuda-gpus,建议算力>=3.5安装。我的型号没有查到,NVIDIA近几年显卡的算力一般是够的。2)、右键显卡→属性→驱动程序,可以查看显卡的驱动程序:3)、查看GPU驱动版本,也就是我们“CUDAVersion”,Windows11版本中一般是12.0版本,键盘上同时按win+r,输入cmd,打开命令窗口,在命令窗口输入:nvidia-smi1(二)、Anaconda的安装安装tensorflow提前安装好Anaconda。这里我也不重点介绍了,我之前也重点详细地写过相关文章:Anaconda安装-超详细版(2023)Anaconda安装成功后,进入下面tensorflow的安装!后面tensorflow的安装可成三步:cuda的安装cuDNN的神经网络加速库安装配置环境变量(三)、cuda下载和安装下载cuda和cuDNN。在官网上下载对应的cuda和cuDNN,版本可以低于上面查到的CUDA版本但不能高于电脑支持的版本。cuda下载地址:CUDAToolkitArchive|NVIDIADeveloper;cudnn下载地址:cuDNNArchive|NVIDIADeveloper。1)、下载:我下载的是CUDAToolkit11.5.2,点击前面的CUDAToolkit11.5.2选择相应的系统、版本等选项,点击Download下载:2)、安装a、双击安装包,此时会出现一个提示框,让你选择临时解压位置(该位置的内容在你安装完cuda之后会自动删除),这里默认即可,点击ok。b、点击同意并继续:c、完成上一步后,选择自定义,然后点下一步:d、完成上一步,这里CUDA一定要勾选上,下面的可选可不选,对后续没有影响。在组件CUDA一栏中,取消勾选VisualStudioIntegration(因为我们并没有使用VisualStduio环境,即使勾选上了也会安装失败)在Drivercomponents一栏比较DisplayDriver的新版本和当前版本的信息。若当前版本高于新版本,则取消勾选DisplayDriver;若当前版本低于新版本,则保留默认安装信息即可,否则电脑会死机或者卡顿,甚至可能蓝屏。!!!e、这个安装位置可以自己改。要截图记录一下你装到哪里了,后面要用到!我选择了默认安装位置。f、正在安装g、安装成功!点击关闭即可!检查环境变量:完成安装后,检查一下环境变量是否存在,一般安装完成会自动配置好环境变量,若是没有,则需手动配置,具体过程如下。打开电脑属性,找到高级系统设置,选择环境变量打开。查看是否有以下系统变量,没有则需要自行添加,对应图片上的名称和值,配置你电脑CUDA安装所在的位置。打开系统变量的Path,查看是否有一下两条内容,若没有则需自行添加,一定要配置对安装的位置。配置好环境变量后,我们检查下CUDA是否安装成功。打开cmd,输入以下命令查看CUDA是否安装成功(二选一)如果不能显示以下信息,则说明安装失败。nvcc-Vnvcc--version12还可以查看CUDA设置的环境变量。setcuda1我们还可以搜索CUDA的安装目录,找到“nvcc.exe”文件。CUDA的安装就结束了,接下来下载解压cuDNN文件。(四)、cudnn下载安装CUDA并不是实现GPU的神经网络加速库,如果希望针对的是神经网络进行加速,我们还需要安装cuDNN神经网络加速库。cuDNN并非是应用程序,而是几个文件包,下载后把它复制到CUDA的目录下即可。下载地址:cuDNNArchive|NVIDIADeveloper。第一次单击下载时,会让你先注册登录,然后再进行下载,注册过程认真填写内容就没问题,此处略过,接下来进入下载环节。1)、下载:下载对应版本的cuDNN。这里选择的是cuDNNv8.3.2forCUDA11.5。、下载解压好安装包后,我们解压可以看到有四个文件:3)、教程的这一步要格外注意!要将cudnn文件中的对应文件夹下的所有文件复制到对应的安装目录中,而不是把cudnn文件中的文件夹复制过去。eg:复制的不是cudnn中的bin文件夹,而是bin文件夹下的所有文件。(有重复的文件是正常的,覆盖掉就好!)打开cudnn文件中的bin文件夹,将该文件夹中所有的文件复制粘贴到CUDA\v11.5\bin文件夹中:打开cudnn文件中的include文件夹,将该文件夹中所有的文件复制粘贴到CUDA\v11.5\include文件夹中:打开cudnn文件中的lib文件夹,将该文件夹中所有的文件复制粘贴到CUDA\v11.5\lib\x64文件夹中:打开cudnn文件中的剩下的文件,复制粘贴到CUDA\v11.5文件夹中:cuDNN其实就是CUDA的一个补丁而已,专为深度学习运算进行优化的,然后我们再添加环境变量!继续往下走。(五)、配置环境变量、打开系统变量的Path,在系统变量的path路径下添加以下路径:(具体要根据自己的安装路径下做调整)C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.5\binC:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.5\libnvvpC:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.5C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.5\lib\x641234添加好后是这样的:2)、配置好环境后,我们需要验证环境变量是否配置成功:打开cmd,进入自己CUDA的安装下路径...\CUDA\v11.5\extras\demo_suite:,我是默认路径,所以我的是:cd\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.5\extras\demo_suite1然后分别执行以下两个命令:.\bandwidthTest.exe.\deviceQuery.exe12如果Result都为PASS的话则配置成功!3)、都安装好之后,我们可以继续输入nvidia-smi查看CUDA的信息,然后根据安装版本的信息再去实现其他的库(环境)安装和使用!nvidia-smi1如图所示,可以看到驱动的版本是527.41;最高支持的CUDA版本是12.0版本。(六)、创建tensorflow环境我这里是使用Anaconda(如果选择这一步,就不需要额外下载python,以及各种常用工具包,它会打包下载好)1)、打开anacondaprompt2)、创建tensorflow环境,输入命令:condacreate-ntensorflowpython=3.9,表示创建一个名字为tensorflow的环境,这个环境用的python版本是3.9版本的,如果默认创建,会在C盘!w11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决condacreate-ntensorflowpython=3.913)、创建成功后,输入命令:condaenvlist,可以看到tensorflow环境已经创建,星号为当前所在环境(基础环境base)。condaenvlist14)、进入环境,输入命令:activatetensorflow,就可以进入tensorflow环境中condaactivatetensorflow1如果要退出环境,输入:condadeactivate15)、因为我的conda环境在D盘中,所以将路径改了以下。如果anaconda安装的时候是默认路径,这一步不需要。d:cd\WorkSoftware\Install\Anaconda3\envs\tensorflow\126)、安装指定版本的tensorflow-gpu,,我安装的是2.7.0,根据你自己的配套版本安装,输入命令:pipinstalltensorflow-gpu==2.7.0-ihttps://pypi.mirrors.ustc.edu.cn/simple1无报错结束应该是装好了。7)、打开python环境,导入tensorflow包进行测试,查看tensorflow的版本信息,输入命令:importtensorflowastf1如果导入包有以下报错(没有报错请忽略!):(tensorflow)C:\Users\Rmzh>pythonPython3.9.16|packagedbyconda-forge|(main,Feb12023,21:28:38)[MSCv.192964bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>importtensorflowastfTraceback(mostrecentcalllast):File"",line1,inFile"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py",line41,infromtensorflow.python.toolsimportmodule_utilas_module_utilFile"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init__.py",line41,infromtensorflow.python.eagerimportcontextFile"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\eager\context.py",line33,infromtensorflow.core.frameworkimportfunction_pb2File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\core\framework\function_pb2.py",line16,infromtensorflow.core.frameworkimportattr_value_pb2astensorflow_dot_core_dot_framework_dot_attr__value__pb2File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py",line16,infromtensorflow.core.frameworkimporttensor_pb2astensorflow_dot_core_dot_framework_dot_tensor__pb2File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\core\framework\tensor_pb2.py",line16,infromtensorflow.core.frameworkimportresource_handle_pb2astensorflow_dot_core_dot_framework_dot_resource__handle__pb2File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py",line16,infromtensorflow.core.frameworkimporttensor_shape_pb2astensorflow_dot_core_dot_framework_dot_tensor__shape__pb2File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\core\framework\tensor_shape_pb2.py",line36,in_descriptor.FieldDescriptor(File"D:\WorkSoftware\Install\Anaconda3\envs\tensorflow\lib\site-packages\google\protobuf\descriptor.py",line561,in__new___message.Message._CheckCalledFromGeneratedFile()TypeErrorescriptorscannotnotbecreateddirectly.Ifthiscallcamefroma_pb2.pyfile,yourgeneratedcodeisoutofdateandmustberegeneratedwithprotoc>=3.19.0.Ifyoucannotimmediatelyregenerateyourprotos,someotherpossibleworkaroundsare:1.Downgradetheprotobufpackageto3.20.xorlower.2.SetPROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python(butthiswillusepure-Pythonparsingandwillbemuchslower).Moreinformation:https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates123456789101112131415161718192021222324252627282930解决上述报错,输入exit()退出python环境导入以下包:pipinstallprotobuf==3.19.0-ihttps://pypi.tuna.tsinghua.edu.cn/simple--trusted-hostpypi.tuna.tsinghua.edu.cn1然后重新进入python环境,查看tensorflow的版本信息,输入命令:importtensorflowastftf.__version__12退出tensorflow环境:condadeactivate1同时,conda控制台是默认打开base环境的,如果想管理这一设置condaconfig--setauto_activate_basefalse/true1(七)、测试Tensorflow-gpu是否安装成功打开Anaconda,选择tensorflow环境,打开spyder,第一次打开需要安装Spyder,直接点下方的install即可。输入以下测试代码:importtensorflowastfprint(tf.__version__)print(tf.test.gpu_device_name())print(tf.config.experimental.set_visible_devices)print('GPU:',tf.config.list_physical_devices('GPU'))print('CPU:',tf.config.list_physical_devices(device_type='CPU'))print(tf.config.list_physical_devices('GPU'))print(tf.test.is_gpu_available())#输出可用的GPU数量print("NumGPUsAvailable:",len(tf.config.experimental.list_physical_devices('GPU')))#查询GPU设备123456789101112出现了当前环境tensorflow的版本以及一些其他信息,我的版本是2.7.0,如果下面出现了True,那就表明我们的tensorflow-gpu已经成功的安装好并且能够正常使用了!下面来测试一下GPU的运算速度吧!importtensorflowastfimporttimeit#指定在cpu上运行defcpu_run():withtf.device('/cpu:0'):cpu_a=tf.random.normal([10000,1000])cpu_b=tf.random.normal([1000,2000])c=tf.matmul(cpu_a,cpu_b)returnc#指定在gpu上运行defgpu_run():withtf.device('/gpu:0'):gpu_a=tf.random.normal([10000,1000])gpu_b=tf.random.normal([1000,2000])c=tf.matmul(gpu_a,gpu_b)returnccpu_time=timeit.timeit(cpu_run,number=10)gpu_time=timeit.timeit(gpu_run,number=10)print("cpu:",cpu_time,"gpu:",gpu_time)12345678910111213141516171819202122可以看到gpu的速度比cpu还是要快上不少的!对于机器学习中神经网络模型的训练来说,可以大幅度加快我们的训练进程帮我们节约许多时间,还是十分不错的!卸载重装如果安装出错可以卸载重装:tensorflow-gpu卸载注:个人安装过程,仅供学习参考,如有不足,欢迎指正!
|
|