Keras深度學習 卷積神經網路 手寫數字識別

2021-10-04 00:25:59 字數 2472 閱讀 9974

引言:最近在閉關學習中,由於多久沒有寫部落格了,今天給大家帶來學習的一些內容,還在學習神經網路的同學,跑一跑下面的**,給你一些自信吧!nice 奧里給!

正文:首先該impor的庫就不多說了,不會的就pip install something  that you got it

備註:mnist.npz資源姐姐曉的你沒有,來躺好了: 自己vpn哈

mnist.load_data(data)=mnist.load_data()

# practice mnist

from keras.datasets import mnist

import numpy as np

from keras.models import sequential

from keras.layers import dense

from keras.layers import dropout

from keras.layers import flatten

from keras.layers.convolutional import maxpooling2d

from keras.layers.convolutional import conv2d

from keras.utils import np_utils

from keras import backend

backend.set_image_data_format('channels_first')

data ='e:\\kerasrain\\resoucre\\mnist.npz'

#set random seed

seed=7

np.random.seed(seed)

# import mnist dataset from keras

(x_train,y_train),(x_validation,y_validation)=mnist.load_data(data)

x_train=x_train.reshape(x_train.shape[0],1,28,28).astype('float32')

x_validation=x_validation.reshape(x_validation.shape[0],1,28,28).astype('float32')

#normalized to 0-1

x_train=x_train/255

x_validation=x_validation/255

#make one-hot code

y_train=np_utils.to_categorical(y_train)

y_validation=np_utils.to_categorical(y_validation)

#creat model

def create_model():

# initialize model

model=sequential()

# define input layer (1x28x28)

# define convolutional layer 32 maps, 5x5

model.add(conv2d(32,(5,5),input_shape=(1,28,28),activation='relu'))

# define pooling layer (2x2)

model.add(maxpooling2d(pool_size=(2,2)))

# define dropout layer 20%

model.add(dropout(0.2))

# define flattem layer

model.add(flatten())

# define fully connected layer 128

model.add(dense(units=128,activation='relu'))

# define output layer 10

model.add(dense(units=10,activation='softmax'))

# compile model

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

return model

model=create_model()

model.fit(x_train,y_train,epochs=10,batch_size=200,verbose=1)

score=model.evaluate(x_validation,y_validation,verbose=0)

print('accuracy: %.2f%%'%(score[1]*100))

技術群:1090519856

卷積神經網路 Keras深度學習

全文引用 卷積神經網路之keras深度學習 卷積神經網路之優缺點 優點 共享卷積核,對高維資料處理無壓力 無需手動選取特徵,訓練好權重,即得特徵分類效果好 缺點 需要調參,需要大樣本量,訓練最好要gpu 物理含義不明確 也就說,我們並不知道沒個卷積層到底提取到的是什麼特徵,而且神經網路本身就是一種難...

深度學習 卷積神經網路

一 卷積神經網路基礎 二 lenet 三 常見的一些卷積神經網路 卷積層的超引數 填充和步幅。步幅 stride 每次卷積核在輸入陣列上滑動的行數與列數。多輸入與輸出通道 將3維陣列除寬高外的一維稱為通道維。1 1卷積層 包含1 1的卷積核的卷積層。1 1卷積核在不改變輸入高寬的情況下調整通道數。如...

深度學習 卷積神經網路

卷積神經網路 convolutional neural networks,cnn 是一類包含卷積計算且具有深度結構的前饋神經網路 feedforward neural networks 是深度學習 deep learning 的代表演算法之一。卷積神經網路具有表徵學習 representation ...