开发手册 欢迎您!
软件开发者资料库

TensorFlow - Keras

TensorFlow Keras - 从简单和简单的步骤学习TensorFlow,从基本到高级概念,包括简介,安装,理解人工智能,数学基础,机器学习和深度学习,基础知识,卷积神经网络,递归神经网络,TensorBoard可视化,Word嵌入,单层感知器,线性回归,TFLearn及其安装,CNN和RNN差异,Keras,分布式计算,TensorFlow导出,多层感知器学习,感知器隐藏层,TensorFlow中的优化器,XOR实现,梯度下降优化,形成图形,使用TensorFlow进行图像识别,神经网络训练的建议。

Keras是一款紧凑,易于学习的高级Python库,运行在TensorFlow框架之上.它的重点是理解深度学习技术,例如为神经网络创建维护形状和数学细节概念的层. freamework的创建可以是以下两种类型 :

  • 顺序API

  • 功能API

考虑以下八个步骤在Keras中创建深度学习模型 :

  • 加载数据

  • 预处理加载的数据

  • 模型定义

  • 编译模型

  • 适合指定的模型

  • 评估它

  • 进行必要的预测

  • 保存模型

我们将使用Jupyter Notebook执行和显示输出,如下所示 :

第1步 : 首先实现加载数据和预处理加载的数据以执行深度学习模型.

import warningswarnings.filterwarnings('ignore')import numpy as npnp.random.seed(123) # for reproducibilityfrom keras.models import Sequentialfrom keras.layers import Flatten, MaxPool2D, Conv2D, Dense, Reshape, Dropoutfrom keras.utils import np_utilsUsing TensorFlow backend.from keras.datasets import mnist# Load pre-shuffled MNIST data into train and test sets(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)X_train = X_train.astype('float32')X_test = X_test.astype('float32')X_train /= 255X_test /= 255Y_train = np_utils.to_categorical(y_train, 10)Y_test = np_utils.to_categorical(y_test, 10)

此步骤可以定义为"导入库和模块"表示所有库和模块都作为初始步骤导入.

步骤2 : 在这一步中,我们将定义模型体系结构 :

model = Sequential()model.add(Conv2D(32, 3, 3, activation = 'relu', input_shape = (28,28,1)))model.add(Conv2D(32, 3, 3, activation = 'relu'))model.add(MaxPool2D(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'))

第3步 : 现在让我们编译指定的模型 :

model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])

第4步 : 我们现在将使用训练数据和减去拟合模型;

model.fit(X_train, Y_train, batch_size = 32, epochs = 10, verbose = 1)

创建的迭代输出如下 :

Epoch 1/10 60000/60000 [==============================] - 65s - loss: 0.2124 - acc: 0.9345 Epoch 2/10 60000/60000 [==============================] - 62s - loss: 0.0893 - acc: 0.9740 Epoch 3/10 60000/60000 [==============================] - 58s - loss: 0.0665 - acc: 0.9802 Epoch 4/10 60000/60000 [==============================] - 62s - loss: 0.0571 - acc: 0.9830 Epoch 5/10 60000/60000 [==============================] - 62s - loss: 0.0474 - acc: 0.9855 Epoch 6/10 60000/60000 [==============================] - 59s -loss: 0.0416 - acc: 0.9871 Epoch 7/10 60000/60000 [==============================] - 61s - loss: 0.0380 - acc: 0.9877 Epoch 8/10 60000/60000 [==============================] - 63s - loss: 0.0333 - acc: 0.9895 Epoch 9/10 60000/60000 [==============================] - 64s - loss: 0.0325 - acc: 0.9898 Epoch 10/10 60000/60000 [==============================] - 60s - loss: 0.0284 - acc: 0.9910