‫Espero que você esteja pronto, porque agora é hora de treinar um modelo com os dados completos.
‫Verificamos que tudo está funcionando passando por verificar nossos modelos, previsões, avaliando-os e indo, sim,
‫nosso modelo está definitivamente aprendendo alguma coisa.
‫Mas, como só o treinamos em mil imagens, vamos ver se podemos treinar um modelo em escala real,
‫como nosso primeiro treinamento de modelo de aprendizado profundo completo em mais de 10.000 imagens.
‫E é aqui que o poder das funções que criamos anteriormente realmente entrará em ação.
‫Então vamos fazer um pequeno rumo para nós mesmos, treinando um modelo, na verdade, vamos chamá-lo de treinar um modelo de
‫cachorro grande.
‫E podemos colocar um pouco de Mojie aqui.
‫Com os dados completos, é o modelo de cachorro grande, porque estamos testando em muitas imagens de cachorros.
‫Eu amo este projeto agora.
‫Código, o que precisamos é lembrar, bem no topo, se não, tudo bem.
‫Vamos dar uma olhada nisso agora.
‫Temos X e Y, Lennix Y, e isso é tudo sobre dados de treinamento.
‫Estes são os nomes dos arquivos e estes são os rótulos.
‫Então, se subirmos aqui, X são todos os nomes de arquivo em andamento.
‫Portanto, se dermos uma olhada no primeiro talvez 10 de X, 10 de X.
‫Esses são todos os nossos nomes de arquivo de imagem de treinamento, nós os dividimos antes em X train, que tem apenas 800 de
‫comprimento.
‫Aqui vamos nós.
‫Então, se dermos uma olhada no trem X.
‫Apenas 800 imagens, então, no momento, nosso modelo treinou apenas em 800 imagens, e se queremos dar uma
‫olhada por que, por que os rótulos estão associados a cada caminho de arquivo?
‫Na forma de Boulin de arroz.
‫Então, o que precisamos fazer para treinar um modelo completo se voltarmos ao nosso Keano, qual é o nosso fluxo de trabalho?
‫Preparar os dados, transformá-los em Tensas?
‫Bem, temos uma função para isso.
‫Você se lembra?
‫Crie lotes de dados.
‫Se não o fizer, está tudo bem.
‫Criamos uma função para isso e escolhemos um modelo que se adapte ao seu problema.
‫Então, nós temos isso.
‫Podemos apenas usar criar modelo e, em seguida, ajustar o modelo aos dados e fazer uma previsão.
‫Vamos dar uma chance.
‫Então, vamos criar um lote de dados.
‫Com o conjunto de dados completo, então é aqui que as funções realmente ajudam, mais tarde em seu bloco
‫de notas, eu disse que valeu a pena para dados iguais criar lotes de dados.
‫Olha só, essa é a nossa função que escrevemos acima, cria dados, lotes de dados de imagem
‫X e pares de rótulo Y, lindamente embaralha os dados se estiver treinando, mas não faz.
‫Bem, isso é um pequeno obstáculo, não podemos ver que também aceita a entrada do testador.
‫Sem rótulos.
‫Então está tudo bem.
‫Estes não são dados de treinamento, então vamos criar um banco de dados de dados completo.
‫Agora vamos dar uma olhada nos dados completos.
‫É um dia ruim para definir lindos com imagens e rótulos, maravilhoso, e se você está se perguntando o que criar patches
‫de dados realmente faz.
‫Vamos voltar imediatamente se dermos uma olhada em nosso índice aqui.
‫O que estamos fazendo?
‫Visualizando lotes de dados?
‫Transforme nossos dados em lotes.
‫Então aqui está nossa grande função, criar lotes de dados, leva X e Y.
‫E aqui está o que está acontecendo, porque é um conjunto de dados de treinamento, criando dados de treinamento, emblemas, transforma
‫X e Y em tempos.
‫Ele os embaralha e, em seguida, mapeia nossa função de processamento de imagem, bem como obtém a função rotulada para os
‫dados.
‫E então transforma os dados em um tamanho de lote de 32.
‫Mas já vimos um vídeo lá.
‫Portanto, se você precisar de uma atualização, volte e confira o vídeo onde criamos esta função.
‫Então, vamos voltar para onde estávamos.
‫Portanto, agora temos nossos dados de volta.
‫Qual é o próximo passo?
‫Bem, precisamos de um modelo.
‫Então, vamos criar um modelo para o modelo completo para model equals create model.
‫Lembre-se do que eu criei a função de modelo.
‫Oh, sem tratamento.
‫Hmm, bem, vamos executá-lo de qualquer maneira.
‫Podemos ir dar uma olhada.
‫Portanto, construir um modelo com rede de imagem TFR dev, rede móvel V2.
‫Portanto, temos um modelo.
‫OK, temos um conjunto de dados em lote e um modelo.
‫Agora, se quisermos verificar o que a criação de modelo faz, onde está a construção de um modelo.
‫Se descermos aqui, esta é a nossa função criar modelo, não tem uma doutrina, talvez seja algo que você
‫possa adicionar.
‫Portanto, crie uma função que construa um modelo de cuidador.
‫Então, o que vai passar é pelas etapas que foram executadas antes de criar um modelo sequencial usando
‫o modelo do qual baixamos tende a seguir o hub e uma camada densa na parte superior para garantir que nossas saídas
‫sejam do mesmo tamanho que os rótulos que temos.
‫Ele vai compilar o modelo com uma função de perda e otimizar, que é nosso amigo Adam, o
‫cara na base da colina, nos contando como descer a ladeira nos campeonatos internacionais de descida de
‫colina e a métrica é precisão é o que nós ' é o que estamos medindo.
‫E então estamos construindo o modelo alimentando a forma de entrada, que é o tamanho da nossa imagem.
‫Maravilhoso.
‫Volte.
‫Então, como podemos treinar isso?
‫Qual é o próximo?
‫O que faremos a seguir?
‫Bem, nós criamos alguns callbacks, então podemos ter que fazer alguns callbacks específicos para nossos modelos.
‫Vamos fazer isso.
‫Vamos criar um modelo completo de callbacks.
‫Modelo total tenso a bordo do ECLSS.
‫Crie um quadro, ligue de volta.
‫Aqui vamos nós.
‫Esta é a nossa função anterior para criar um 10 Bolkovac, lembre-se que o retorno de chamada da placa Tensor nos
‫ajuda a rastrear o desempenho de nosso modelo e compará-lo com outros.
‫E, portanto, não há validação definida ao treinar em todos os dados.
‫Portanto, sem parar o retorno de chamada antecipadamente, não podemos monitorar a precisão da validação, portanto, para nossa parada precoce no retorno de chamada, precisamos de
‫uma parada antecipada do modelo completo.
‫É igual a dois cuidadores, pontos de retorno de chamada, ponto de parada precoce.
‫Pronto, vamos fazer com que ele monitore a precisão quando nosso modelo estiver treinando nos dados
‫do telefone, quando sua precisão parar de aumentar por três épocas.
‫Vamos fazer com que ele pare de treinar para que não se ajuste demais ou vamos tentar evitar que
‫ele se alimente demais.
‫Então mude e entre.
‫Maravilhoso.
‫Parece que temos uma receita para começar a treinar nosso modelo, portanto, ajuste o modelo completo aos dados completos.
‫Então é aqui que podemos ir.
‫Podemos ir para o modelo, não caber.
‫Portanto, estamos apenas chamando o modelo que criamos.
‫O Outfit X é igual aos dados completos.
‫Agora, não há validação definida, lembre-se, porque estamos treinando com os dados completos,
‫as épocas serão 100 ou podem ser apenas NUM épocas porque configuramos Naameh Parks antes e teremos retornos de chamada, que
‫são os dois retornos de chamada que acabamos de criar.
‫Agora, estamos apenas executando exatamente as mesmas etapas que fizemos, treinando um modelo menor, mas desta
‫vez com mais dados.
‫Maravilhoso.
‫E agora vou colocar uma pequena nota aqui para avisá-los e vou
‫falar isso para que você saiba também o funcionamento do celular abaixo vai demorar um pouco, talvez até 30 minutos ou talvez um pouco
‫mais longo.
‫30 minutos para a primeira época, porque a GPU que estamos usando e o tempo de execução precisam carregar todas as imagens
‫na memória.
‫Então, o primeiro aeroporto, lembre-se, com nosso modelo menor em mil imagens, o primeiro Depok levou alguns minutos,
‫talvez três ou quatro minutos, como você pode imaginar, porque este está no conjunto de dados
‫completo.
‫É um treinamento com 10.000 imagens.
‫Portanto, vai demorar um pouco mais para carregar todos os dados do primeiro APOC.
‫Portanto, antes de executarmos isso, contanto que todos os códigos estejam corretos, na verdade, ele pode sair do ar.
‫É por isso que, em vez de experimentar todos os dados desde o início, garantimos que tudo funcione, porque ao treinar
‫uma máquina completa, o modelo de aprendizado ou de aprendizado profundo é completo.
‫Pode levar um bom tempo e, como temos muita sorte aqui, o treinamento será feito em uma hora
‫porque estamos usando uma GPU.
‫Mas você pode imaginar que, se estiver trabalhando em uma empresa maior, poderá deixar algo em treinamento por
‫uma semana.
‫É por isso que você quer ter certeza de que, ao configurar experimentos, imagine treinar um modelo de
‫aprendizado profundo por uma semana inteira e então descobrir que não estava funcionando.
‫É por isso que seguimos todas as etapas acima para ter certeza de que tudo está funcionando.
‫Portanto, antes de treinarmos um modelo massivo, podemos ter certeza, OK, as coisas estão no lugar.
‫Vamos começar uma rodada de treinamento completa.
‫Então você está pronto.
‫Estamos prestes a treinar nosso primeiro modelo completo de aprendizado profundo em mais de 10.000 imagens.
‫A visão do cão está realmente se tornando uma realidade.
‫Aqui comigo, turno de três para um e entrar.
‫Dedos cruzados, espero que isso funcione, devemos ver uma pequena barra de carregamento surgindo e, como definimos o
‫número de épocas como 100, ele continuará treinando por até 100 épocas.
‫Mas se ele parar de melhorar, temos nosso modelo completo de callback de parada antecipada que vai parar
‫no treinamento mais cedo e então podemos verificar os resultados usando a placa Tensor após sua conclusão.
‫Então, vamos apenas esperar que isso comece e, em seguida, o que provavelmente farei é pausar este vídeo porque vai demorar cerca
‫de meia hora.
‫Vou fazer uma pequena pausa.
‫Talvez você pudesse dar uma pequena caminhada pelo chillout.
‫Oh.
‫Talvez demore um pouco mais de meia hora.
‫Desta vez, devo descer, a menos que meu teste esteja incorreto.
‫Mas espere alguns segundos e então voltarei a este vídeo assim que o modelo parar.
‫Assim, uma vez que o modelo interrompe antecipadamente o modelo completo, a interrupção antecipada do retorno de chamada é ativada.
‫OK, então vou deixar isso rodar pelo tempo que for necessário.
‫Voltarei assim que meu modelo parar, graças à parada mais cedo e voltar a ligar.
‫Então, vejo você em alguns segundos.
‫Mas para mim, vai demorar algumas horas no futuro.
‫Talvez seja um par de horas no seu futuro também.
‫E estamos de volta.
‫Tudo bem, então vamos dar uma olhada em nosso modelo totalmente treinado.
‫Como você pode ver, minha primeira época demorou bastante e na verdade vai demorar um pouco se você terminar isso,
‫se você já tiver passado por isso.
‫Você precisa se dar um tapinha nas costas, porque isso é como um rito de
‫passagem, treinar sua primeira extremidade e uma rede neural de aprendizado profundo e isso leva muito tempo.
‫Uma das coisas que você terá que descobrir quando se tornar um cientista de
‫dados, um engenheiro de aprendizado de máquina, é maneiras de passar o tempo enquanto seu modelo treina.
‫Então, fui passear com meus cachorros porque este demorou um.
‫Quantos segundos são?
‫Então, quatro mil setecentos e trinta dividido por sessenta e setenta e oito minutos.
‫Então, falta pouco mais de uma hora para fazer a primeira época.
‫Mas como eu disse, depois que as imagens são carregadas na memória do GPS, verifique a velocidade com que fica depois disso.
‫E o que você provavelmente vai querer fazer é enquanto esta célula está rodando, eu
‫deveria ter te falado isso antes, mas você pode tomar nota para o futuro, pois esta célula está rodando, você quer
‫ter um modelo salvo rodando assim .
‫Assim que seu modelo parar de treinar, graças à parada antecipada, nossa parada antecipada liga novamente aqui.
‫Ele vai chamar automaticamente nossa função salvar modelo e salvar nosso modelo completo em nosso diretório de modelos.
‫Agora vamos subir aqui e dar uma olhada nos modelos.
‫Oh, eu tenho alguns aí.
‫Então, vamos ver, será aquele com o.
‫Lá vamos nós, imagem completa definida nele, 2 de fevereiro e eu comecei por volta das 17h00. m. Portanto, desta vez é realmente
‫errado para mim porque não tenho certeza.
‫Talvez o horário do encontro esteja errado para mim.
‫Mas lá vamos nós.
‫Isso está salvo.
‫Aqui temos nosso caminho.
‫Agora podemos dar uma olhada, nosso modelo acabou indo muito bem.
‫Olhe para isso.
‫Isso é precisão de treinamento.
‫Mas sou um pouco cético aqui.
‫Você sabe porque?
‫Porque não estamos validando isso.
‫Este é apenas um treinamento modelo nos dados de treinamento completos.
‫Então vamos vir aqui.
‫Está treinando em todas as imagens neste trem para X e Y.
‫Portanto, não podemos realmente testar em um conjunto de validação, mas o que podemos fazer é importar o conjunto de dados de teste que
‫baixamos originalmente do Kagle.
‫Aqui vamos nós, o arquivo de teste e podemos importá-los, transformá-los em um monte de dados e então usar nosso modelo para
‫fazer previsões e enviá-los para Kagle.
‫Como?
‫Porque eles são assim que nosso modelo está salvo.
‫Vamos testar nossa função de modelo de carga.
‫Então, carregado para o modelo é igual ao modelo de carga.
‫Vamos apenas copiar esta parte aqui.
‫OK, eles estão carregando o modelo completo.
‫E se copiarmos esta linha aqui.
‫Pegar.
‫Bem, não queremos colocá-lo lá.
‫Queremos colocá-lo aqui como uma string.
‫Vamos verificar isso.
‫Maravilhoso.
‫Isso está passando, é isso que procuramos.
‫Portanto, mais uma vez, estamos recebendo os avisos de que a documentação diz que pode ser ignorado.
‫Tudo bem.
‫Agora, o que vem a seguir?
‫Bem, acho que agora que temos um modelo totalmente treinado em todas as mais de 10.000 imagens, acho que vemos como
‫fazer algumas previsões no conjunto de dados de teste.
‫Então, vamos fazer isso no próximo vídeo.