“UserWarning: Não foi possível recuperar uma entrada. Pode ser porque um trabalhador morreu. Não temos informações sobre a amostra perdida. ”

11

Durante o modelo de treinamento, recebi o aviso "UserWarning: Não foi possível recuperar a entrada. Pode ser que um trabalhador tenha morrido. Não temos informações sobre a amostra perdida.)", Depois de mostrar esse aviso, o modelo inicia o treinamento. O que esse aviso significa? É algo que afetará meu treinamento e eu preciso me preocupar?

Rahul Anand
fonte

Respostas:

8

Este é apenas um aviso do usuário que geralmente será lançado quando você tentar buscar as entradas e os alvos durante o treinamento. Isso ocorre porque um tempo limite é definido para o mecanismo de fila que será especificado dentro dodata_utils.py .

Para mais detalhes, você pode consultar o data_utils.pyarquivo que estará dentro dokeras/utils pasta.

https://github.com/keras-team/keras/blob/master/keras/utils/data_utils.py

Lakshmi - Intel
fonte
Então, você poderia explicar mais sobre isso? O mesmo erro que ocorreu.
Benchur Wong
2

Recebi o mesmo aviso ao treinar um modelo no Google Colab. O problema foi que tentei buscar os dados do meu Google Drive que havia montado na sessão Colab. A solução foi mover os dados para o diretório de trabalho da Colab e usá-los a partir daí. Isso pode ser feito simplesmente via!cp -r path/to/google_drive_data_dir/ path/to/colab_data_dir no notebook. Observe que você precisará fazer isso sempre que uma nova sessão Colab for criada.

Este pode ou não ser o problema que Rahul estava perguntando, mas acho que isso pode ser útil para outras pessoas que enfrentam o problema.

mjkvaak
fonte
1
Estou usando meu Google Drive como armazenamento. Onde mais eu colocaria isso? A Colab usa o Google Drive como disco rígido, certo?
Anshuman Kumar
Você poderia explicar mais sobre 'path / to / colab_data_dir'
Benchur Wong
Desculpe, pensei que já tinha respondido à primeira pergunta. O AFAIK, que abre uma sessão do Google Colab, gera uma máquina virtual na qual você pode montar seu Google Drive. No entanto, a montagem não é física (rápida), mas os arquivos precisam ser transferidos pela Internet (lenta). É essa transferência de arquivo que causará um gargalo. Para evitar isso, é melhor copiar os arquivos do Drive fisicamente para a unidade da sessão Colab (qualquer pasta que você preferir), após a qual você pode usá-los mais rapidamente.
mjkvaak
0

verifique se o caminho do conjunto de dados que você forneceu está correto apenas .. isso definitivamente ajuda, por exemplo: train_data_dir = "/ content / drive / My Drive / Colab Notebooks / dataset"

joshna rani pothuganti
fonte
0

Enfrentei o mesmo problema ao treinar uma rede neural profunda em minha máquina usando keras, e demorei um pouco para descobrir. As imagens que eu estava carregando usando o

ImageDataGenerator(target_size = (256, 256))

de

keras.preprocessing 

eram de resolução mais baixa, digamos 100 * 100 e eu estava tentando convertê-los em 256 * 256, e aparentemente não há suporte embutido para isso.

Assim que eu corrigi o formato de saída da imagem retornada pelo ImageDataGenerator, o aviso desapareceu.

// Nota: as figuras 100 * 100 e 255 * 255 são apenas para explicação.

Harshad
fonte
0

Você pode reduzir o número de trabalhadores e max_queue_size para resolver problemas.

gongshu huan
fonte
1
Podemos saber por que reduzir o número de trabalhadores e max_queue_size resolverá o problema?
Fernand
0

Recebi esse aviso quando treinava a quantidade de amostras de dados que era menor que o tamanho do lote.

(Na verdade, o treinamento parece ter começado, mas fica paralisado antes mesmo de mostrar a barra de progresso da primeira época.)

nim.py
fonte
0

Se você estiver executando o treinamento na GPU, Warningisso ocorrerá. Você precisa saber que existem dois progressos durante a fit_generatorcorrida.

  1. GPU, trains o IMAGE DATASETS com cada etapa em cada época.
  2. CPU, prepareso IMAGE DATASETS com cada tamanho de lote.

Enquanto isso, são tarefas paralelas. Portanto, se a computação da CPU for menor que a das GPUs, isso Warningocorrerá.

Solução:

Basta definir o tamanho do lote menor ou atualizar a configuração da CPU.

Benchur Wong
fonte