Como funciona o método de “apagamento aleatório” no PyTorch?

Como Funciona O Metodo De Apagamento Aleatorio No Pytorch



A eficácia da estrutura PyTorch para o desenvolvimento de modelos de aprendizado de máquina complexos e de última geração se deve à sua ampla gama de recursos de aumento e ao “ Apagamento aleatório ”O método é um deles. Como o nome sugere, ele seleciona aleatoriamente uma imagem e remove parte de seus dados para imitar uma situação do mundo real onde são apresentados dados incompletos. Isso melhora a capacidade de um modelo de se adaptar e ter um bom desempenho em situações novas e desafiadoras.

Este blog irá discutir como o “ Apagamento aleatório ”O método funciona no PyTorch.

Por que o método “Random Erasing” é usado no PyTorch?

A remoção aleatória de dados das imagens representa um problema para o treinamento de modelos de análise de imagens porque eles são forçados a se adaptar a dados insuficientes. Isto prepara um modelo para tarefas do mundo real onde os dados completos nem sempre estão presentes. O modelo torna-se muito melhor ao ser capaz de fazer inferências a partir de todos os tipos de dados e conseguir exibir resultados. A seleção de pixels para remoção é aleatória, portanto não há introdução de viés e a imagem resultante é usada como dados de entrada durante o treinamento.







Como funciona o método de “apagamento aleatório” no PyTorch?

O método Random Erasing é usado para tornar um modelo de aprendizado profundo mais bem equipado para lidar com aplicações reais. Siga as etapas abaixo para aprender como usá-lo em seus projetos PyTorch para aumentar o gerenciamento de dados e melhorar os recursos de inferência:



Etapa 1: configurar o IDE colaborativo

O Google Colab é a escolha ideal para o desenvolvimento de modelos de IA usando a estrutura PyTorch. Navegue até o Colaborador local na rede Internet e lançar um “ Novo caderno ”:







Etapa 2: importe as bibliotecas necessárias

Use o ' !pip ”Instalador de pacote fornecido pelo Python para instalar bibliotecas e usar o“ importar ”Comando para importá-los para o projeto:

importar tocha

importar visão da tocha. transforma como ts

de PIL importar Imagem

importar matplotlib. pyplot como plt

A descrição do código fornecido é a seguinte:



  • Importe o “ tocha ”biblioteca usando o“ importar ” comando.
  • O ' torchvision.transformações ”O pacote contém as transformações para Apagamento Aleatório.
  • PIL ”é a biblioteca de imagens python e contém a funcionalidade para processamento de imagens.
  • O ' matplotlib.pyplot ”A biblioteca é usada para visualizar as imagens originais e transformadas:

Etapa 3: faça upload da imagem de entrada

Faça upload da imagem na seção Arquivos:

Em seguida, carregue a imagem de entrada usando o “ abrir() ”Método do módulo “Imagem”:

imagem = Imagem. abrir ( 'a2.jpeg' )

Etapa 4: Especifique a transformação para realizar transformações

Agora, defina um “ Apagamento aleatório ”Transformador que transformará a imagem selecionando sua região retangular aleatória e apagando seus pixels. Além disso, converta a imagem de entrada para o sensor da tocha usando o “ ToTensor() ”Se for uma imagem PIL e, em seguida, converta-a de volta para a imagem PIL por meio do“ ToPILImage() ”:

transformar = ts. Compor ( [ ts. ToTensor ( ) , ts. Apagamento aleatório ( p = 0,5 , escala = ( 0,02 , 0,33 ) , razão = ( 0,3 , 3.3 ) , valor = 0 , no lugar = Falso ) , ts. ToPILImage ( ) ] )

Os parâmetros usados ​​acima “ Apagamento aleatório ”Transformador são explicados abaixo:

  • p: Representa a probabilidade de que a operação de aumento aleatório seja alcançada.
  • escala: Indica o intervalo da área apagada de uma imagem de entrada.
  • razão: Denota a proporção da região apagada.
  • valor: Especifica o valor de apagamento que é “0” por padrão. Se for um único número inteiro, removerá todos os pixels, e se for uma tupla com três números inteiros, removerá os canais R, G e B, respectivamente.
  • no lugar: É um valor “booleano” que torna o transformador de apagamento aleatório fornecido no lugar. Por padrão, é “falso”.

Etapa 5: use a compreensão do dicionário para obter imagens de saída

Use o conceito de compreensão de dicionário para obter as quatro imagens de saída:

imagens = [ transformar ( imagem ) para _ em faixa ( 4 ) ]

Etapa 6: apresente as quatro imagens de saída

Por último, exiba as quatro imagens de saída com a ajuda do bloco de código indicado abaixo:

Figo = plt. figura ( tamanho do figo = ( 7 , 4 ) )

linhas , colunas = 2 , 2

para j em faixa ( 0 , apenas ( imagens ) ) :

Figo. add_subplot ( linhas , colunas , j+ 1 )

plt. mostrar ( imagens [ j ] )

plt. xtiques ( [ ] )

plt. caramba ( [ ] )

plt. mostrar ( )

A descrição do código acima é a seguinte:

  • Aplicar o ' plt.figura() ”Método para plotar as quatro imagens de largura e altura especificadas.
  • Em seguida, especifique linhas e colunas específicas para ajustar as quatro imagens.
  • Depois disso, inicialize um loop “for” que aplica o “ subtrama() ”para definir a subtrama, o método “show()” para mostrar as imagens e o método “ plt.xticks() ' assim como ' plt.yticks() ”Para definir a localização atual do tick e os rótulos dos eixos x e y.
  • Por último, use o “ plt.show() ”Método para imprimir as imagens para saída:

Observação : Os usuários podem acessar nosso Colab Notebook usando o fornecido link .

Dica profissional

Um uso importante do “ Apagamento aleatório ”O método em projetos PyTorch é a segurança. Ele pode ser usado para remover pixels de imagens confidenciais, como aquelas que contêm alguns segredos comerciais ou qualquer outra coisa de valor. A função aleatória específica para esse apagamento seria conhecida apenas pelo usuário original e somente o usuário seria capaz de restaurar as imagens apagadas de volta à sua versão original.

Sucesso! Mostramos como funciona o método de apagamento aleatório no PyTorch.

Conclusão

O ' Apagamento aleatório ”O método no PyTorch funciona removendo pixels aleatórios de uma imagem e imitando um cenário do mundo real para treinar melhor o modelo. Isto tornará o modelo mais apto a lidar com diferentes tipos de dados para tirar inferências de qualidade a partir de dados incompletos. Ilustramos como usar o “ Apagamento aleatório ”Método no PyTorch.