keras入門筆記(1)

2021-08-30 13:39:57 字數 1784 閱讀 5856

tensorflow

原始碼庫:

本文參考了部落格有不足之處希望大家指出。

tensorflow和keras的關係:

tensorflow和keras都是深度學習框架,tensorflow比較靈活。keras其實就是tensorflow的介面(keras作為前端,tensorflow作為後端),它也很靈活,且比較容易學。可以把keras看作為tensorflow封裝後的乙個api。

tensorflow可以用5-4-9模型來概括:5

步 + 4 種基本元素 + 9 種基本層結構

(1)網路模型

過程化方法構造網路模型,keras中提供了sequential容器來實現過程式構造。只要用sequential的add方法把層結構加進來就可以了。

(2)編譯模型

模型構造好之後,下一步就可以呼叫sequential的compile方法來編譯它,編譯時需要指定兩個基本元素:loss是損失函式,optimizer是優化函式。

(3)訓練模型

呼叫fit函式,將輸出的值x,打好標籤的值y,epochs訓練輪數,batch_size批次大小設定一下。

(4)評估模型

要用測試資料來評估,loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

(5)使用模型進行**

classes = model.predict(x_test, batch_size=128)

(1)網路結構:由10種基本層結構和其他層結構組成 ,用層結構來拼裝(如何設計層結構)。

(2)啟用函式:如relu, softmax。對於多分類的情況,最後一層是softmax。 

其它深度學習層中多用relu。 二分類可以用sigmoid。 另外淺層神經網路也可以用tanh。

(3)損失函式:

categorical_crossentropy

多分類對數損失

binary_crossentropy

對數損失

mean_squared_error

平均方差損失

mean_absolute_error

平均絕對值損失 

對於多分類來說,主要用categorical_ crossentropy。

(4)優化器:如sgd隨機梯度下降, rmsprop, adagrad, adam, adadelta等

3

種主模型:

全連線層:dense 

卷積層:如conv1d, conv2d 

迴圈層:如lstm, gru

3

種輔助層:

activation層 

dropout層 

池化層3

種異構網路互聯層:

嵌入層:

用於第一層,輸入資料到其他網路的轉換 

flatten層:

用於卷積層到全連線層之間的過渡 

permute層:

用於rnn與cnn之間的介面

請見下一文章keras入門筆記(2)

keras學習筆記1 Keras模組概述

keras主要包括14個模組,本文主要對models layers initializations activations objectives optimizers preprocessing metrics共計8個模組分別展開介紹,並通過乙個簡單的bp神經網路說明各個模組的作用。1.model ...

Keras入門實戰(1) MNIST手寫數字分類

目錄 1 首先我們載入keras中的資料集 2 網路架構 3 選擇編譯 compile引數 4 準備影象資料 5 訓練模型 6 測試資料 前面的部落格中已經介紹了如何在ubuntu下安裝keras深度學習框架。現在我們使用 keras 庫來學習手寫數字分類。我們這裡要解決的問題是 將手寫數字的灰度影...

深度學習入門 框架keras 1簡介

順序模型指南 深度學習看了不少的入門資料和學習方法,始終不得其解,感覺非常的混亂,同樣的東西可以用多種方式訓練,就算是同乙個模型,各種的優化器各種的語法甚至各種看不懂的寫法都讓我很蛋疼。最後實在沒法選學習方向了,於是去tensorflow官網看教程,看了幾個教程,發現用了很多的keras這個東西,感...