Olá e bem vindo a este tutorial do Python.
Então, agora, o próximo passo é fazer com que os neurónios funcionem, o que nos dará o que queremos.
Esse é o número de neurônios neste enorme vetor depois que as convoluções são aplicadas.
Essa é a única informação faltante que precisamos agora e vamos buscá-la com a função.
Então, vamos fazer essa função que vamos chamar de conta.
E esses neurônios centrais são muito simples.
E o que esta função de contagem de neurônios vai tomar como argumentos.
porque esse número de neurônios de saída na camada de achatamento realmente depende apenas de uma coisa.
Bem, ele vai levar o próprio objeto, mas então vai levar outra coisa
Depende das dominações da imagem de entrada original, a qual vai no início da
rede neural.
E, portanto, o único argumento que precisamos no momento é que o tempo menciona o tempo das imagens de entrada.
Portanto, vamos dar um nome a esse argumento que representa o diamante e da imagem de entrada.
E nós vamos chamá-lo de imagem.
Tudo bem.
que as dimensões reais das imagens de entrada provenientes da Dume serão 80 por 80.
E posso dizer-lhe agora
Vamos reduzir o tamanho das imagens originais para 80 por 80 e esse será o formato
das imagens que entrarão na rede neural.
Então, a imagem deles será realmente uma 80 80 e a mesma corresponde ao fato de que estamos trabalhando com
imagens em preto e branco.
Isso é com apenas um canal para que a imagem deles seja correlacionada com o total de um oitenta e 80.
Tudo bem.
Então, esse é o único argumento que precisamos.
E agora vamos analisar os neurônios.
Então, como você vai fazer isso?
Bem, antes de tudo, na verdade não temos nenhuma imagem de entrada agora.
Não temos nenhuma imagem de doom que possamos importar.
Nós vamos fazer isso mais tarde.
Então, a primeira coisa que temos a fazer é criar uma imagem falsa, mas isso fez introns 80 em 80.
essa imagem falsa com pixels falsos e isso ainda nos dará eventualmente o número
que queremos porque esse número depende apenas das dimensões e não dos pixels que estão dentro das imagens.
Nós vamos criar
Então, isso apenas cria uma imagem falsa para começar.
E então calcularemos o número de neurônios que queremos.
Então, o truque para criar uma imagem falsa é bem, vamos chamá-lo de x.
Em primeiro lugar, e então, vamos usar a tocha que Rand porque você sabe que vamos colocar alguns
pixels aleatórios nessas imagens, que estamos usando essas funções aleatórias do Torche, que é a função Rand.
Então dentro, vamos entrar, como você pode ver as condenações das imagens.
Esse é um 80 80.
Mas desde que vamos colocar essa imagem na rede neural e, como você se lembra, a rede neural só
pode aceitar lotes de estados de entrada que estão aqui lotes de imagens de entrada.
Nós vamos criar esses diamantes falsos nos quais podemos fazer diretamente essa função de execução.
Na verdade, apenas comece com o que corresponderá ao lote e, então,
podemos apenas colocar tudo 188 o correspondente às dominações da imagem de entrada.
E, como você entendeu, essas indicações estão contidas nesta imagem, o argumento que representa
essa tabela 1 80 80.
Então, precisamos apenas adicionar imagens.
Mas, para passar os elementos da tabela porque você sabe agora, a imagem deles é um duplo
como uma lista de argumentos de uma função.
Precisamos adicionar aqui antes de imaginar que existe antes que a loja da Apple, a loja permitirá passar os elementos
do imaginário para a Apple como uma lista de argumentos para a função.
E, como você pode ver, é exatamente o que é especificado aqui com a loja e o diamante.
Tudo bem para que crie uma imagem de pixels falsos que não terão nada a ver com as imagens.
capazes de obter o número final de neurônios e agora a última
coisa que precisamos lembrar é converter esse vetor de entrada em uma variável de tocha porque isso vai entrar na rede neural.
Mas, novamente, ainda seremos
Tudo bem.
Então, isso agora representa uma imagem de entrada de pixels aleatórios que acabou de ser convertido em um viável e que
agora entrará na rede neural.
E, mais especificamente, as camadas convolutivas da rede neural porque, como só precisamos
do número de neurônios após a aplicação das circunvoluções, iremos até as circunvoluções 3.
Então, até a terceira camada convolucional.
E não entraremos nas duas conexões completas aqui.
E isso ocorre porque o número de neurônios que queremos é entre a convolução 3 e f. c 1.
Tudo bem agora, agora que temos uma imagem de entrada com as menções certas Bem, é hora de propagar
esta imagem na rede neural para alcançar a camada achatada, então vamos conseguir os neurônios na camada achatada
e nós vamos apenas obter a A informação que queremos é o número de neurônios nesta
camada achatada.
Então, agora temos que fazer é exatamente o que fazemos em uma função avançada.
Precisamos propagar os sinais na rede neural, mas apenas nas camadas convolutivas até alcançar
a camada de inundação.
Então vamos fazer isso.
Vamos atualizar x agora x é a imagem de entrada e com o segundo X aqui o X se tornará bem
a primeira camada convolucional.
E agora o que temos a fazer é o primeiro passo do processo de etapas, aplicamos a deconvolução nas
imagens de entrada.
Então, o segundo passo, aplicamos a poda de mistura para as imagens e inserções enroladas que ativamos
os neurônios nessas imagens enroladas e o x se tornará este primeiro convolucional, eles são compostos por
todas essas piscinas enroladas Energis.
Então, vamos fazer esta primeira etapa, aplique a primeira convolução convolução para as imagens de entrada.
Então, o que fazemos é levar a nossa convolução um auto que convo Lucian que vamos aplicamos às nossas imagens de
entrada que até agora são representadas por x.
Então, esse é o primeiro que primeiro a fazer isso agora.
Segundo passo, vamos aplicar spool para nossas imagens complicadas retornadas por convolução quando X e dois clímax puxando Bem,
vamos tomar uma função a partir do módulo funcional.
Então, tomamos o short cut do que isso e então vamos usar a função Max pool para D.
auto-convolução um X entre parênteses do máximo de puxar para o porque jogamos depois puxar para as imagens enroladas.
Esse é o único que colocamos a
Mas esta próxima função requer argumentos adicionais que são primeiro o tamanho do kernel.
Então, novamente, esse é o tamanho da janela que desliza através de suas imagens e isso levará o máximo
de pixels em cada slide.
Então, isso ainda irá detectar os recursos porque os recursos estão associados a um alto valor do
pixel nas matrizes.
Como você diz palestras de intuição.
Então, essa primeira necessidade humana documentada de entrada é esse tamanho do kernel.
E nós vamos levar três.
Essa é uma escolha comum para o tamanho do kernel.
E então precisamos colocar os passos que você conhece em quantos pixels ele vai deslizar nas imagens.
E vamos dar um passo de dois.
Mais uma vez, essa é uma escolha comum.
Então vamos lá.
Agora o segundo passo é feito.
vamos passar para o terceiro passo, que é para ativar todos os neurônios neste pool e imagens enroladas.
E agora
E esta primeira camada de convolução e para fazer isso de novo, vamos aplicar uma função a tudo isso.
E aqui e voltando novamente, porque vamos tomar outra função que, como você pode ter adivinhado,
será uma função de ativação, mas qual delas.
Como de costume, vai ser a função de ativação corrigida e talvez você se lembre do nome para isso
é realmente.
Aqui vamos nós.
Esse é o único.
E então nos aplicamos realmente às nossas imagens agrupadas agrupadas que é tudo isso.
Tudo bem.
E é isso.
Três passos feitos.
Isso foi muito rápido.
Então, lembre-se da maneira como temos de olhar para isso é primeiro, aplicamos a convolução para nossas imagens de
entrada, então aplicamos o máximo de puxar para nossas imagens complicadas obtidas com uma convolução.
convolucional sobre a qual foi uma tração de clímax e em que os neurônios estão agora ativados.
E, em seguida, ativamos os neurônios em toda essa camada de convolução com a função de ativação do retificador, de modo
que obtivemos a nossa primeira camada
E, basicamente, o que faz é que ele propaga os sinais da primeira camada convolucional para
a próxima.
E falando sobre o próximo, é exatamente o que vamos cuidar agora.
Vamos fazer o mesmo que acabamos de fazer no primeiro convolucional lá
para a segunda camada convolucional para propagar novamente os sinais na rede neural ativando os neurônios
da segunda camada convolucional.
Mas antes de fazer isso precisamos obter essa camada convolucional.
E então vamos aplicar convolução para X que agora é a primeira camada convolucional.
Bem, vamos aplicar a convolução para 2 x para obter a segunda camada convolucional após a qual
será Max puxá-la.
E, finalmente, ativando Sirat.
Então vamos fazer isso.
Na verdade, é muito fácil copiar isso e colar isso abaixo.
Agora é claro que precisamos substituir a convolução um por convolução também.
E nós vamos lá.
Isso realmente está pronto, veja muito fácil.
E agora, com esta linha, propagamos os sinais do segundo convolucional para o próximo, que
será o terceiro convolucional lá.
E para obter essa terceira vontade convolucional, será necessário aplicar isso de novo.
Então eu estou copiando isso colando isso abaixo e substituindo a convolução também pela convolução 3 e isso é feito
não é tão prático.
Nós propagamos os sinais nas três letras convolutivas em uma lanterna.
Graças a esta incrível estrutura.
Tudo bem, tão perfeito.
Agora temos nossos sinais propagados até a terceira camada convolucional e depois.
E falar de depois disso nos leva ao que estamos procurando.
O que nos interessa é o achatamento lá.
Tudo bem, agora que temos a nossa terceira convolução que é o último X aqui.
É hora de obter nosso achatamento.
E assim é exatamente o que vamos fazer.
Agora vamos aplanar todos os pixels desta terceira camada convolucional que é que vamos levar todos
os pixels de todos os canais da terceira camada convolucional.
Nós vamos colocá-los um após o outro em um vetor enorme.
E é claro que este enorme vetor não será nada além da camada de achatamento
e, ao mesmo tempo, usaremos um truque para obter o número de neurônios neste achatamento lá.
É isso que estamos procurando.
de neurônios que estamos perdendo e, portanto, vamos retornar diretamente o que queremos e neste retorno, vamos
aplanar a terceira camada convolucional e chegar ao mesmo e o número de neurônios nesta camada achatada.
Esse é o número
Então vamos tomar X. Qual é a nossa terceira convolução lá.
Nós vamos levar todos os canais do terceiro convolucional lá e vamos usar uma
função que é a função de tamanho para baixar todos os pixels de todos esses canais em um mesmo vetor enorme.
E então, o truque que você consegue encontrá-lo no pite ver o trabalho.
Bem, primeiro, nós levamos os dados de X porque X é uma estrutura especial, você sabe que é uma tocha Voivode, então
ele tem uma estrutura bastante complexa.
Mas primeiro precisamos acessá-lo com dados aqui, então precisamos ver o que está dentro dele.
Então usamos essa função de visualização e agora precisamos acessar o que estamos procurando
e isso é mesmo com os argumentos 1 e menos 1.
Você tem que entender o que está dentro da estrutura.
Mas você só pode entender que é assim que vamos conseguir esse número de
neurônios e, para terminar, precisamos adicionar tamanho entre parênteses e entradas internas 1.
Então, basicamente, o que fazemos aqui, o que fazemos, é que tomamos todos os pixels de todos os canais
e os colocamos um após o outro nesse enorme vetor que será a entrada da rede totalmente conectada.
Isso é basicamente o que o tamanho faz.
E com isso podemos obter esse número de novos que estamos procurando.
Tudo bem, agora, obtemos o que queremos.
E por isso, finalmente, podemos substituir os neurônios numéricos por o que é retornado por esta função quando
é aplicado ao formato das imagens.
Isso é um por 80 por 80.
Então, o que temos que fazer agora é o número de neurônios de substituição, levamos a função de contagem
de neurônios que aplicamos ao formato das imagens, que será o total de 80 e 80.
E nós vamos lá.
E é claro que não nos esquecemos porque o neurônio Count é realmente um método do teste CNN.
Então precisamos adicionar o.
E agora o aviso deve desaparecer.
E nós vamos lá.
Agora tudo é bom.
Nós conseguimos a arquitetura da rede neural sem falta de nada e nós temos essa função de countersuits
caso você saiba que deseja experimentar algumas outras arquiteturas e você não quer contar o número
de neurônios manualmente.
Você apenas usa essa função para reproduzir o formato das suas imagens.
E isso irá levá-lo diretamente ao que deseja.
Esse é o número de neurônios na camada de inundação sem ter que fazer nada.
E onde quer que a arquitetura seja crítica.
E agora terminamos com o primeiro grande passo importante deste cérebro que estamos fazendo e temos um
último passo.
Essa é uma última função para fazer qual será a principal função para a frente.
dos olhos do olho para a camada de saída que está após a segunda conexão.
Então, vamos propagar os sinais desde o início do cérebro que são
Então vamos fazer isso nos próximos dois anos e até então nossa IA.