본문 바로가기
AI&ML/DL algorithms

VGGNET 코드

by ornni 2024. 7. 10.
728x90
반응형

VGGNET 16 weight


# import library

import tensorflow as tf
from tensorflow.keras import Sequential, layers

 

# build vgg16 model
def vgg16():

    model = Sequential()
    
    model.add(layers.Conv2D(64, kernel_size = (3, 3), padding = 'same', activation = 'relu', input_shape=(224, 224, 3)))
    model.add(layers.Conv2D(64, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.MaxPooling2D(2))
    
    model.add(layers.Conv2D(128, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(128, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.MaxPooling2D(2))
    
    model.add(layers.Conv2D(256, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(256, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(256, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.MaxPooling2D(2))
    
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.MaxPooling2D(2))
    
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.Conv2D(512, kernel_size = (3, 3), padding = 'same', activation = 'relu'))
    model.add(layers.MaxPooling2D(2))
    
    # Fully Connected Layer
    model.add(layers.Flatten())
    model.add(layers.Dense(4096, activation="relu"))
    model.add(layers.Dense(4096, activation="relu"))
    model.add(layers.Dense(1000, activation="softmax"))
    
    return model

def main():
    model = vgg16()
    model.summary()
    
if __name__ == "__main__":
    main()


관련 논문: Very Deep Convolutional Networks For Large-Scale Image Recognition

https://ornni.tistory.com/323

 

Very Deep Convolutional Networks For Large-Scale Image Recognition

목차0. Abstract1. Introduction2. ConvNet Configuration2.1 Architecture2.2 Configuration2.3  Discussion3. Classification Framework3.1 Training3.2 Testing3.3 Implementation Details4 Classification Experiments4.1 Single Scale Evaluation4.2 Multi-Scale Eval

ornni.tistory.com


링크

https://github.com/ornni/DL_algorithm/tree/main/VGGNet

 

DL_algorithm/VGGNet at main · ornni/DL_algorithm

deep learning algorithms. Contribute to ornni/DL_algorithm development by creating an account on GitHub.

github.com

 

반응형

'AI&ML > DL algorithms' 카테고리의 다른 글

AlexNet 코드  (0) 2024.08.14
Transformer 코드  (4) 2024.07.24