keras深度學習(二)

2021-10-19 08:29:21 字數 2106 閱讀 1780

上一次,我學到了感知機,多層感知機,啟用函式等

寫出了第乙個keras**例項

import keras.models import sequential

model = sequential(

)model.add(dense(

12,input_dim=

8,kernel_initializer=

'random_uniform'

))

也寫出來乙個手寫數字識別的乙個簡單的神經網路

#使用keras定義簡單的神經網路

from __future__ import print_function

import numpy as np

from keras.datasets import mnist

from keras.models import sequential

from keras.layers.core import dense,activation

from keras.optimizers import sgd

from keras.utils import np_utils

np.random.seed(

1671

)#重複性設定

#網路和訓練

nb_epoch=

200batch_size=

128verbose=

1nb_classes=

10#輸出個數等於數字個數

optimizer=sgd(

)#sgd優化器

n_hidden=

128validation_split=

0.2#訓練集中用作驗證集的比例

#資料:混合並劃分訓練集和測試集的資料

#(x_train,y_train)

,(x_test,y_test)

=mnist.load_data(

)#x_train是60000行28*28的資料,變形為60000*784

reshaped=

784#

x_train=x_train.reshape(

60000

,reshaped)

x_test=x_text.reshape(

10000

,reshaped)

x_train=x_train.astype(

'float32'

)x_test=x_text.astype(

'float32'

)#歸一化

#x_train/=

255y_text/=

255print

(x_train.shape[0]

,'train samples'

)print

(x_test.shape[0]

,'test samples'

)#將類向量轉化為二值類別矩陣

y_train=np_utils.to_categorical(y_train, nb_classes)

y_test=np_utils.to_categorical(y_test, nb_classes)

#10個輸出

#最後是softmax啟用函式

model=seqiential(

)model.add(dense(nb_classes,input_shape=

(reshaped)))

model.add(activation(

'softmax'))

model.summary(

)

現在解釋一下這些**的具體含義。這裡,我們使用keras定義乙個識別mnist手寫數字的網路。這裡從乙個非常簡單的神經網路開始,然後逐步改進

在輸入層中,每乙個畫素都有乙個神經元與其相關聯,因此,一共有28*28=784個神經元,每乙個神經元對應mnist影象中的乙個畫素。通常來說,每乙個畫素關聯的值被歸一化到[0,1]區間中,(即每乙個畫素的亮度除以255(255是最大亮度值))輸出為10個類別,每乙個數字對應乙個類。

最後一層是使用啟用函式softmax的單個神經單元,它是sigmoid函式的擴充套件。softmax將任意k維實向量壓縮到(0,1)上的k維實向量

Keras深度學習(四)

今天測試前幾天所提到的演算法 1.使用keras定義簡單的神經網路 from future import print function import numpy as np from keras.datasets import mnist from keras.models import seque...

深度學習之Keras

keras簡介 keras是乙個高層神經網路api,keras完全由python編寫而成,使用tensorflow theano及cntk作為後端。通過python指令碼檢視keras使用的後端 輸出結果 使用keras構建深度學習模型 1.定義模型 建立乙個序貫模型並新增配置層。2.編譯模型 指定...

Keras深度學習框架配置

專案 是在windows 7上執行的,主要用到的matlab r2013a和python,其中matlab用於patch的分割和預處理,卷積神經網路搭建用到了根植於python和theano的深度學習框架keras。keras是基於theano的乙個深度學習框架,它的設計參考了torch,用pyth...