以下是win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程的完整攻略。
CPU版本安装教程
步骤一:安装Anaconda
首先,我们需要安装Anaconda,可以从官网下载对应版本的Anaconda进行安装。
步骤二:创建虚拟环境
在conda中创建一个新的虚拟环境,可以使用以下命令:
conda create -n tf2.0_cpu python=3.7
步骤三:激活虚拟环境
使用以下命令激活虚拟环境:
conda activate tf2.0_cpu
步骤四:安装Tensorflow2.0 CPU版本
使用以下命令安装Tensorflow2.0 CPU版本:
pip install tensorflow==2.0.0
步骤五:测试安装
使用以下代码测试Tensorflow2.0 CPU版本是否安装成功:
import tensorflow as tf
print(tf.__version__)
如果输出2.0.0,则表示安装成功。
GPU版本安装教程
步骤一:安装Anaconda
首先,我们需要安装Anaconda,可以从官网下载对应版本的Anaconda进行安装。
步骤二:创建虚拟环境
在Anaconda中创建一个新的虚拟环境,可以使用以下命令:
conda create -n tf2.0_gpu python=3.7
步骤三:激活虚拟环境
使用以下命令激活虚环境:
conda activate tf2.0_gpu
步骤四:安装CUDA和cuDNN
在安装GPU版本的Tensorflow之前,需要先安装CUDA和cuDNN。可以从NVIDIA官网下载对应版本的CUDA和cuDNN进行安装。
步骤五:安装Tensorflow2.0 GPU版本
使用以下命令安装Tensorflow20 GPU版本:
pip install tensorflow-gpu==2.0.0
步骤六:测试安装
使用以下代码测试Tensorflow2.0 GPU版本是否安装成功:
import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())
如果输出2.0.0和True,则表示安装成功。
示例一:使用CPU版本的Tensorflow2.0进行图像分类
以下是使用CPU版本的Tensorflow2.0进行图像分类的示例:
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D
# 加载数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train, x_test = x_train / 255.0, x_test / 255.0
# 定义模型
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
Max2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dropout(0.2),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train.reshape(-1, 28, 28, 1), y_train, epochs=5)
# 评估模型
model.evaluate(x_test.reshape(-1, 28, 28, 1), y_test)
上面的代码使用CPU版本的Tensorflow2.0进行图像分类。
示例二:使用GPU版本的Tensorflow2.0进行像分类
以下是使用GPU版本的Tensorflow2.0进行图像分类的示例代码:
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D
# 加载数据
(x_train, y_train), (x_test, y_test = mnist.load_data()
# 数据预处理
x_train, x_test = x_train / 255.0, x_test / 255.0
# 定义模型
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dropout(0.2),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
with tf.device('/GPU:0'):
model.fit(x_train.reshape(-1, 28, 28, 1), y_train, epochs=5)
# 评估模型
with tf.device('/GPU:'):
model.evaluate(x_test.reshape(-1, 28, 28, 1), y_test)
上面的代码使用GPU版本的Tensorflow2.0进行图像分类。