NVIDIA,CUDA,keras和TensorFlow之间的关系


NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念!CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

NVIDIA的显卡驱动器与CUDA

NVIDIA的显卡驱动器与CUDA并不是一一对应的,CUDA本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA工具包,比如我的电脑上同事安装了 CUDA 9.0、CUDA 9.2、CUDA 10.0三个版本。一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了,但是由于使用离线的CUDA总是会捆绑CUDA和驱动程序,所以在使用多个CUDA的时候就不要选择离线安装的CUDA了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。
显卡驱动链接:https://www.nvidia.com/Download/index.aspx?lang=en-us
CUDA的下载地址为:https://developer.nvidia.com/cuda-downloads
CUDA其他版本的下载地址为:https://developer.nvidia.com/cuda-toolkit-archive

CUDA Toolkit本地安装包时内含特定版本Nvidia显卡驱动的,所以只选择下载CUDA Toolkit就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。

参考:https://blog.csdn.net/qq_27825451/article/details/89082978

tensorflow各个版本需要的CUDA版本以及Cudnn的对应关系

https://www.tensorflow.org/install/source_windows
https://www.tensorflow.org/install/source#common_installation_problems

在这里插入图片描述
cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

如何参考自己安装的CUDA的版本

(1)通过命令查看:nvcc -V 或者是nvcc --version都可以,但前提是添加了环境变量

(2)直接通过文件查看,这里分为Linux和windows两种情况

在windows平台下,可以直接进入CUDA的安装目录,比如我的是:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2 里面有一个version.txt的文本文件,直接打开即可,也可以使用命令,即

首先进入到安装目录,然后执行:type version.txt 即可查看

在Linux平台下:

同windows类似,进入到安装目录,然后执行 cat version.txt 命令
(3)通过NVIDIA设置界面查看CUDA版本
在这里插入图片描述

keras与tensorflow的对应关系

https://docs.floydhub.com/guides/environments/
在这里插入图片描述

参考

参考博客对各版本的对应关系进行了详细的介绍
参考:
https://blog.csdn.net/qq_27825451/article/details/89082978

### 如何在Jupyter Notebook中使用KerasTensorFlow 要在Jupyter Notebook中成功使用KerasTensorFlow,需要确保环境配置正确并遵循特定的安装步骤。以下是详细的说明: #### 安装依赖项 为了使KerasTensorFlow能够在Jupyter Notebook中正常工作,必须先将其安装到相同的虚拟环境中。如果当前使用的环境未包含这些库,则可以通过以下命令完成安装[^1]。 ```bash (tensorflow) username$ conda install ipython (tensorflow) username$ pip install jupyter (tensorflow) username$ pip install keras ``` 上述命令会将iPython、Jupyter以及Keras安装至指定的`tensorflow`环境下。这一步骤对于解决可能存在的环境冲突至关重要。 #### 配置TensorFlow-GPU支持(可选) 如果您希望利用GPU加速计算性能,可以按照官方文档指南进行设置[^3]。具体操作如下: - 确认已安装NVIDIA驱动程序及其CUDA工具包。 - 使用pip或conda安装`tensorflow-gpu`模块。 例如,在基于Conda的环境中执行以下指令即可完成安装: ```bash conda create -n tf_gpu python=3.8 conda activate tf_gpu pip install tensorflow-gpu ``` #### 处理常见错误 有时可能会遇到由于不同版本间的兼容性问题而导致的功能异常情况。比如当尝试加载某些深度学习框架时发现报错提示与NumPy有关,则可通过调整其版本号来修复该类问题[^2]: ```bash pip install numpy==1.23.4 ``` #### 编写模型训练代码示例 一旦完成了必要的准备工作后就可以着手构建自己的神经网络架构了。下面给出一段简单的例子用于演示如何定义一个多层感知机(MLP),并通过MNIST手写字体识别任务验证其实效性[^5]: ```python import tensorflow as tf from tensorflow import keras from sklearn.datasets import fetch_openml import matplotlib.pyplot as plt # 加载 MNIST 数据集 mnist = fetch_openml('mnist_784', version=1, as_frame=False) # 打印数据集中可用的关键字 print(mnist.keys()) # 将图像像素值归一化处理 X_train = mnist.data[:60000].astype(float)/255. y_train = mnist.target[:60000] X_test = mnist.data[60000:].astype(float)/255. y_test = mnist.target[60000:] # 构建基本的全连接前馈网络结构 model = keras.models.Sequential([ keras.layers.Flatten(input_shape=(28*28,)), keras.layers.Dense(300, activation="relu"), keras.layers.Dense(100, activation="relu"), keras.layers.Dense(10, activation="softmax") ]) # 设置损失函数、优化器及评估指标 model.compile(loss='sparse_categorical_crossentropy', optimizer=tf.keras.optimizers.SGD(lr=0.01), metrics=['accuracy']) # 开始训练过程 history = model.fit(X_train, y_train, epochs=30, validation_split=0.2) # 测试最终效果 test_loss, test_acc = model.evaluate(X_test, y_test) print(f'Test accuracy: {test_acc}') ``` 此脚本展示了从准备数据源直至评价测试成绩整个流程的操作方式。值得注意的是这里采用了标准梯度下降法(SGD)作为参数更新策略之一;当然还可以探索其他更先进的技术如AdamOptimizer等以期获得更好的收敛特性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值