欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > keras在GPU环境下配置,conda虚拟环境并安装TensorFlow,cudatoolkit,cudann和jupyter等

keras在GPU环境下配置,conda虚拟环境并安装TensorFlow,cudatoolkit,cudann和jupyter等

2025/2/25 5:26:21 来源:https://blog.csdn.net/weixin_44628096/article/details/140748737  浏览:    关键词:keras在GPU环境下配置,conda虚拟环境并安装TensorFlow,cudatoolkit,cudann和jupyter等

前言:要有版本意识

在我个人的多次配置环境过程中,很多时候失败或者后序出现问题,往往都是版本不匹配的问题。所以在本次安装中,提前重点了解了下版本匹配情况。各位千万不要跳过这部分,因为这不仅是基础知识了解的过程,也很可能帮我们后期省略很多麻烦,所谓磨刀不误砍柴工,大抵就是如此。
我们常见有两种了解方式:
第一种,官网查看:
例如:在TensorFlow官网的安装目录下,就列举了很多环境配置情况:
在这里插入图片描述
链接网址如下:TensorFlow在window下的配置
我们直接从官网上看版本配置即可。

第二种方法是使用conda命令查询:
例如,我发现官网那里没有cudatoolkit的版本,一般还是建议安装cudatoolkit的,我们使用命令:conda search cudatoolkit --info就会看到cudatoolkit的版本
在这里插入图片描述
我们可以继续下拉查看:
在这里插入图片描述
发现后面版本都有constraints - _cuda>=xx.x版本的信息,所以我们通过这种命令,大概就能了解我们需要安装什么样的cudatoolkit包。

再举个例子:
我之前说我本地的cuda是12.0,而官网安装配置里面最高cuda版本是11.2。一般来说cuda是新的话,加上python是3.8,我们都可以直接默认下载安装最新的cudatoolkit,cudnn等包。不过我们可以看看cudnn版本:
命令:conda search cudnn --info
在这里插入图片描述
继续下拉:
在这里插入图片描述
我们发现不仅有相关依赖的cudatoolkit版本,也有cuda版本。所以说通过查看命令,我们就能通过自己的cuda版本,便能查找到需要配置的其他包的版本。将我们出现包版本不匹配的问题降低。

1.查看自身电脑显卡的cuda版本

命令:nvidia-smi
在这里插入图片描述
由于我的cuda是12.0,算很新的那种,然后python版本是3.8,即python也不是老版本。所以后序的配置一般默认即可,毕竟默认通常都是下载最新的包版本。不过,我通过上面例举的命令查看cudnn后,发现最新的cudnn版本都是基于cuda12.0的,这样我使用默认安装就更放心了。cudatoolkit等也是同理。
在这里插入图片描述

2.conda创建一个专门给keras用的环境

conda的好处是可以创建多个虚拟环境,进行隔离。毕竟谁也不想自己的环境里面乱糟糟的,可能还会有很多冲突问题。
在base环境下创建一个环境,格式如下:conda create -n 环境名称 python=版本
在这里插入图片描述
使用conda activatet 环境名称激活
在这里插入图片描述

2.下载cudatoolkit,cudann包

注意使用镜像,往往会快点,不使用镜像可能会下载失败或者很慢。
格式如下:

conda install cudatoolkit=xx.x -c https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/win-64/conda install cudnn=xx.x -c https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/win-64/

在这里插入图片描述

在这里插入图片描述

3.安装TensorFlow

命令:pip install tensorflow_gpu==x.x.x -i https://pypi.tuna.tsinghua.edu.cn/simple/

TensorFlow有查看信息的命令,不过查看出来的内容很复杂,不如官网直接,
查看信息:

anaconda search -t conda tensorflow

4.安装keras

注意,TensorFlow2.0以上版本内置的keras,所以TensorFlow2.0以上版本的可以不用安装keras
安装keras:pip install Keras==x.x.x

5.安装jupyter

命令:conda install jupyter
`

6.添加kernel

命令:

conda install -c anaconda ipykernelpython -m ipykernel install --user --name=kerasgpu --display-name kerasgpu
#格式含义:
#python -m ipykernel install --user --name=内核真名 --display-name 在内核选择时显示的内核假名

在这里插入图片描述

在这里插入图片描述
启动jupyter命令:jupyter notebook #启动jupyter
启动后

在这里插入图片描述
在这里插入图片描述

7.其他

验证是否可以使用gpu:

import tensorflow as tf
tf.test.is_gpu_available()

在这里插入图片描述
出现True即可。
由于后期该命令可能弃用,所以新命令:

import tensorflow as tf
tf.config.list_physical_devices('GPU')

在这里插入图片描述
出现device_type='GPU’即可

查看已经安装的包和版本命令,该命令非常有用,尤其是出现版本冲突的时候:


conda list  

解决conda环境安装包报错:The following packages are not available from current channels

8.后记

在启动jupyter notebook后运行出现一些问题:
1.TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1.Downgrade the protobuf package to 3.20.x or lower.
2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

该问题解决方法,已经在描述问题给出了。降低protobuf版本到3.19.0及以上。
你可以使用conda list查看当前环境下的包以及版本,找到protobuf的,我当时是5.xx.x版本,然后
卸载pip uninstall protobuf 再安装:pip install protobuf==3.19.0
不过此时又出现error,说要求3.19.6及以上版本,那就修改一下版本就行

2.ImportError: cannot import name ‘dtensor’ from ‘tensorflow.compat.v2.experimental’ (E:\condaenvs\kerasgpu\lib\site-packages\tensorflow_api\v2\compat\v2\experimental_init_.py)

在这里插入图片描述
这是再次启动jupyter后出现的。这个问题是keras和TensorFlow版本不匹配导致的。我之前说TensorFlow2.0以上版本内置keras,但是貌似内置的也会出现不匹配问题。
可以使用conda list命令查询下包和版本,例如我查看到自己的TensorFlow是2.6.0,但是keras是2.15.0版本,所以keras版本太高了。
命令:pip uninstall keras卸载pip install keras==版本号这里安装的版本和TensorFlow的版本一样即可

3.Kernel Restarting The kernel for xxx appears to have died. It will restart automatically或者是Could not locate zlibwapi.dll. Please make sure it is in your library path
参考我写的这个博客:Kernel Restarting The kernel for xxx appears to have died. It will restart automatically

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词