本PPT详细介绍了如何在搭载CUDA和cuDNN的环境下安装Anaconda、TensorFlow-GPU版以及Keras,适用于深度学习开发者快速配置开发环境。
### ANACONDA + Cuda及cuDNN+Tensorflow-gpu版本+keras安装步骤详解
#### 一、ANACONDA 安装
**ANACONDA** 是一个非常方便的Python和R的数据科学环境管理器,提供了一个包含大量科学计算库的分发版以及强大的包管理器。
1. **访问官网**: 登录Anaconda官网下载页面。
2. **选择操作系统和版本**: 在下载页面上根据个人需求选择适合的操作系统的版本。例如,在Windows系统中可以选择64位或32位版本。
3. **下载并安装**: 将安装包下载到指定位置,通常推荐非系统盘以避免占用过多的系统空间。下载完成后双击安装包进行安装,并注意勾选创建环境变量等选项以便后续使用更加便捷。
4. **验证安装**: 安装完成后可以通过Anaconda Prompt(或者CMD)输入`conda list`命令来查看是否成功以及已安装的软件包列表。
#### 二、Cuda及cuDNN安装
**CUDA** (Compute Unified Device Architecture) 是由NVIDIA公司开发的一种并行计算平台和技术,允许利用GPU进行大规模并行计算从而极大地加速深度学习模型训练过程。
1. **查看显卡型号**: 确认您的显卡为支持CUDA的NVIDIA GPU。
2. **查找CUDA版本**: 访问CUDA官方发布页面选择与您的显卡和操作系统相匹配的版本。例如,本例选择了CUDA 10.0版本。
3. **下载并安装CUDA**: 下载对应的安装包,并按照提示进行安装。
4. **验证安装**: 输入命令`nvcc --version`检查是否成功显示CUDA的版本信息。
5. **安装cuDNN**: cuDNN是高性能神经网络基础函数实现库,能够极大提升训练速度。登录NVIDIA开发者页面下载与CUDA匹配的版本,并将其复制到相应的目录并更新环境变量。
#### 三、Tensorflow-gpu版本安装
1. **创建conda环境**: 在Anaconda Prompt中使用命令`conda create -n tensorflow pip python=3.7`来创建一个新的虚拟环境,然后激活该环境。
2. **安装TensorFlow GPU版本**: 使用pip安装特定版本的TensorFlow GPU版,例如:
```
pip install tensorflow-gpu==2.0
```
#### 四、Keras安装
1. **安装Keras**: 在已经创建好的tensorflow环境中使用`pip install keras`命令来安装最新版本的Keras。
#### 五、Anaconda的使用
**Anaconda** 提供了一系列工具用于管理和使用Python环境。常用的操作包括:
- 创建新环境: `conda create -n env_name`
- 激活环境: `activate env_name`
- 列出所有环境:`conda info --envs`
- 安装包: `conda install package_name` 或者 `pip install package_name`
- 更新包: `conda update package_name` 或者 `pip install --upgrade package_name`
- 删除环境:`conda env remove -n env_name`
#### 六、Keras分类示例
安装好Keras后,可以尝试简单的分类任务如使用MNIST数据集进行手写数字识别:
```python
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.utils import to_categorical
# 加载数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)
input_shape = (28, 28, 1)
# 转换分类向量为二进制矩阵
y_train = to_categorical(y_train, num_classes=10)
y_test = to_categorical(y_test, num_classes=10)
# 创建模型
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), activation=relu, input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation=relu))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation=relu))
model.add(Dropout(0.5))
model.add(Dense(10, activation=softmax))
# 编译模型
model.compile(loss=categorical_crossentropy, optimizer=adam, metrics=[accuracy])
# 训练模型
model.fit(x_train, y_train, batch_size=128, epochs=