文章目录
- 1. 安装tensorflow-gpu框架
- 1.1 下载CUDA工具包。
- 1.2 下载cudnn。将cudnn的解压下的三个文件bin , include , lib 对CUDA安装目录下的同名文件进行替换
- 注:在哪找你的CUDA
- 2. 选择安装TensorFlow的anaconda环境
- 3. 安装TensorFlow
- 3.1 直接pip安装(第一种方法)
- 3.2 先安装好.whl文件,再pip(第二种方法)
- 3.3 测试tensorflow-gpu安装完成
- 4. 安装keras框架
- 5. 测试keras安装完成
keras为tensorflow提供了封装更加高级的API,如果读者不想了解tensorflow的细节,那么keras将会是一个可以“偷懒”的选择。
keras官方github链接:
https://link.zhihu.com/?target=https%3A//github.com/keras-team/keras
注:本人均安装的最新版,也就是tf 2.0、CUDA11
1. 安装tensorflow-gpu框架
1.1 下载CUDA工具包。
https://developer.nvidia.com/cuda-toolkit-archive
1.2 下载cudnn。将cudnn的解压下的三个文件bin , include , lib 对CUDA安装目录下的同名文件进行替换
注:在哪找你的CUDA
当你安装CUDA的时候,选择过一个路径,CUDA安装完后那个路径会没了。别担心,那个路径只是让你选择临时下载路径,等到安装完成后,CUDA会自动按在C盘。
你可以去这里找:C:\Program Files\NVIDIA GPU Computing Toolkit
另外,你可以看一下你的环境变量,如果CUDA安装完后没有添加,那么你就手动添加,如图:
2. 选择安装TensorFlow的anaconda环境
就是你的TensorFlow要安装在anaconda的那个环境里
- 查看anaconda环境
conda info --env
我上面是两个环境,如果你想在base下安装TensorFlow就直接安装即可,如果想另起一个环境也可以
- 比如新建一个环境,名字叫:tensorflow-gpu
conda create -n tensorflow-gpu python=3.7
如果你创建环境,你需要进入
# base 是你的环境名,上面有两个环境:base、tensorflow-gpu
activate base
3. 安装TensorFlow
3.1 直接pip安装(第一种方法)
这种方法对于网速不好的同学还是不建议的,当然如果你公司的网速好,那是完全OK的,下面给出清华源的:
pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
3.2 先安装好.whl文件,再pip(第二种方法)
这里给出的 是1.6的,如果想安装2.0的whl,可以自行百度
因为目前的tensorflow不支持高版本的CUDA。笔者提供一个适用于CUDA9.1的.whl文件,提取码:n78t
https://pan.baidu.com/share/init?surl=dXhgsbzrcWKMdH5q_RPTfQ
将其复制到C:\Windows\System32以后,在cmd窗口:
pip install tensorflow_gpu-1.6.0-cp36-cp36m-win_amd64.whl
3.3 测试tensorflow-gpu安装完成
1.X版本:
import tensorflow as tf
hello = tf.constant('hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
2.X版本:
import tensorflow as tf
tf.compat.v1.disable_eager_execution() # 保证sess.run()能够正常运行
hello = tf.constant('hello,TensorFlow!')
# sess = tf.Session()
sess = tf.compat.v1.Session() # 版本2.0的函数
print(sess.run(hello))
4. 安装keras框架
在你刚刚的TensorFlow环境里安装Keras
pip install keras==2.3.1
5. 测试keras安装完成
以下是MNIST手写数字数据集,如果能正常运行,说明keras安装完成
from keras.datasets import mnist
from keras.utils import to_categorical
train_X, train_y = mnist.load_data()[0]
train_X = train_X.reshape(-1, 28, 28, 1)
train_X = train_X.astype('float32')
train_X /= 255
train_y = to_categorical(train_y, 10)
from keras.models import Sequential
from keras.layers import Conv2D, MaxPool2D, Flatten, Dropout, Dense
from keras.losses import categorical_crossentropy
from keras.optimizers import Adadelta
model = Sequential()
model.add(Conv2D(32, (5,5), activation='relu', input_shape=[28, 28, 1]))
model.add(Conv2D(64, (5,5), activation='relu'))
model.add(MaxPool2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
model.compile(loss=categorical_crossentropy,
optimizer=Adadelta(),
metrics=['accuracy'])
batch_size = 100
epochs = 8
model.fit(train_X, train_y,
batch_size=batch_size,
epochs=epochs)
test_X, test_y = mnist.load_data()[1]
test_X = test_X.reshape(-1, 28, 28, 1)
test_X = test_X.astype('float32')
test_X /= 255
test_y = to_categorical(test_y, 10)
loss, accuracy = model.evaluate(test_X, test_y, verbose=1)
print('loss:%.4f accuracy:%.4f' %(loss, accuracy))
另外,如果你想查看你的TensorFlow安装的是什么版本,也可以:
import os
from tensorflow.python.client import device_lib
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"
print(device_lib.list_local_devices())
如果输出的是:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 11034982094171819019
]
说明是CPU版本,如果直接conda remove tensorflow, 卸载cpu版本的同时,误删了两者同时需要使用的文件,会导致tensorflow-gpu又需要重新下载,相信大家体会过tensorflow的完整下载是多么慢。
解决办法:直接 conda install tensroflow-gpu==2.0.0
, 就把CPU版本的改为GPU版本了
最后查看tensorflow版本:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 11553754156730994166
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 3141979340
locality {
bus_id: 1
links {
}
}
incarnation: 2138728576519569114
physical_device_desc: "device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1"
]