Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 11241|Svar: 0

Introduktion till Darknet-ramverket

[Kopiera länk]
Publicerad på 2019-01-30 12:51:44 | | | |
För omträning av änd-till-änd-system för ansiktsuttryck


Bilaga 1:

Darknet Deep Learning Framework Source Code Analysis: Detaljerad kinesisk kommentar, som täcker ramverkets principer och analys av implementeringssyntax

https://github.com/hgpvision/darknet

darknet är ett relativt lättviktigt öppen källkodsramverk för djupinlärning som helt bygger på C och CUDA, dess huvudfunktioner är enkla att installera, inga beroenden (OpenCV kan användas), mycket portabel och stöder både CPU- och GPU-beräkningsmetoder.



Jämfört med TensorFlow är darknet inte så kraftfullt, men detta är också en fördel med darknet:

  • darknet är helt implementerat i C-språket, utan några beroenden, självklart kan du använda OpenCV, men använd det bara för att visa bilder, för bättre visualisering;
  • darknet stödjer CPU (så det spelar ingen roll om du inte har GPU) och GPU (CUDA/cuDNN, såklart är det bättre att använda GPU);
  • Det är just för att det är relativt lätt och inte har ett kraftfullt API som TensorFlow, så jag känner att det har en annan form av flexibilitet, som passar för att studera underliggande och kan förbättras och utökas från grunden mer bekvämt.
  • Det finns likheter mellan implementeringen av darknet och implementeringen av caffe, och jag är bekant med darknet och tror att det är hjälpsamt att komma igång med caffe.





Bilaga 2:

Författare: Zhihu User
Länk:https://www.zhihu.com/question/51747665/answer/145607615
Källa: Zhihu
Upphovsrätten tillhör författaren. För kommersiella återtryck, vänligen kontakta författaren för godkännande, och för icke-kommersiella återtryck, vänligen ange källan.

De tre viktigaste strukturdefinitionerna i Darknet är network_state, nätverk och lager; Den nya versionen network_state har integrerats i nätverket.

Koden kan först ignorera GPU-delen, och olika typer av nätverkslager definierar exekveringsreglerna för denna typ genom funktionspekarna framåt bakåt och uppdaterar i lagret. Till exempel finns det tre metoder för sammanhängande lager, såsom forward_connected_layer backward_connected_layer update_connected_layer gru-lager, etc.;

Atomära operationer finns endast i blas.c och gemm.c, nätverksoperationer finns i network.c, och de viktigaste är train_network_datum, train_networks, train_network_batch och network_predict;

train_network_datum är den float_pair som används för indata, det vill säga flytta-*x- och flytta-*y-par;

train_networks tränas i network_kernel.cu i ett samtidigt trådningsläge, och parametern är data;

För det första är darknet enkeltrådad i CPU-läge, och i multi-GPU-grafikläge stöder det train_networks multi-kortkörning, och detta är också ingången till att omvandla distributionen av multihost-darknet-operationen, där du kan se tränad viktdata slå ihop och skalas.

train_network_datum Kör forward_network { lagervis framåtriktat nätverk } backward_network { lagervis omvänt nätverk }, och kör en update_network ( ,,, hastighet, rörelsemängd och avklingande under antalet gånger (*nät.sedda %underdelningar) är uppfyllda;

För användardefinierad nätverksprofilbehandling i parse_network_cfg läses träningsresultaten igenom load_weights

Det är ryggraden.

Om du behöver hantera datakällor med särskilda behov behöver du hänvisa till data.c för att komma igång.

För CFG-profilen är fokusjusteringen (naturligtvis är alla parametrar viktiga, kan behöva justeras) och den globala parametern för fokus under träning: avklingningsmomentum learning_rate Dessa tre är relaterade till konvergenshastigheten. Policy är viktpolicyn, inputbatch (och relaterade underavdelningar) utsläpp är relaterade till datagenomströmningsdimensionen, och den senaste versionen verkar ha korrigeringar här i utsläppen.







Föregående:mockjs enkel handledning
Nästa:.net core FileProvider läser katalogfiler
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com