Colab Alquimia Notas
termo comum
epoch
、batch
、batch size
、iteration
1 iteração
O número de iterações é
o número de tempos de propagação para frente e para trás de um lote (geralmente os dados após uma execução)
2 época
Quando um conjunto de dados completo é iterado pela rede neural e retornado uma vez, ele é chamado de época.
No entanto, quando uma época é muito grande para o computador, ela precisa ser dividida em vários pequenos pedaços.
3 lote
Tamanho do lote
Quando os dados não podem passar pela rede neural de uma só vez, é necessário dividir o conjunto de dados em vários lotes.
3 tamanho do lote
Compreensão intuitiva
O número total de amostras em um lote (o número de amostras selecionadas para um treinamento)
O tamanho do tamanho do lote afeta o grau de otimização e a velocidade do modelo. Ao mesmo tempo, afeta diretamente o uso da memória da GPU. Se a memória da sua GPU não for grande, é melhor definir esse valor para ser menor.
A razão para o tamanho do lote é que,
antes do tamanho do lote ser usado, isso significa que, quando a rede está treinando, todos os dados (todo o banco de dados) são inseridos na rede de uma só vez e, em seguida, seus gradientes são calculados para retropropagação. Como o gradiente é calculado usando todo o banco de dados, a direção do gradiente calculada é mais precisa. No entanto, neste caso, os valores de gradiente calculados variam muito e é difícil usar uma taxa de aprendizado global. Portanto, neste momento, um algoritmo de treinamento baseado em símbolos de gradiente como Rprop geralmente é usado para atualizar o gradiente separadamente .
Em bancos de dados com tamanhos de amostra pequenos, é viável não usar o Batch Sie, e o efeito também é muito bom. Mas, uma vez que é um banco de dados grande, inserir todos os dados na rede de uma vez definitivamente causará uma explosão de memória. Portanto, o conceito de Batch Size é proposto.Vantagens
quando o tamanho do lote é definido adequadamente
1. Melhorar a utilização da memória através da paralelização. É fazer com que sua GPU funcione com carga total o máximo possível para aumentar a velocidade de treinamento.
2. O número de iterações de uma única época é reduzido e o ajuste de parâmetros também é lento. Se você deseja obter o mesmo reconhecimento precisão, você precisa de mais épocas.
3. O tamanho apropriado do lote torna a direção da descida do gradiente mais precisa.
Comandos comuns
Exibir informações da placa gráfica
!/opt/bin/nvidia-smi
Linha de comando
%%shell
python src/finetune.py
!ls
!git clone https://github.com/