‫OK, ótimo, agora temos uma pequena função auxiliar que não apenas retorna nossas imagens na forma de tempos, faz com que
‫processe as imagens para nós, mas também retorna o rótulo para que possamos recuperá-lo em uma forma
‫de tupla.
‫Então, vamos utilizar isso para escrever outra função que transformará nossos dados, todos os nossos dados,
‫porque isso faz apenas uma amostra.
‫Precisamos de uma maneira de transformar todos os nossos dados em nosso X e Y, nossos dados e rótulos em lotes de tamanho 32.
‫Tudo bem.
‫Agora, vamos escrever isso.
‫Estamos tentando comunicar a nós mesmos em nossos cadernos uma forma de transformar nossos dados em tuplas de tempos.
‫E vamos aqui no formulário.
‫Rótulo da imagem.
‫Vamos fazer uma função para girar todos os nossos dados.
‫X e Y em lotes.
‫Tudo bem, maravilhoso.
‫Agora, novamente, se você está se perguntando de onde veio tudo isso, um ótimo lugar para qualquer tipo de carregamento de
‫dados é ler a documentação.
‫Sei que pode ser um pouco chato às vezes, mas acredite em mim, lendo, mesmo que você não tenha entendido da primeira
‫vez, eu não entendi da primeira vez.
‫Leia, experimente, experimente novamente e veja como vai ser.
‫Um grande cão para uma função.
‫Oh, isso é apropriado porque estamos trabalhando na visão de um cachorro, mas isso vai nos poupar
‫muito tempo mais tarde.
‫Então, vamos fazê-lo.
‫Portanto, precisamos definir o tamanho do bash.
‫Portanto, 32 é um bom começo.
‫Lembre-se, os padrões de fluxo tendem a ser de 30 a muito.
‫Portanto, se você não definir em algum lugar, o padrão provavelmente será 32, mas vamos defini-lo de qualquer maneira.
‫Então, vamos criar uma função para transformar dados em lotes.
‫E agora vamos escrever sobre essa função juntos.
‫E vai fazer algumas pequenas coisas de forma diferente, dependendo se queremos um lote de dados de treinamento, um
‫lote de dados de validação ou um lote de dados de teste.
‫Porque lembre-se, esses são nossos três conjuntos lá, então esses são nossos três conjuntos, então temos um conjunto de treinamento.
‫Vamos nos transformar em um lote de treinamento, um lote de validação e um lote de teste.
‫Direito.
‫Portanto, queremos a morte, criamos correspondências de dados, queremos que ela pegue um X e um Y.
‫E, na verdade, por que não pode haver nenhum.
‫Agora eu quero que você pense sobre por que por que não haveria nenhum?
‫Porque nossos rótulos provavelmente farão sentido e um pouco.
‫Mas pense por que poderíamos criar um lote de dados sem rótulos?
‫Os dados válidos são iguais a falsos e os dados de teste são iguais a falsos.
‫E vamos nos deixar um pouco de medicação aqui.
‫Eu tinha um colega chamado Ron e ele me contou uma técnica chamada patinho de borracha.
‫Ele era um programador muito melhor do que eu, e ele disse, se você está tendo problemas.
‫Descobrir como fazer algo em código, primeiro escreva na linguagem ou diga para si mesmo na linguagem como se
‫estivesse falando com um pato de borracha.
‫E patos de borracha não entendem inglês muito bem, então você tem que deixar isso bem claro como uma ótima dica de
‫Ron.
‫Obrigado, Ron.
‫Portanto, esta função cria lotes de dados a partir dos pares de imagem X e etiqueta Y.
‫Ele embaralha os dados se forem dados de treinamento, então mistura os dados ao redor, porque se houvesse alguma ordem
‫inerente ao arquivo de treinamento que baixamos, provavelmente não porque eles parecem muito confusos.
‫Não queremos que nosso modelo se lembre disso, embora queiramos que seja o mais adaptável possível, não importa a ordem
‫em que a imagem entra.
‫Mas então, se os dados de treinamento forem embaralhados, mas não embaralhados, se forem dados de validação.
‫Agora, quero que você pense sobre por que ele pode não ser embaralhado se forem dados de validação.
‫Não se preocupe, vamos cobrir isso.
‫Mas pense nisso por enquanto.
‫Também aceita dados de teste como entrada.
‫Agora, aqui está porque podemos ser nenhum.
‫Porque os dados de teste não têm rótulos, é claro.
‫Agora.
‫O que queremos fazer é construir uma função que meio que faz a mesma coisa, mas tem algumas causas de Claus ou Iliffe,
‫se são dados válidos ou dados de teste.
‫Então, sabemos o que meio que queremos fazer.
‫E temos algumas condições aqui que são válidas ou dados de teste.
‫Então, vamos começar com um teste de dados, porque acho que é o mínimo de coisas.
‫Portanto, se os dados forem um conjunto de dados de teste.
‫Provavelmente não.
‫Eu definitivamente tinha rótulos ou sabemos que não temos rótulos se for um conjunto de dados de teste, então vamos
‫testar se os dados.
‫Brent, vamos nos avisar um pouco, vou me dar uma ideia do que está acontecendo, classificando
‫os lotes de dados de teste, apenas para ter certeza de que mais tarde, ei, talvez estejamos fazendo alguns lotes de
‫dados e nós Passei acidentalmente um parâmetro falso para os dados de teste e acaba fazendo isso de forma diferente para os dados
‫de teste.
‫Nós não queremos isso.
‫Queremos saber se ele está fazendo lotes de teste.
‫Portanto, os dados são iguais aos dados.
‫O conjunto de dados.
‫Portanto, este é o módulo intensivo, poucos dados que estamos criando essencialmente um conjunto de dados em lote e vamos
‫ver este é um pouco interessante aqui do Tenzer Slices.
‫Assim, cria um conjunto de dados, apenas um conjunto de dados de fluxo tensorial cujos elementos são fatias de dar e tempos.
‫Então, basicamente, o que isso diz é que me passe alguns tempos e criarei um conjunto de dados a partir disso.
‫Um pouco confuso, eu sei, mas é assim que se faz, intensivo, como Tefft, constante X.
‫Então, basicamente, o que isso diz é que vou criar um conjunto de dados de transferência tenso.
‫Dos Segmentadores de Dados Tensas.
‫X e como estamos passando X para a constante TFW, ele transforma X em um Tenzer.
‫Portanto, este é apenas partes do arquivo, sem rótulos.
‫OK, e agora os dados de volta, é aqui que viramos nossa vez de conjunto de dados, porque agora isso transformaria todo
‫o X em um conjunto de dados.
‫Precisamos transformá-lo em um tamanho de lote de 32.
‫Então, é igual a mapa de pontos de dados.
‫Precisamos processar a imagem.
‫E precisamos transformá-lo em um tamanho de lote.
‫Uau, um monte de coisas acontecendo aqui.
‫Daniel, o que está acontecendo?
‫Bem, já falamos sobre a linha acima, mas este aqui tudo o que está dizendo é basicamente pegar esses dados, que são um
‫conjunto de dados intensificado feito de X.
‫Que são apenas nomes de arquivos na forma de tempos e, em seguida, mapear nossas funções de imagem de processo.
‫Veja, é por isso que a colocamos em nossa função para que possamos chamá-la de imagem processada.
‫Ele vai passar por todas essas etapas aqui em nossos nomes de arquivo.
‫Então, ele vai importá-los, transformá-los em tempos normalizados e, em seguida, transformá-los em um lote de tamanho de
‫lote.
‫Vamos aqui.
‫Lote de dados tão intensivo e baixo.
‫Este é o fluxo de trabalho que uso sempre que estou olhando.
‫aFunção, então se voltarmos.
‫Lá vamos nós, Bache.
‫Combina elementos consecutivos deste conjunto de dados em lotes.
‫Aqui vamos nós.
‫Portanto, se passarmos um intervalo de oito e quisermos que seja um lote de três, ele será
‫dividido em três lotes.
‫É exatamente por isso que está em uma nova guia.
‫Isso é o que vai fazer aqui, exceto que é de tamanho 30 a.
‫Maravilhoso.
‫Portanto, são dados de teste.
‫Agora queremos fazer se os dados são um conjunto de dados válido, não precisamos embaralhá-lo.
‫Agora, quero que você pense novamente, por que não precisamos embaralhá-lo?
‫Tudo bem se você não tiver certeza.
‫Eu fui pego nisso muitas vezes também, tão pouca declaração de progresso aqui e então faremos quase o
‫mesmo que isso.
‫Poderíamos apenas copiar isso, mas vamos praticar escrevendo para ter um conjunto de dados de.
‫Dezenas de fatias agora, é aqui que, como o conjunto de validação tem rótulos, vamos postular um par de
‫X e T. F. constante Y.
‫Então, apenas transformar nomes de arquivos e rótulos em tempos.
‫E temos aqui caminhos de arquivo, rótulos.
‫Portanto, agora temos uma transferência tensa, conjunto de dados.
‫De potes e rótulos de arquivo de imagem, por ser um conjunto de dados de validação, o conjunto de dados
‫de validação tem rótulos e vamos transformá-lo em um banco de dados que equivale a mapa de
‫dados, exatamente o mesmo que acima, processando a imagem e transformando-o em um lote de tamanho de lote.
‫OK, puxando o gatilho.
‫Maravilhoso.
‫E, em seguida, retorne os dados de volta.
‫E, finalmente, queremos que nada disso funcione bem, se os dados válidos forem falsos e os dados de teste também forem falsos, obviamente será
‫um lote de treinamento.
‫Então, vamos criar crachás de dados de treinamento no.
‫E vamos lá.
‫Portanto, se for um conjunto de dados de treinamento, queremos embaralhá-lo.
‫Essa é a única diferença aqui.
‫Portanto, queremos transformar os caminhos e rótulos dos arquivos em tempos.
‫Assim como fizemos com a validação, poderíamos apenas copiar isso agora.
‫Provavelmente é uma maneira mais eficiente de escrever essa função que executa a mesma funcionalidade.
‫Mas tentei escrever de uma forma que seja bastante compreensível quanto ao que está acontecendo.
‫Constante e como eu disse isso, eu devo ter dito que é bastante compreensível, mas se você está se
‫deparando com algo assim pela primeira vez, acredite em mim, quando eu vi, eu estava confuso.
‫Mas, uma vez que passei por isso passo a passo, lembre-se de nossa técnica para decompor uma
‫função, escreva linha por linha e verifique o que ela está fazendo em cada linha.
‫Portanto, queremos embaralhar os nomes e rótulos dos caminhos antes do mapeamento.
‫Entraremos nisso em um segundo antes de mapear.
‫A função de processador de imagem é mais rápida do que embaralhar imagens.
‫Vou apenas escrever o código para que possamos conversar sobre isso, mas atualize aleatoriamente.
‫Forsys, suboffices Stancil, quantas variáveis queremos embaralhar que queremos embaralhar todo o lote?
‫Bem, muita coisa está acontecendo aqui.
‫Bem, tudo o que isso quer dizer é, ei, pegue esses dados, que são um conjunto de dados, então os nomes dos
‫arquivos e os rótulos e, em seguida, embaralhe-os e queremos embaralhar o número de exemplos.
‫Se embaralhássemos apenas cem, pegaria os primeiros cem exemplos de X e Y e os embaralharia.
‫Mas não, queremos embaralhar todos eles.
‫E a razão é, você pode dizer, de editoriais embaralhando mais tarde, depois de executarmos a função
‫de mapa, vai para imagem de processo de mapa de dados.
‫Portanto, se você embaralhou depois de já ter processado a imagem, leva muito mais tempo para embaralhar uma imagem inteira do
‫que apenas um nome de arquivo.
‫Então, como eu disse, lembre-se, estamos tentando minimizar o tempo entre os experimentos, então queremos tentar e obter qualquer
‫velocidade para que possamos.
‫Acabei de perceber que cometemos um pequeno erro aqui.
‫Em nosso conjunto de dados de validação, porque temos.
‫Imagens e rótulos, precisamos mapear a função, obter um rótulo de imagem, que também processa nossa imagem,
‫enquanto para nosso conjunto de dados de teste, como não temos rótulos, podemos executar diretamente a função de imagem
‫processada.
‫Então, vamos substituir esse rótulo de imagem e ele será o mesmo.
‫Para nosso conjunto de dados de treinamento, obtenha um rótulo de imagem maravilhoso e podemos apenas escrever o que isso está fazendo com
‫um pequeno comentário.
‫Portanto, crie o rótulo de imagem do Tuttle.
‫Isso também transforma o caminho da imagem em uma imagem pré-processada.
‫Então, se você puder.
‫Misture seus dados quando estiverem em seu menor formato, a. k. uma. em nosso caso, nomes
‫de arquivo em vez de imagens completas e, agora, finalmente, queremos transformar os dados de treinamento em lotes.
‫Portanto, o lote de dados é igual ao lote de dados.
‫Esse tamanho, e aí a gente sai daqui, volta.
‫Dana Bash.
‫Wolf, essa função é um pouco gigantesca, mas como eu disse, isso vai nos poupar muito tempo
‫mais tarde e você verá isso.
‫Lembre-se, esse é o tipo de estilo de trabalho de desenvolvimento que quero que você comece a
‫pensar, como vou reutilizar algumas funcionalidades mais tarde?
‫Bem, se eu for, vou montá-lo em uma função.
‫E provavelmente você já sabe disso porque é um desenvolvedor muito mais inteligente do que eu.
‫Eu costumava apenas tagarelar e escrever as coisas linha por linha.
‫Agora vamos testar nossa função criando os lotes de dados de treinamento e validação.
‫Então vamos treinar dados.
‫Vamos usar a função de cachorro grande logo acima.
‫Vamos passar no treinamento X para os dados de treinamento e treinar para os dados de validação e isso é tudo de que
‫precisamos.
‫E então, para os dados válidos, podemos criar lotes de dados, valor X, valor Y.
‫São dados válidos?
‫É igual a verdade.
‫E agora, dedos cruzados, devemos ver.
‫Nossas mensagens de progresso de impressão.
‫Oh, sim, isso é incrível.
‫OK, agora vamos verificar os diferentes atributos de nossas correspondências de dados.
‫Portanto, se formos treinar os dados, eles agora estão no formato de um lote de dados, que é dez em relação à forma preferida de Flo de
‫processar as coisas.
‫Aqui vamos nós.
‫Estes são os nossos dados de treinamento, o primeiro aqui.
‫O que está dizendo?
‫Então você tem forma nenhum, dois, dois, quatro, dois, dois, quatro, três.
‫Esta é a nossa imagem.
‫Nenhum é para o tamanho do lote.
‫Eu sei que já dissemos isso para trinta e dois, mas vai ficar como nenhum porque o tamanho do lote, lembre-se,
‫é flexível.
‫Portanto, estas são apenas as nossas imagens, agora em lotes de trinta e dois e têm uma forma de dois a quatro, dois, dois
‫para três canais de cores de peso de altura do tipo flutuar trinta e dois.
‫E nós temos alguns aqui de nossa gravadora.
‫Portanto, esses são pares de rótulos de imagem na forma de tempos e nossos rótulos também têm um formato de lote de nenhum porque o
‫tamanho do lote é flexível.
‫E eles têm uma dimensão de cento e vinte, porque se formos, porque zero?
‫Existem 120 raids de cães diferentes e, em seguida, é o mesmo novamente para os dados de validação.
‫Lindo.
‫Então essa foi bem aprofundada.
‫Assim que este vídeo terminar, o que acontecerá em alguns segundos, eu voltaria e apenas leria o
‫que está acontecendo nesta função aqui.
‫Se você não tiver certeza, eu procuraria dados de carregamento e pré-processamento, tutorial de imagens,
‫leria isso, e então a melhor maneira de aprender é realmente apenas escrever, decompor a
‫função e tentar executar linha por linha.
‫É assim que decompõe as coisas por mim mesmo.
‫Mas do jeito que nossos dados estão no momento, ainda é meio difícil de entender se você é novo no conceito
‫de lotes.
‫Provavelmente é um conceito muito difícil de entender.
‫É perfeitamente normal não saber o que está acontecendo agora.
‫Então, para nos ajudar a entender, ao invés de apenas ter este gobbledygook sendo impresso, quando estamos
‫tentando verificar o que está em nossos lotes de dados, vamos escrever uma função que vai nos
‫ajudar a visualizar o que está acontecendo.
‫Então é isso que faremos no próximo vídeo.