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這個東西,感...