1. 程式人生 > >Keras初學(1)

Keras初學(1)

最近tensorflow更新了1.9.0google的官方教程和文件也更新了,裡面大量的教程均用了Keras庫,使用起來確實很方便,於是就開始學習keras庫裡面的一些知識。

一個鹹魚初學者寫得可能有很多問題哈哈哈哈哈。。

首先看一下官方對keras的定義:

Keras是一種面向物件的API,用於定義和訓練神經網路

該模組包含了Keras API的純tensorflow實現,並允許了它與tensorflow的功能進行深度整合

Keras核心就是模型,各種各樣的模型,這是用來組織層次的一種方法

下面就介紹一下各種模型:

Sequential模型:

import tensorflowfrom tensorflow.keras.models

import Sequentialmodel = Sequential()

可以通過add()方法去堆疊層

model.add(Dense(units= 64,activation= 'relu',input_dim= 100))model.add(Dense(units= 10,activation= 'softmax'))

堆疊好後,可以用combile()方法去進行學習

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

你甚至可以更加詳細設定你的優化方法,

通過fit()方法可以分批進行迭代,設定迭代次數、分的批數

model.fit(x_train, y_train, epochs=5, batch_size=32)

也可以手動新增批次到模型中

model.train_on_batch(x_batch, y_batch)

評估:

loss_and_metrics = model.evaluate(x_test,y_test,batch_size = 128)

在tensorflow的github中,keras的datasets檔案目錄下提供了一系列測試集,如下所示:


我們可以通過datasets直接把這些資料集載入到程式裡面,更加方便了

例如載入fashion_mnist資料集:

import tensorflow
from 
tensorflow import keras
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

這些都是較為經典的測試集了,使用keras可以直接把這些資料匯入到程式中

輸出一下第一張image和第一個label的資料:

print(train_images[0])
print("\n",train_labels[0])

emm確實有點複雜,可以檢視一下image的大小和矩陣形狀

print(len(train_images),"\n",train_images.shape)


可以看出是60000張圖片,每一張畫素是28 * 28,

同樣的 也是60000個label,用同樣方法可以看出是每一個label都是0-9之間的一個數