Saturday, March 20, 2021

Keras - AlexNet

 Keras - AlexNet

2021/03/20

-----

說明:

# 為本來的註解

## 為新增的註解

-----

## AlexNet


#coding=utf-8

from keras.models import Sequential

from keras.layers import Dense,Flatten,Dropout

## AlexNet 架構與 LeNet 不同,但程式只多了 Dropout 一種層。

## https://keras.io/api/layers/regularization_layers/dropout/

from keras.layers.convolutional import Conv2D,MaxPooling2D

from keras.utils.np_utils import to_categorical

import numpy as np

seed = 7

np.random.seed(seed)

 

model = Sequential()

model.add(Conv2D(96,(11,11),strides=(4,4),input_shape=(227,227,3),padding='valid',activation='relu',kernel_initializer='uniform'))

model.add(MaxPooling2D(pool_size=(3,3),strides=(2,2)))

model.add(Conv2D(256,(5,5),strides=(1,1),padding='same',activation='relu',kernel_initializer='uniform'))

model.add(MaxPooling2D(pool_size=(3,3),strides=(2,2)))

model.add(Conv2D(384,(3,3),strides=(1,1),padding='same',activation='relu',kernel_initializer='uniform'))

model.add(Conv2D(384,(3,3),strides=(1,1),padding='same',activation='relu',kernel_initializer='uniform'))

model.add(Conv2D(256,(3,3),strides=(1,1),padding='same',activation='relu',kernel_initializer='uniform'))

model.add(MaxPooling2D(pool_size=(3,3),strides=(2,2)))

model.add(Flatten())

model.add(Dense(4096,activation='relu'))

model.add(Dropout(0.5))

model.add(Dense(4096,activation='relu'))

model.add(Dropout(0.5))

model.add(Dense(1000,activation='softmax'))

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

model.summary()

-----

## ZFNet

model.add(Conv2D(96,(7,7),strides=(2,2),input_shape=(224,224,3),padding='valid',activation='relu',kernel_initializer='uniform')) 

## ZFNet 只有此行與 AlexNet 不同(?)。

-----

————————————————

版权声明:本文为CSDN博主「wmy199216」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wmy199216/article/details/71171401

-----

No comments: