Ciao e benvenuto in questo tutorial Python.
Quindi ora il prossimo passo è quello di far funzionare quel conteggio dei neuroni che ci darà quello che vogliamo.
Questo è il numero di neuroni in questo enorme vettore dopo l'applicazione delle spire.
Questa è l'unica informazione mancante di cui abbiamo bisogno in questo momento e la otterremo con la funzione.
Quindi rendiamo conto di questa funzione che chiameremo.
E quei neuroni centrali molto semplicemente.
E come funzionano questi argomenti i neuroni del conteggio.
numero di neuroni di uscita nello strato di appiattimento dipende in realtà solo da una cosa.
Beh, prenderà l'oggetto in sé, ma poi prenderà qualcos'altro perché questo
Dipende dalle dominazioni dell'immagine di input originale quella che si trova all'inizio della
rete neurale.
E quindi l'unico argomento di cui abbiamo bisogno in questo momento è in realtà il momento menziona il tempo delle immagini di input.
Diamo quindi un nome a questo argomento che rappresenta il diamante e l'immagine di input.
E lo chiameremo immagine.
Tutto ok.
dirti che le dimensioni effettive delle immagini di input provenienti da Dume saranno 80 per 80.
E in questo momento posso
Ridurremo le dimensioni delle immagini originali a 80 per 80 e questo sarà il formato
delle immagini che entrano nella rete neurale.
Quindi immaginarli sarà in realtà uno 80 80 e quello corrisponde al fatto che stiamo lavorando con immagini
in bianco e nero.
Questo è con un solo canale, quindi l'immagine sarà correlata al totale degli ottanta e ottanta.
Tutto ok.
Quindi questo è l'unico argomento di cui abbiamo bisogno.
E ora esaminiamo i neuroni.
Quindi, come hai intenzione di farlo.
Beh, prima di tutto in realtà non abbiamo alcuna immagine di input in questo momento.
Non abbiamo alcuna immagine negativa che possiamo importare.
Lo faremo più tardi.
Quindi la prima cosa che dobbiamo fare è creare un'immagine falsa ma che ha fatto introni 80 su 80.
con pixel falsi e questo ci darà comunque il numero che vogliamo perché
quel numero dipende solo dalle dimensioni e non dai pixel che si trovano all'interno delle immagini.
Creeremo quell'immagine falsa
Quindi questo crea solo un'immagine falsa per iniziare.
E poi calcoleremo il numero di neuroni che vogliamo.
Quindi il trucco per creare un'immagine falsa è bene lo chiameremo x.
Prima di tutto e poi avremmo usato la torcia di Rand perché sai che metteremo dei pixel
casuali in queste immagini che stiamo usando queste funzioni casuali da torche che è la funzione rand.
Poi all'interno inseriremo come puoi vedere le dannate immagini.
Quello è uno 80 80.
Ma dal momento che metteremo questa immagine nella rete neurale e ricordando che la rete neurale può accettare
solo lotti di stati di input che sono qui lotti di immagini di input.
Creeremo quei diamanti falsi in cui possiamo eseguire direttamente questa funzione di esecuzione.
In realtà, iniziamo solo con quello che corrisponderà al batch e quindi
possiamo semplicemente metterlo su tutti i 188 corrispondenti ai domini dell'immagine di input.
E come hai capito queste nomination sono contenute in questa immagine, argomento che rappresenta
quella tabella 1 80 80.
Quindi, abbiamo solo bisogno di aggiungere loro un'immagine.
Ma per passare gli elementi del tavolo perché lo sai ora Image è un doppio come
una lista di argomenti di una funzione.
Abbiamo bisogno di aggiungere qui prima di immaginarli prima che il negozio di Apple consenta di passare gli elementi del
file di Apple a lui come elenco di argomenti per la funzione.
E come puoi vedere è esattamente ciò che viene specificato qui con il negozio e il diamante.
Va bene, così creerai un'immagine di pixel falsi che non avrà nulla a che fare con le immagini.
ancora in grado di ottenere il numero finale di neuroni e
ora l'ultima cosa che dobbiamo ricordare è convertire questo vettore di input in una variabile torcia perché questo entrerà nella rete neurale.
Ma di nuovo saremo
Tutto ok.
Quindi questo rappresenta ora un'immagine di input di pixel casuali che è stata appena convertita in una valida e che
ora entrerà nella rete neurale.
E più precisamente gli strati convoluzionali della rete neurale perché poiché abbiamo solo bisogno del
numero di neuroni dopo che le circonvoluzioni sono state applicate, andremo semplicemente alle convoluzioni 3.
Quindi fino al terzo strato convoluzionale.
E non entreremo nei due collegamenti completi qui.
E questo perché il numero di neuroni che vogliamo è tra la convoluzione 3 e la f. c 1.
Va bene ora che abbiamo una immagine di input con le giuste menzioni Beh, è ​​tempo di propagare
questa immagine nella rete neurale per raggiungere lo strato appiattito, quindi otterremo i neuroni nello strato appiattito
e otterremo solo il informazione che vogliamo che sia il numero di neuroni in questo
livello di appiattimento.
Quindi ora dobbiamo fare esattamente quello che facciamo in una funzione avanzata.
Abbiamo bisogno di propagare i segnali nella rete neurale ma solo negli strati convoluzionali fino a
raggiungere lo strato di inondazione.
Quindi facciamolo.
Stiamo aggiornando x ora x è l'immagine di input e con la seconda X qui X diventerà il
primo strato convoluzionale.
E ora quello che dobbiamo fare è che i tre passaggi procedono nel primo passo applicando la deconvoluzione alle
immagini di input.
Poi il secondo passo applichiamo la potatura alle immagini e agli inserti convoluti che attiviamo i
neuroni in queste immagini contorte e la x diventerà questo primo convoluzionale. Sono composti da tutti
questi gruppi di Energis contorti.
Facciamo quindi questo primo passo applicando la prima convoluzione alle immagini di input.
Quindi quello che facciamo è prendere la nostra convoluzione in un solo io che convoca Lucian che andiamo applichiamo alle nostre immagini
di input che finora sono rappresentate da x.
Quindi questo è il primo che è stato fatto per primo.
Secondo passo applicheremo lo spooling alle nostre immagini convolute restituite dalla convoluzione quando X e due climax
che tirano Bene, prenderemo una funzione dal modulo funzionale.
Quindi prendiamo la scorciatoia e poi useremo la funzione Max pool a D.
una X tra parentesi del tiro massimo verso il perché suoniamo il prossimo tiro nelle immagini contorte.
È quello che mettiamo in auto-convoluzione
Ma questa funzione successiva richiede argomenti addizionali che sono prima la dimensione del kernel.
Quindi di nuovo questa è la dimensione della finestra che scorre attraverso le immagini e che prenderà il massimo
dei pixel in ogni diapositiva.
In questo modo verranno comunque rilevate le funzionalità poiché le funzionalità sono associate a un valore elevato del
pixel negli array.
Come dici tu lezioni di intuizione.
Quindi questa prima necessità umana documentata di input è questa dimensione del kernel.
E ne prenderemo tre.
Questa è una scelta comune per le dimensioni del kernel.
E poi abbiamo bisogno di mettere il passo che sai per quanti pixel scivolerà nelle immagini.
E faremo un passo indietro di due.
Ancora una volta è una scelta comune.
Quindi eccoci.
Ora il secondo passo è fatto.
passiamo al terzo passo che è quello di attivare tutti i neuroni in questo pool e le immagini contorte.
E ora
E questo primo strato di convoluzione e per fare questo ancora applicheremo una funzione a tutto questo.
E così qui e riprenderò perché prenderemo un'altra funzione che, come avresti potuto immaginare,
sarà una funzione di attivazione, ma quale.
Come al solito verrà ripristinata la funzione di attivazione e forse ti ricordi il nome per quello
è davvero.
Eccoci.
È lui.
E così applichiamo davvero alle nostre immagini complesse raggruppate che è tutto questo.
Tutto ok.
E questo è tutto.
Tre passi fatti.
E 'stato molto veloce
Quindi ricordate il modo in cui dobbiamo guardare questo è il primo che applichiamo la convoluzione alle nostre
immagini di input, quindi applichiamo Max alle nostre immagini contorte ottenute con una convoluzione.
strato convoluzionale su cui si è tirato un climax e in cui i neuroni sono ora attivati.
E poi attiviamo i neuroni in tutto questo strato convoluzionale dello stagno con la funzione di attivazione del raddrizzatore così perfetta
che otteniamo il nostro primo
E così fondamentalmente ciò che fa è che si propaga i segnali dal primo strato convoluzionale
a quello successivo.
E a proposito di quello successivo è esattamente ciò di cui ci occuperemo adesso.
Faremo la stessa cosa che abbiamo appena fatto sul primo convoluzionale al
secondo strato convoluzionale per propagare nuovamente i segnali ulteriormente nella rete neurale attivando i neuroni
del secondo strato convoluzionale.
Ma prima di fare questo dobbiamo ottenere questo strato convoluzionale.
E quindi applicheremo la convoluzione a X che ora è il primo strato convoluzionale.
Bene applicheremo la convoluzione a 2 x per ottenere il secondo strato convoluzionale dopo il quale
Max lo tirerà.
E poi finalmente attivando Sirat.
Quindi facciamolo.
In realtà è molto facile solo copiarlo e incollarlo sotto.
Ovviamente, dobbiamo sostituire anche la convoluzione per convoluzione.
E noi andiamo.
In realtà è pronto, vedi molto facile.
E ora con questa linea propagiamo i segnali dal secondo convoluzionale al successivo che
sarà il terzo convoluzionale lì.
E per ottenere questo terzo convincente dovrà applicarlo di nuovo.
Quindi sto copiando questo incollaggio qui sotto e sostituendo la convoluzione anche con la convoluzione 3 e ciò è fatto
non è così pratico.
Propaghiamo i segnali nelle tre lettere convoluzionali in una torcia elettrica.
Grazie a questa fantastica struttura.
Va bene così perfetto.
Ora abbiamo i nostri segnali propagati fino al terzo strato convoluzionale e dopo.
E a proposito di questo ci porta a ciò che stiamo cercando.
Quello che ci interessa è l'appiattimento lì.
Va bene ora che abbiamo il nostro terzo convoluzionale là che è l'ultima X qui.
È tempo di fare il nostro appiattimento.
E così è esattamente quello che faremo.
Ora andremo ad appiattire tutti i pixel di questo terzo strato convoluzionale che stiamo per prendere
tutti i pixel di tutti i canali del terzo strato convoluzionale.
Li metteremo uno dopo l'altro in un enorme vettore.
E ovviamente questo enorme vettore non sarà altro che lo strato appiattito e allo
stesso tempo useremo un trucco per ottenere il numero di neuroni in questo appiattimento.
Questo è quello che stiamo cercando.
di neuroni che ci manca e quindi restituiamo direttamente ciò che vogliamo e in questo ritorno andremo ad appiattire
il terzo strato convoluzionale e raggiungere lo stesso numero e il numero di neuroni in questo livello di appiattimento.
Questo è il numero
Quindi prenderemo X. che è il nostro terzo convoluzionale là.
Prenderemo tutti i canali del terzo convoluzionale e useremo una funzione che è
la funzione delle dimensioni per appiattire tutti i pixel di tutti questi canali in uno stesso enorme vettore.
E quindi il trucco lo puoi trovare nel pito a guardare la fatica.
Bene prima prendiamo i dati di X perché X è una struttura speciale, sai che è una torcia Voivode
Quindi ha una struttura piuttosto complessa.
Ma prima dobbiamo accedervi con i dati qui, quindi dobbiamo vedere cosa c'è dentro.
Quindi usiamo questa funzione di visualizzazione e ora abbiamo bisogno di accedere a ciò che stiamo
cercando e che è anche con gli argomenti 1 e meno 1.
Devi capire cosa c'è dentro la struttura.
Ma puoi capire che questo è il modo in cui otterremo questo numero di
neuroni e quindi per finire dobbiamo aggiungere dimensioni tra parentesi e input interni 1.
Quindi, in pratica, ciò che facciamo qui è che prendiamo tutti i pixel di tutti i canali
e li mettiamo uno dopo l'altro in questo enorme vettore che sarà l'input della rete completamente connessa.
Questo è fondamentalmente ciò che fa la dimensione.
E con questo possiamo ottenere questo numero di nuovi che stiamo cercando.
Va bene così ora otteniamo ciò che vogliamo.
E così finalmente possiamo sostituire qui i neuroni del numero con ciò che viene restituito da questa funzione
quando viene applicata al formato delle immagini.
Quello è uno per 80 per 80.
Quindi quello che dobbiamo fare ora è sostituire i neuroni del numero con la funzione dei neuroni
di conteggio che applichiamo al formato delle immagini che sarà il totale 80 e 80.
E noi andiamo.
E naturalmente non dimentichiamo noi stessi perché il conteggio dei neuroni è in realtà un metodo del test della CNN.
Quindi abbiamo bisogno di aggiungere il.
E ora l'avviso dovrebbe scomparire.
E noi andiamo.
Ora tutto è buono.
Otteniamo l'architettura della rete neurale senza nulla e abbiamo questa funzione di contrappesi nel caso in
cui tu sappia che vuoi provare altre architetture e non vuoi contare manualmente il
numero di neuroni.
Basta usare questa funzione per riprodurla nel formato delle tue immagini.
E questo ti porterà direttamente ciò che desideri.
Questo è il numero di neuroni nello strato di inondazione senza dover fare nulla.
E ovunque l'architettura è critica.
E ora abbiamo finito con il primo grande passo importante di questo cervello che stiamo facendo e abbiamo un
ultimo passo.
Questa è l'ultima funzione per stabilire quale sarà la principale funzione di avanzamento.
occhi dell'occhio allo strato di output che è dopo la seconda connessione.
Quindi propagheremo i segnali dall'inizio del cervello che proviene dagli
Quindi lo faremo nei prossimi due toile e fino ad allora la nostra IA.