Darkflow: AssertionError: espere 64701556 bytes, encontrado 180357512

Criado em 12 mai. 2017  ·  27Comentários  ·  Fonte: thtrieu/darkflow

Desculpe se isso não é um problema e sim eu! Eu recebo o seguinte erro quando executo este comando:
./flow --model cfg/tiny-yolo.cfg --load bin/yolo-tiny.weights

/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolo-tiny.cfg não encontrado, use cfg/tiny-yolo.cfg em vez disso
cfg_path, FLAGS.model))
Analisando cfg/tiny-yolo.cfg
Carregando bin/yolo-tiny.weights ...
Traceback (última chamada mais recente):
Arquivo "./flow", linha 45, em
tfnet = TFNet(BANDEIRAS)
Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/net/build.py", linha 55, em __init__
darknet = Darknet(BANDEIRAS)
Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", linha 27, em __init__
self.load_weights()
Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", linha 82, em load_weights
wgts_loader = loader.create_loader( args)Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", linha 105, em create_loaderreturn load_type(caminho, cfg)Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", linha 19, em __init__self.load( args)
Arquivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", linha 77, em carregamento
walker.offset, walker.size)
AssertionError: espere 64701556 bytes, encontrado 180357512

Além disso, como sou novo em aprendizado de máquina, você me indicaria algum bom artigo sobre como criar um novo arquivo cfg e como gerar um arquivo de peso do zero, não consigo encontrar isso online!

Comentários muito úteis

Ei @conjuringjha , eu tive o mesmo problema, mas resolvi apenas subtraindo o valor encontrado (no seu caso 180357512) ao valor esperado (no seu caso 64701556). Suponha que o resultado seja "X".
Agora abra seu arquivo ./darkflow/utils/loader.py e encontre a linha 121. Então você verá uma variável "self.offset" com um determinado valor atribuído (16 ou 20). Vamos supor que o valor seja igual a "Y".
Atualize o valor de self.offset=Y+X

Eu espero que isso te ajude !

Todos 27 comentários

Parece que há uma inconsistência entre seu arquivo .cfg .weigths file. Tente carregar pesos diferentes ou configuração diferente.

Tente este:
./flow --model ./cfg/tiny-yolo-voc.cfg --load ./bin/tiny-yolo-voc.weights ...

Obrigado pessoal, vou tentar sua sugestão no final desta semana - eu vou deixar você saber como foi.

Parece haver muita confusão em relação à correspondência entre o arquivo .cfg e .weights , sempre que a darknet atualiza novas configurações e descarta as antigas, bem como seu binário .weights . As configurações estáveis ​​que eu conheço usam .cfg neste repositório e .weights carregados no google drive (veja README).

@thtrieu , no link abaixo clique aqui [google drive], onde você carregou os pesos, não consigo obter o arquivo .cfg correspondente para yolo-tiny.weights. O presente em cfg/tiny-yolo.cfg não funciona com isso. Estou recebendo o mesmo erro mencionado neste tópico.
Agradeceria sua ajuda!
Obrigado!

Estou com o mesmo erro, alguém conseguiu resolver??
Obrigado!

ja resolvi!!!
Baixe aqui o arquivo .cfg e .weights!!!

Também estou com o mesmo erro, alguém conseguiu resolver??

Sim, resolvi, você deve baixar daqui o arquivo .cfg e .weights!!!
Modifique seu arquivo .cfg na pasta cfg

Ainda tenho um erro. Baixei os arquivos para tiny yolo (tanto cfg quanto pesos), alterei a configuração para rodar com 3 classes e adicionei os nomes das classes a labels.txt . Eu recebo o erro AssertionError: Over-read ./tiny-yolo.weights . Como faço para contornar isso? Desde já, obrigado!

preste atenção, eu usei cocos.name para preencher label.txt
@goodhamgupta veja esta edição #80

O problema ainda existe. Infelizmente, o modelo e o peso não são adequados um para o outro. Tentei baixá-lo do site https://pjreddie.com/darknet/yolo/ Tiny YOLO baseado em COCO trainval .
A solução sugerida por @evgkarasev - escolha outro modelo e peso com base em VOC 2007+2012 funciona para mim

Eu estava correndo para este "AssertionError" também. Pelo que entendi, isso acontece quando você altera o arquivo cfg (ou seja, o número da classe) e usa pesos que foram criados para o arquivo cfg original. É por isso que você obtém os bits diferentes ao executar o fluxo.

O erro que estava cometendo foi reescrever o arquivo cfg original com minhas novas classes e números de filtro. No darkflow, leia-me, menciona "É crucial que você deixe o tiny-yolo-voc.cfg original".

Então o que eu fiz desde que eu estava trabalhando com 2 class eu copiei o arquivo tiny-yolo-voc.cfg e o renomeei para tiny-yolo-voc-2c.cfg e fiz as alterações na classe e filtro nesta nova cópia. Então, quando comecei a treinar com o fluxo, fiz referência à cópia após --model e funcionou para mim.

