Anaconda安装
国内因为某些原因,可以在清华镜像站下载。
Anaconda默认自带python,所以无需提前下载python
此处两个高级设置的解释:
- 将Anaconda添加到环境变量中。(无需勾选)
- 可以让其他IDE检测到Anaconda的Python。(勾选后可以在Anaconda之外的环境中使用python,比如VC)
Tensorflow2.0安装
按照Tensorflow官网的提示安装Tensorflow官网
安装步骤
# 创建虚拟环境
# 因为目前tensorflow不支持python3.8 所以这里指定创建python版本为3.7
conda create -n tensorflow2 pip python=3.7
# 进入环境
conda activate tensorflow2
# 安装tensorflow
# 此处安装的为cpu版本
# 官网推荐使用pip方式安装,本人觉得这里使用pip更快,而使用conda的清华源可能找不到支持最新版本的tensorflow
# conda install tensorflow
pip install --ignore-installed --upgrade tensorflow
# 安装tensorflow-gpu(可选)
# conda install tensorflow-gpu
# 这里如果使用pip安装,不会同时安装CUDA和cuDNN,需要自己去Nvidia官网下载,之后详细说明
# 需要注意的是,请首先安装CUDA和cuDNN后,在安装tensorflow-gpu,否则可能无法切换到gpu模式
pip install --ignore-installed --upgrade tensorflow-gpu
使用conda list
查看是否安装成功
CUDA以及cuDNN的安装方法
cuDNN: https://developer.nvidia.com/rdp/cudnn-archive
CUDA: https://developer.nvidia.com/cuda-toolkit-archive
此处需要注意的是,应该选择tensorflow支持的版本下载,我安装的时候,tensorflow2.0支持CUDA10.0,cuDNN版本需要为大于7.4.1
安装CUDA
在官网找到CUDA Toolkit 10.0
需要注意,在安装CUDA Toolkit 10.0 之前,电脑需要安装Visual Studio 2017
不需要勾选Visual Studio Integration,因为可能会导致安装失败,且不安装此项并不会影响使用。
注意,此处如果你的电脑中已经安装了英伟达的驱动程序,且已经是最新版,那么无需勾选剩余的选项,如果您的驱动程序当前版本没有新版本高,那么勾选即可。此外,还需要查看你的显卡驱动信息。
NVIDIA控制面板->帮助->系统信息->组件 查看显卡驱动支持的CUDA版本
安装cuDNN
因为CUDA版本为10.0,所以需要下载与其匹配的cuDNN
解压缩文件后,将cuda目录下的三个文件夹复制到CUDA安装目录下
默认目录为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
进入目录复制即可,之后配置环境变量
因为CUDA安装成功后,已经默认配置了环境变量,所以只需要添加这*标的一条即可
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin # 默认添加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp # 默认添加
* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64 # 手动添加
打开Anaconda prompt,输入nvcc -V 查看是否安装成功
如果出现上图所示的内容,则安装成功。
测试tensorflow
Anaconda prompt
# 安装ipython
conda install ipython
# 安装jupyter
conda install jupyter
# 打开notebook
jupyter notebook
Anaconda Navigator
Win+S
搜索Anaconda Navigator
测试安装结果
如果你安装的是tensorflow cpu版本,那么可以通过如下方式测试
如果你安装的是tensorflow-gpu版本,那么可以通过如下方式,检测是否处于gpu工作模式
如果output为空,则证明为cpu模式
minst数据集测试
# 引入tensorflow
import tensorflow as tf
# 检测是否为gpu模式
tf.test.gpu_device_name()
# 获取mnist数据集
mnist = tf.keras.datasets.mnist
# 载入mnist数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 将样本从整数转换为浮点数
x_train, x_test = x_train / 255.0, x_test / 255.0
# 搭建模型
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
# 为模型选择优化器和损失函数
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
# 评估模型
model.evaluate(x_test, y_test, verbose=2)