首頁 >後端開發 >Python教學 >Python 3.x 中如何使用keras模組進行深度學習

Python 3.x 中如何使用keras模組進行深度學習

WBOY
WBOY原創
2023-07-30 15:21:411913瀏覽

Python 3.x 中如何使用 Keras 模組進行深度學習

Keras 是一個用於建立和訓練深度學習模型的高階神經網路庫。它是基於 Python 的,並且支援 TensorFlow、Theano 和 MxNet 等後端。 Keras 提供了簡單易用的API,讓我們能夠快速地建立各種類型的深度學習模型,例如多層感知器(Multilayer Perceptron)、卷積神經網路(Convolutional Neural Network)和循環神經網路(Recurrent Neural Network )等。

本文將介紹如何在 Python 3.x 環境下使用 Keras 模組進行深度學習。我們將先安裝 Keras 及其依賴的函式庫,在此基礎上透過一個簡單的範例程式碼來學習如何建構並訓練一個簡單的神經網路模型。

一、安裝 Keras

在開始之前,我們需要先將 Keras 安裝到我們的 Python 環境中。可以透過以下命令使用pip 安裝Keras:

pip install keras

二、建立一個簡單的神經網路模型

接下來,我們將使用Keras 建立一個簡單的神經網路模型來實現手寫數字識別任務。首先,我們需要導入必要的函式庫:

import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import np_utils

然後,我們需要載入MNIST 資料集,它包含60,000 個訓練樣本和10,000 個測試樣本,每個樣本是28x28 的灰階圖像,對應一個[0, 9] 之間的數字。可以使用以下程式碼來載入資料集:

from keras.datasets import mnist

(X_train, Y_train), (X_test, Y_test) = mnist.load_data()

接下來,我們需要對資料進行預處理。由於原始的影像資料是28x28 的灰階影像,我們需要將其展平為784 維的向量,同時將輸入資料進行歸一化,將像素值從[0, 255] 的範圍縮放到[0, 1 ] 的範圍內:

X_train = X_train.reshape(X_train.shape[0], 784).astype('float32') / 255
X_test = X_test.reshape(X_test.shape[0], 784).astype('float32') / 255

為了能夠訓練模型,我們還需要將標籤進行one-hot 編碼。 Keras 提供了 np_utils.to_categorical() 函數來幫助我們實現這一步驟:

Y_train = np_utils.to_categorical(Y_train, 10)
Y_test = np_utils.to_categorical(Y_test, 10)

現在,我們就可以建立一個簡單的多層感知器(Multilayer Perceptron)模型。這個模型包含一個輸入層、兩個隱藏層和一個輸出層。可以使用 Sequential() 函數來建立一個序列模型,並使用 Dense() 函數來新增層:

model = Sequential()
model.add(Dense(units=512, input_dim=784, activation='relu'))
model.add(Dense(units=512, activation='relu'))
model.add(Dense(units=10, activation='softmax'))

在模型建立完成之後,我們需要編譯模型。可以使用 compile() 函數來配置模型的訓練過程。在這裡,我們可以指定損失函數、最佳化器和評估指標:

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

三、訓練模型與預測

模型編譯完成後,我們可以使用 fit() 函數來訓練模型。可以指定訓練資料、訓練的輪數以及每個批次樣本的數量:

model.fit(X_train, Y_train, epochs=10, batch_size=128)

在模型訓練完成之後,我們可以使用evaluate() 函數來評估模型在測試集上的表現:

loss, accuracy = model.evaluate(X_test, Y_test)
print('Test loss:', loss)
print('Test accuracy:', accuracy)

最後,我們可以使用predict_classes() 函數來預測新樣本的類別:

predictions = model.predict_classes(X_test)

這樣,我們就完成了一個簡單的神經網路模型的建構和訓練過程。

總結:

本文介紹如何在 Python 3.x 中使用 Keras 模組進行深度學習。我們首先安裝了 Keras 和其依賴的庫,然後透過範例程式碼學習如何建立並訓練一個簡單的神經網路模型。這只是深度學習的入門,Keras 還提供了更多的功能和模型,可以滿足不同的需求。希望讀者能夠透過本文的介紹,對 Keras 和深度學習有初步的了解,並且能夠在實際應用中運用。

以上是Python 3.x 中如何使用keras模組進行深度學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn