第五章 深度學習用於計算機視覺

2021-10-06 09:25:58 字數 3043 閱讀 5864

下面展示一些內聯**片

""" 

1.卷積神經網路cnn

--手寫數字分類-

mnist資料集

"""# 1.網路架構 例項化乙個小型的卷積神經網路

from keras import models

from keras import layers

network = models.

sequential

() # 因為需要將同乙個模型多次例項化,所以用乙個函式sequential來構建模型,構造器

network.

add(layers.

conv2d(32

,(3,

3), activation=

'relu'

, input_shape=(28

,28,1

))) # 輸入3d

network.

add(layers.

maxpooling2d((

2,2)

))network.

add(layers.

conv2d(64

,(3,

3), activation=

'relu'

)) # 卷積核大小(3

,3)network.

add(layers.

maxpooling2d((

2,2)

)) # 池化視窗(2

,2)network.

add(layers.

conv2d(64

,(3,

3), activation=

'relu'))

network.

summary()

# 2.在卷積神經網路上新增分類器

network.

add(layers.

flatten()

) # 3d變成1d 展平輸出(3

,3,64

)network.

add(layers.

dense(64

, activation=

'relu'))

network.

add(layers.

dense(10

, activation=

'softmax'

)) # 10個輸出

network.

summary

() # 檢視網路結構

# 3.在mnist影象上訓練卷積神經網路

from keras.datasets import mnist # 載入keras中的mnist資料集

from keras.utils import to_categorical # 將data列表轉化成為整數張量

(train_images, train_labels)

,(test_images, test_labels)

= mnist.

load_data()

# 4.預處理準備影象資料

train_images = train_images.

reshape((

60000,28

,28,1

)) # 4d

train_images = train_images.

astype

('float32')/

255 # 預處理,取值範圍0~1

test_images = test_images.

reshape

(10000,28

,28,1

)test_images = test_images.

astype

('float32')/

255train_labels =

to_categorical

(train_labels) # 準備標籤:將資料列表轉換為整數張量

test_labels =

to_categorical

(test_labels)

network.

compile

(optimizer=

'rmsprop'

, # rmsprop優化器

loss=

'categorical_crossentropy'

, # 損失函式:categorical_crossentropy:分類交叉熵

metrics=

['accuracy'

]) # 指標:精度

network.

fit(train_images, train_labels, epochs=

5, batch_size=

64) # 用訓練集訓練模型

test_loss, test_acc = network.

evaluate

(test_images, test_labels) # 評估測試集

print

('test_loss:'

, test_loss)

print

('test_acc:'

, test_acc)

print

(train_images.shape) # train_images 4d(

60000,28

,28,1

)print

(len

(train_images)

) # 60000

print

(train_labels) # 稀疏矩陣

print

(train_images.ndim) # 軸的個數 4d

print

(train_images.dtype) # 資料型別 float32

**執行結果:99%

深度學習用於計算機視覺

密集連線層 精度97.8 卷積神經網路 99.3 兩者的區別在於 dense層從特徵空間學到的是全域性模式,而卷積層學到時是區域性模式 1 卷積神經網路學到的模式具有平移不變性 視覺世界根本上來說就具有平移不變性 即在影象右下角學到某個模式後可以在任何地方識別這個模式。對於密集連線網路來說如果出現在...

計算機作業系統第五章

第五章虛擬儲存器 1.虛擬儲存器的基本概念 1 常規儲存器管理方式的特徵 一次性 作業在執行前一次性地全部裝入記憶體 駐留性 作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。2 區域性性原理 程式在執行時將呈現出區域性性規律 在一較短的時間內 程式的執行僅侷限於某個部分 相應地,所訪問的儲...

計算機組成原理第五章上

單選 1分 在程式查詢方式的輸入輸出系統中,假設不考慮處理時間,每一次查詢操作需要100個時鐘週期,cpu的時鐘頻率為50mhz。cpu必須每秒對滑鼠進行60次查詢,則cpu對滑鼠查詢所花時間占用cpu時間的比率為 得分 總分 正確答案 d你選對了 單選 1分 在統一編址方式下,區分cpu訪問的是記...