转载:Tensorflow、Keras下载安装
Tensorflow、Keras下载安装
转自:https://zhuanlan.zhihu.com/p/95065951
以下是根据自己需要在上面教程基础上改动的
安装环境:
l 操作系统:win10
l python版本:3.8
l NVIDIA显卡驱动版本:432.0
l tensorflow-gpub版本:2.3.1
l CUDA:10.1
l cudnn:8.0.3
l keras版本:2.4.3
注意:
l CUDA、cudnn、Python、tensorflow版本之间的匹配
l 激活tensorflow环境 ≠ 安装tensorflow
l 先安装tensorflow-gpu,再安装keras
一、 Tensorflow
TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。
Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究
。
TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口(Application Programming Interface, API) [2] 。
自2015年11月9日起,TensorFlow依据阿帕奇授权协议(Apache 2.0 open source license)开放源代码 。
二、 Tensorflow-gpu
2.1 Tensorflow-gpu下载
下载地址:https://pypi.org/project/tensorflow-gpu/#files
如图:
2.2 tensorflow-gpu环境搭建
2.2.1 搭建tensorflow-gpu环境
打开cmd窗口,键入:
conda create -n tensorflow-gpu python=3.8
2.2.2 激活tensorflow-gpu环境
在cmd窗口,键入:
activate tensorflow-gpu
2.2.3 下载tensorflow
在cmd窗口,键入:
pip install tensorflow_gpu-2.3.1-cp38-cp38-win_amd64.whl
或(如果没有下载离线包)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
2.2.4 测试tensorflow-gpu安装完成
在cmd窗口,键入:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('hello,TensorFlow!')
sess = tf.compat.v1.Session()
print(sess.run(hello))
三、 安装keras框架
3.1 安装keras
在cmd里激活tensorflow-gpu后,键入:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras
3.2 测试keras安装完成
以下是MNIST手写数字数据集,如果能整成运行,说明keras安装完成。
1 from keras.datasets import mnist 2 from keras.utils import to_categorical 3 4 train_X, train_y = mnist.load_data()[0] 5 train_X = train_X.reshape(-1, 28, 28, 1) 6 train_X = train_X.astype('float32') 7 train_X /= 255 8 train_y = to_categorical(train_y, 10) 9 10 from keras.models import Sequential 11 from keras.layers import Conv2D, MaxPool2D, Flatten, Dropout, Dense 12 from keras.losses import categorical_crossentropy 13 from keras.optimizers import Adadelta 14 15 model = Sequential() 16 model.add(Conv2D(32, (5,5), activation='relu', input_shape=[28, 28, 1])) 17 model.add(Conv2D(64, (5,5), activation='relu')) 18 model.add(MaxPool2D(pool_size=(2,2))) 19 model.add(Flatten()) 20 model.add(Dropout(0.5)) 21 model.add(Dense(128, activation='relu')) 22 model.add(Dropout(0.5)) 23 model.add(Dense(10, activation='softmax')) 24 25 model.compile(loss=categorical_crossentropy, 26 optimizer=Adadelta(), 27 metrics=['accuracy']) 28 29 batch_size = 100 30 epochs = 8 31 model.fit(train_X, train_y, 32 batch_size=batch_size, 33 epochs=epochs) 34 35 test_X, test_y = mnist.load_data()[1] 36 test_X = test_X.reshape(-1, 28, 28, 1) 37 test_X = test_X.astype('float32') 38 test_X /= 255 39 test_y = to_categorical(test_y, 10) 40 loss, accuracy = model.evaluate(test_X, test_y, verbose=1) 41 print('loss:%.4f accuracy:%.4f' %(loss, accuracy))