Bakgrund: VGG:s fullstÀndiga namn Àr Visual Geometry Group, som tillhör Institutionen för vetenskap och teknik vid Oxford University. Det har slÀppt en serie fÀllbara nÀtverksmodeller som börjar med VGG, som kan anvÀndas för ansiktsigenkÀnning och bildklassificering, frÄn VGG16 till VGG19. Det ursprungliga syftet med VGG:s forskning om djupet av konvolutionsnÀtverk Àr att förstÄ hur djupet hos konvolutionsnÀtverk pÄverkar noggrannheten i storskalig bildklassificering och -igenkÀnning. -Deep-16 CNN), för att fördjupa antalet nÀtverksskikt och undvika för mÄnga parametrar, anvÀnds en liten 3x3 faltningskÀrna i alla lager.
Visar alla nÀtverkskonfigurationer. Dessa nÀtverk följer samma designprinciper, men skiljer sig Ät i djupet. VGG-structure-In-this-paper-we-used-19-weight-layers-VGG-19-For-each-image-we-used.
Denna bild anvÀnds nÀr vi introducerar VGG19. Den innehÄller mycket information.
đ"Installerar VGG19-arkitekturen.
Referens:
- [Mycket djupa konvolutionsnÀtverk för storskalig bildigenkÀnning] (
https://arxiv.org/abs/1409.1556) (ICLR 2015)
Som standard laddar den vikter som Àr förutbildade pÄ ImageNet. Kontrollera "vikter" för
andra alternativ.
Denna modell kan byggas bÄde med 'channel_first' dataformat
(kanaler, höjd, bredd) eller 'channel_last' dataformat (höjd, bredd, kanaler).
Standardinmatningsstorleken för denna modell Àr 224x224.
Obs!đ Varje Keras-program förvĂ€ntar sig en specifik typ av förbehandling av ingĂ„ngar.
För VGG19, ring `tf.keras.applications.vgg19.preprocess_input` pÄ din
ingÄngar innan du skickar dem till modellen.
Argument:
include_top: om de 3 fullt anslutna ska inkluderas lager överst i nÀtverket.
vikter: en av "Ingen" (slumpmÀssig initialisering), 'imagenet' (förutbildning pÄ ImageNet), eller sökvÀgen till viktsfilen som ska laddas.
input_tensor: valfri Keras-tensor(dvs. utdata frÄn `lager.Input ()`) att anvÀnda som bildingÄng för modellen.
input_shape: valfri form tuple, bara för att anges om `include_top 'Àr Falsk (annars Àr inmatningsformen
mÄste vara '(224, 224, 3)' (med 'channel_last' dataformat) eller `(3, 224, 224)` (med dataformat `kanaler_först ').
Den borde ha exakt 3 ingÄngskanaler, och bredd och höjd bör inte vara mindre Àn 32.
T.ex. "(200, 200, 3)" skulle vara ett giltigt vÀrde.
pooling: Valfritt poolningslÀge för extrahering av funktioner nÀr "include_top" Àr "False".
â- 'Ingen' betyder att produktionen frĂ„n modellen blir
4D-tensorutgÄngen frÄn
sista konvolutionella blocket.
â- "genomsnitt" betyder den globala genomsnittliga poolen
kommer att tillÀmpas pÄ utdata frÄn
sista konvolutionsblocket, och dÀrmed
produktionen av modellen kommer att vara en 2D-tensor.
â- "max" betyder att global maxpooling kommer att vara ansökt.
klasser: valfritt antal klasser för att klassificera bilder
in, bara för att specificeras om `include_top 'Àr sant, och om inget argument för "vikter" anges.
classifier_activation: A `str` eller kan kallas. Aktiveringsfunktionen som ska anvÀndas pÄ det "översta" skiktet. Ignoreras om inte 'include_top = True'.
UppsÀttning `classifier_activation = Ingen 'för att returnera logiterna för" topp "-skiktet.
Mapping:
-- Logs
==> train
==> valid
Tensorboard logs
-- Dataset
==> class-1 ()
==> class-2
-- Utils
==> config.py
==> data_preprocessing.py
==> model.py
---- trÀningsprocesskrav
--- models överpassning
--- Spara modellen
--- Skapa VGG19_modellen
-->-Checkpoint
--- config.py
--- data_preprocessing.py
--- model.py
---- Prediktionsprocess
--- config.py
--- data_preprocessing.py
Kommand:
-
python utils/train.py
-
tensorboard --logdir base_log_dir/tensorboard_log_dir/
- (crtl + klick) http://localhost:6006/
đđ§ČFör att förbĂ€ttra noggrannheten kan vi enkelt anvĂ€nda en förutbildad datasetbild. VĂ„r idĂ© Ă€r att implementera Vgg med 19 lager eftersom Vgg 16 förekommer i de flesta forskningspapper.
- Api kan ocksÄ exponeras för slutanvÀndaren genom att anvÀnda Flask / Django framework.