‫Agora, vimos a aparência de uma imagem, de forma mais intensa, vamos construir esta pequena função que
‫fará as etapas aqui.
‫Então o que podemos fazer é apenas copiá-los para que possamos vê-los abaixo.
‫E vou escrever apenas uma pequena célula aqui.
‫Agora, vimos como uma imagem se parece com um Tensas.
‫Vamos fazer uma função para pré-processamento.
‫Tudo certo.
‫E então o que podemos fazer é definir uma variável aqui, tamanho de imagem dois, 24, e você deve estar se perguntando.
‫Como sempre faço quando digo coisas assim que não são explicadas, quanto é dois e vinte e quatro, de onde tirei
‫isso?
‫Bem, veremos isso em um vídeo posterior, quando escolhermos um modelo de aprendizado de máquina que podemos
‫usar.
‫E assim, muito aprendizado de máquina está alinhando o tamanho ou a forma de suas entradas.
‫No nosso caso, imagens com o modelo que você está usando.
‫Novamente, vamos cobrir isso mais tarde.
‫Mas, essencialmente, estamos garantindo que nossas imagens que alimentamos em um modelo de aprendizado de máquina sejam desta
‫forma.
‫Então, de dois vinte e quatro de altura a vinte e quatro de largura, porque é esse o modelo de aprendizado
‫de máquina que usaremos, que treinou em imagens na mesma forma.
‫Lembre-se de como é importante alimentar seu modelo de aprendizado de máquina no mesmo formato e forma em que
‫foi treinado quando você tentou fazer previsões.
‫Mas você verá isso na prática mais tarde.
‫Mas vamos escrever esta função.
‫Portanto, crie uma função para pré-processamento de imagens.
‫Vou chamar isso de imagem de processo simples e agradável.
‫Vai pegar um caminho de imagem como entrada.
‫E.
‫Um pouco de manipulação poderia ser pegar um caminho de arquivo de imagem e transformá-la em um Tensas, algo simples assim, poderíamos torná-lo
‫um pouco mais intuitivo mais tarde.
‫Mas, para começar, isso é o suficiente para explicar por nós mesmos.
‫Portanto, queremos negociar um arquivo de imagem.
‫E para fazer isso, vamos salvá-lo em uma variável chamada imagem.
‫E se lermos o carregamento de imagens agora, você pode fazer isso para outros tipos de dados gravar.
‫Há dados de texto ali.
‫Há esse quadro de dados numpties ESV Mas lendo por lá, vemos que podemos ir para Eyo para entrada,
‫saída, arquivo de leitura.
‫Aqui vamos nós.
‫O que esse sinal lê e mostra todo o conteúdo do nome do arquivo de entrada?
‫Bem, isso faz sentido, retorna um Tenzer do tipo string.
‫Lindo.
‫Vamos fazer o caminho da imagem, mas não acredite apenas na minha palavra.
‫O que faremos é e eu quero que você adote essa prática também, se você vir uma
‫função que não tem certeza do que ela faz, reescreva-a linha por linha.
‫Então, vamos verificar isso.
‫Iremos para Tensas igual a dois depois de ler o arquivo lido e, em seguida, precisamos que um caminho de imagem seja os nomes dos arquivos.
‫Tenho vinte e seis anos, então teremos quatro nomes.
‫Vinte e seis.
‫E como é isso?
‫Oh, então é a forma de uma corda.
‫E então um monte de personagens que eu não entendo, mas isso está certo porque o computador os
‫entende melhor do que eu.
‫Então o que é feito é apenas pegar o nome do arquivo e transformar o conteúdo em.
‫Este longo, Tenzer, maravilhoso, então o próximo passo é acender para ler o arquivo, salvá-lo na imagem.
‫Sim, transforme nossa imagem em um jpeg em tempos.
‫OK, então vamos fazer isso.
‫Transforme a imagem JPEG em tensor numérico com três canais de cores.
‫Chuva vermelha.
‫Azul.
‫E novamente, verificando as imagens de carregamento, a documentação, estamos reutilizando essa variável aqui.
‫Agora vamos redefini-lo para teft ou decodificação de pontos de imagem, veja como temos algumas opções aqui vamos para PNG, que é o
‫tipo de arquivo de imagem que usaremos JPEG porque nossas imagens estão em JPEG imagem e depois
‫passamos a variável.
‫Canais, os canais indicam o número de canais desejado para a imagem decodificada no nosso caso, queremos três, quatro
‫vermelhos, verdes e azuis.
‫Lindo.
‫Agora, novamente, se quisermos verificar exatamente o que isso está fazendo, vamos pegar o Tenzer e ir atrás de uma
‫imagem até o código.
‫JPEG terá Tensas e então iremos para canais iguais a três.
‫Oh, olhe para isso.
‫Você tem exatamente o mesmo tipo de dados que temos aqui.
‫Maravilhoso.
‫Tudo bem.
‫Agora, para economizar tempo, vamos escrever mais algumas linhas nesta função, mas
‫não passaremos pelas etapas semelhantes.
‫Isso é o que eu quero.
‫Eu quero que você pratique.
‫Se você faz, digamos, uma função e está curioso para saber o que ela faz.
‫Experimente escrever linha por linha e veja o que acontece.
‫Então, você só vai ter que confiar em mim o que essas linhas fazem.
‫Portanto, converta os valores do canal de cores.
‫Portanto, isso é chamado de normalização.
‫Vou escrever o código primeiro e, em seguida, falar sobre ele de zero a 255 a
‫zero a um valores, portanto, queremos ir imagem igual a pós-imagem converter imagem tipo D imagem para flutuante 32.
‫Agora, o que uma doutrina diz aqui, converta a imagem em Daytop escalando seus valores, se necessário.
‫Espera-se que as imagens representadas com valores de ponto flutuante tenham valores na faixa de zero
‫um.
‫Maravilhoso.
‫Agora você deve estar pensando como.
‫Como você sabe disso, Daniel?
‫Como você sabe que deve convertê-lo de zero a 255 para entre zero e um?
‫Bem, na verdade, eu menti.
‫Eu disse que não iríamos olhar para isso, mas este é um bom para investigar.
‫Só para você ver, temos valores entre zero e 255 e agora.
‫Vou executar isso, oh, não, eu realmente não quero isso, uh, me bagunçando aqui, execute novamente.
‫Execute novamente.
‫Então, eu só quero demonstrar o que isso está fazendo.
‫Portanto, converta a imagem.
‫Basicamente, tudo o que ele faz é converter nossos valores, dimensioná-los em vez de estar entre zero e 255, eles agora
‫estão entre zero e um com a mesma escala.
‫Float 32.
‫Oh.
‫Topflight 32.
‫Maravilhoso.
‫Portanto, temos a mesma forma, mas agora em vez de estar entre zero e 255, eles estão entre
‫zero um e agora este tipo de processo torna a computação mais eficiente.
‫Isso é o máximo que você precisa saber.
‫É chamado de normalização.
‫E, novamente, isso vem direto das imagens de carregamento e da documentação.
‫Agora, o que devemos fazer?
‫Na verdade, não acho que demos um passo aqui para isso.
‫Eles podem ter que colocar para normalizar nossa imagem, converter para valores de canal de zero a 255 a zero a um.
‫Eu tenho cinco, seis, OK, agora, finalmente, podemos redimensionar a imagem agora, acredito que você confia em mim e no que essa linha
‫fará.
‫Portanto, não vamos digitar.
‫Vou deixar isso para vocês dois.
‫Vinte e quatro a vinte e quatro para basicamente um quadrado.
‫Exatamente.
‫Um quadrado, na verdade.
‫Redimensionar ponto da imagem.
‫Recursos, imagens para dimensionar usando o método especificado.
‫OK, agora queremos redimensionar a imagem e o tamanho será hip.
‫Espere, agora você vê porque definimos isso aqui, talvez se escrevêssemos essa
‫função um pouco melhor, poderíamos importar o tamanho da imagem como tamanho da imagem.
‫Provavelmente é um pouco melhor.
‫Maravilhoso, e agora você obterá esse tipo de prática ao começar a escrever suas próprias funções na primeira vez que
‫escrever uma função e provavelmente será muito ruim, muito terrível.
‫Mas então, quando você começar a descobrir qual é o seu fluxo de trabalho, você começará a entender como escrever
‫uma função melhor.
‫Agora podemos devolver a imagem.
‫Então, o que isso é feito?
‫Fez exatamente o que acabamos de dizer, leva um caminho de imagem e um tamanho de imagem, podemos definir isso
‫aqui.
‫Ele lê no arquivo de imagem o nome do POV Beautiful.
‫Ele transforma o JPEG em Tenzer numérico, então estamos apenas convertendo em um Tenzer com três canais de cores vermelho, verde e
‫azul, porque essa é a convenção para a maioria dos modelos de imagem de aprendizado profundo.
‫Eles querem vermelho.
‫Eu disse não leia que isso é uma coisa ruim.
‫Ler é uma coisa ótima.
‫Em seguida, convertemos os canais de cores de zero a 255 para valores de zero a um e, finalmente, redimensionamos a imagem para
‫o valor desejado.
‫Agora escrevemos em uma função.
‫Então, o que é bonito é que podemos usar isso mais tarde.
‫Isso é o que eu costumava fazer, certo?
‫Eu costumava percorrer essas linhas de código sempre que queria processar uma imagem, um fluxo de trabalho terrível,
‫então podemos realmente removê-las.
‫Lembre-se, se você quiser verificar o que a função está realmente fazendo, divida linha por linha, envie um texto
‫de caminho de imagem como entrada e veja o que o resto faz.
‫Agora, acho que é o suficiente para este vídeo.
‫Temos nossa função criada, pronta para pré-processar algumas imagens.
‫Bem, poderíamos fazer agora de novo, se lêssemos o fluxo intensivo de carregamento de dados.
‫Eu acho que é esse.
‫sim.
‫De volta por aqui, há uma pequena seção aqui que tende a fluir, gosta de ver as coisas
‫na forma de lotes.
‫Então, vamos descobrir quais são os lotes no próximo vídeo.