Quando ele começa a treinar, noto que ele faz referência a ambos os arquivos cfg ao analisar.

Espero que isto ajude.

@mkuko Você pode dizer o comando

@deepkshikha
Certo,

flow --model cfg/tiny-yolo-voc-2c.cfg --load bin/tiny-yolo-voc.weights --train --annotation (caminho para minha pasta de anotações) --dateset (caminho para minha pasta de imagens)

Eu corro este comando com tiny-yolo-voc.cfg (o arquivo original) e tiny-yolo-voc-2c.cfg na pasta cfg.

@mkuko Obrigado
Eu segui a instrução, deixei o arquivo cfg inalterado e criei um novo cfg alterando o número da classe e o número do filtro ainda não funcionando para mim. Tem mais alguma coisa que você fez??

@deepkshikha
Eu não acredito que eu fiz qualquer outra coisa para corrigir esse problema.

Talvez eu ou outra pessoa aqui possa ajudar, você pode postar o comando que está digitando e o erro que está recebendo?

@thtrieu de acordo com sua sugestão, emparelhei os pesos mencionados na unidade com os arquivos .cfg correspondentes no repositório, mas recebo o AssertionError: espere 64701556 bytes, encontrei 180357512. Antes disso, tentei os pesos (recentemente baixados / atualizados) e .cfg pares do site oficial, mas me deparei com o mesmo erro.

Usei o comando de fluxo básico, aquele sem alterações no arquivo .cfg ou label.txt.

Existe algum par peso-cfg no mundo que ainda esteja funcionando...???

Ei @conjuringjha , eu tive o mesmo problema, mas resolvi apenas subtraindo o valor encontrado (no seu caso 180357512) ao valor esperado (no seu caso 64701556). Suponha que o resultado seja "X".
Agora abra seu arquivo ./darkflow/utils/loader.py e encontre a linha 121. Então você verá uma variável "self.offset" com um determinado valor atribuído (16 ou 20). Vamos supor que o valor seja igual a "Y".
Atualize o valor de self.offset=Y+X

Eu espero que isso te ajude !

Olá;

A proposta de @ThierryBayala resolveu meu problema; Muito obrigado.

eu tive:

AssertionError: espere 63102556 bytes, encontrado 63471556

eu fiz 63471556-63102556=369000

então eu mudei a linha 121 para: self.offset=Y+369000

@ThierryBayala Muito obrigado. Resolveu meu problema também.

Oi,
Instalei o Darkflow globalmente e não tenho ideia de onde posso encontrar o " ./darkflow/utils/loader.py"
mesmo tempo, não consigo encontrar essa pasta no clone "darkflow" recente.
Eu sei que o problema é o arquivo cfg e weight que não está combinando, porque depois de tentar vários CFGs e WEIGHTs, encontrei a correspondência adequada.
MAS MAS eu me pergunto como? enquanto o CFG e o Peso que usei em primeiro lugar foram do " https://pjreddie.com/darknet/ " que eles forneceram originalmente.
Então, onde está o problema?!
@ThierryBayala
@KHDOUDI
@ambr89

@ Ata1362 Li em algum lugar que os pesos em pjreddie.com estão sendo treinados continuamente, o que causa a incompatibilidade com os arquivos CFG.

Obrigada,
Então, como podemos encontrar a incompatibilidade entre o arquivo CFG e Weights e corrigi-la?
Não podemos esperar até que alguém acidentalmente ou depois de combinar muitos CFGs,
encontra o adequado e compartilha conosco.

Em domingo, 12 de maio de 2019 às 20h46 Matt P [email protected] escreveu:

@Ata1362 https://github.com/Ata1362 Li em algum lugar que os pesos
em pjreddie.com estão sendo continuamente treinados, o que causa a incompatibilidade
com os arquivos CFG.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/thtrieu/darkflow/issues/223#issuecomment-491592661 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AKAIFQNP5URQYAO6FDLY2FTPVAGTPANCNFSM4DLF6APQ
.

@ Ata1362 Eu estava usando o tiny-yolo-voc do site dele, que funcionou corretamente com o tiny-yolo-voc que ele postou aqui: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU

Ei @conjuringjha , eu tive o mesmo problema, mas resolvi apenas subtraindo o valor encontrado (no seu caso 180357512) ao valor esperado (no seu caso 64701556). Suponha que o resultado seja "X".
Agora abra seu arquivo ./darkflow/utils/loader.py e encontre a linha 121. Então você verá uma variável "self.offset" com um determinado valor atribuído (16 ou 20). Vamos supor que o valor seja igual a "Y".
Atualize o valor de self.offset=Y+X

Eu espero que isso te ajude !

Isso funciona para mim também!!!!!!!!!!

Obrigado @ThierryBayala ,

Isso funciona para mim também.

Esta página foi útil?
0 / 5 - 0 avaliações