Darkflow: AssertionError: esperar 64701556 bytes, encontrado 180357512

Creado en 12 may. 2017  ·  27Comentarios  ·  Fuente: thtrieu/darkflow

¡Disculpe si esto no es un problema y más bien yo! Recibo el siguiente error cuando ejecuto este comando:
./flujo --model cfg/tiny-yolo.cfg --load bin/yolo-tiny.pesos

/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolo-tiny.cfg no encontrado, use cfg/tiny-yolo.cfg en su lugar
cfg_path, BANDERAS.modelo))
Analizando cfg/tiny-yolo.cfg
Cargando bin/yolo-tiny.pesos ...
Rastreo (llamadas recientes más última):
Archivo "./flow", línea 45, en
tfnet = TFNet(BANDERAS)
Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/net/build.py", línea 55, en __init__
redoscura = redoscura(BANDERAS)
Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", línea 27, en __init__
self.load_weights()
Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", línea 82, en load_weights
wgts_loader = cargador.create_loader( argumentos )Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", línea 105, en create_loadervolver load_type(ruta, cfg)Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", línea 19, en __init__self.load (argumentos )
Archivo "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", línea 77, en carga
andador.desplazamiento, andador.tamaño)
AssertionError: esperar 64701556 bytes, encontrado 180357512

Además, como soy nuevo en el aprendizaje automático, ¿podría señalarme algún buen artículo sobre cómo crear un nuevo archivo cfg y cómo generar un archivo de peso desde cero? ¡No puedo encontrar esto en línea!

Comentario más útil

Hola @conjuringjha , tuve el mismo problema pero lo resolví simplemente restando el valor encontrado (en tu caso 180357512) al valor esperado (en tu caso 64701556). Supongamos que el resultado es "X".
Ahora abra su archivo ./darkflow/utils/loader.py y busque la línea 121. Luego verá una variable "self.offset" con un cierto valor asignado (16 o 20). Supongamos que el valor es igual a "Y".
Actualiza el valor de self.offset=Y+X

Espero que esto ayude !

Todos 27 comentarios

Parece que hay una incoherencia entre el archivo .cfg y el archivo .weigths. Intente cargar diferentes pesos o configuraciones diferentes.

Prueba este:
./flow --model ./cfg/tiny-yolo-voc.cfg --load ./bin/tiny-yolo-voc.pesos ...

Gracias chicos, probaré su sugerencia al final de esta semana. Les dejaré saber cómo va.

Parece haber mucha confusión con respecto a la correspondencia entre el archivo .cfg y .weights , cada vez que darknet actualiza nuevas configuraciones y descarta las antiguas, así como su binario .weights . Las configuraciones estables que conozco usan .cfg en este repositorio y .weights cargados en Google Drive (ver LÉAME).

@thtrieu , en el enlace a continuación, haga clic aquí [google drive], donde cargó los pesos, no puedo obtener el archivo .cfg correspondiente para yolo-tiny.weights. El presente en cfg/tiny-yolo.cfg no funciona con eso. Estoy recibiendo el mismo error que se menciona en este hilo.
¡Agradecería su ayuda!
¡Gracias!

Tengo el mismo error, alguien lo soluciono??
¡Gracias!

he solucionado!!!
Descarga desde aquí el archivo .cfg y .weights!!!

Yo tambien tengo el mismo error, alguien lo ha solucionado??

Si, lo resolví, debes descargar desde aquí el archivo .cfg y .weights!!!
Modifique su archivo .cfg en la carpeta cfg

Todavía tengo un error. Descargué los archivos para tiny yolo (tanto cfg como weights), cambié la configuración para ejecutar con 3 clases y agregué los nombres de clase a labels.txt . Me sale el error AssertionError: Over-read ./tiny-yolo.weights . ¿Cómo soluciono esto? ¡Gracias por adelantado!

presta atención, he usado cocos.name para llenar label.txt
@goodhamgupta ver este problema #80

El problema sigue existiendo. Desafortunadamente, el modelo y el peso no son compatibles entre sí. Traté de descargarlo del sitio https://pjreddie.com/darknet/yolo/ Tiny YOLO basado en COCO trainval .
La solución sugerida por @evgkarasev : elegir otro modelo y peso basado en VOC 2007+2012 funciona para mí

También me encontré con este "AssertionError". Según tengo entendido, sucede cuando cambia el archivo cfg (es decir, el número de clase) y usa pesos que se crearon para el archivo cfg original. Esta es la razón por la que obtienes los diferentes bits cuando ejecutas el flujo.

El error que estaba cometiendo fue que reescribí el archivo cfg original con mis nuevas clases y números de filtro. En el darkflow read me menciona "Es crucial que dejes el tiny-yolo-voc.cfg original".

Entonces, lo que hice, ya que estaba trabajando con 2 clases, copié el archivo tiny-yolo-voc.cfg y lo renombré tiny-yolo-voc-2c.cfg e hice los cambios en la clase y el filtro en esta nueva copia. Luego, cuando llegué a entrenar con flujo, hice referencia a la copia después de --model y funcionó para mí.

Cuando comienza a entrenar, noto que hace referencia a ambos archivos cfg al analizar.

Espero que esto ayude.

@mkuko ¿Puedes decir el comando?

@deepkshikha
Seguro,

flow --model cfg/tiny-yolo-voc-2c.cfg --load bin/tiny-yolo-voc.weights --train --annotation (ruta a mi carpeta de anotaciones) --dateset (ruta a mi carpeta de imágenes)

Ejecuto este comando con tiny-yolo-voc.cfg (el archivo original) y tiny-yolo-voc-2c.cfg en la carpeta cfg.

@mkuko Gracias
Seguí las instrucciones, dejé el archivo cfg sin cambios y creé un nuevo cfg cambiando el número de clase y el número de filtro que aún no funciona para mí. hay algo mas que hayas hecho??

@deepkshikha
No creo que haya hecho nada más para solucionar este problema.

Tal vez yo o alguien más aquí pueda ayudar, ¿puede publicar el comando que está ingresando y el error que está obteniendo?

@thtrieu según su sugerencia,

Usé el comando de flujo básico, el que no tiene cambios en el archivo .cfg o label.txt.

Hay algun par peso-cfg en el mundo que siga funcionando...???

Hola @conjuringjha , tuve el mismo problema pero lo resolví simplemente restando el valor encontrado (en tu caso 180357512) al valor esperado (en tu caso 64701556). Supongamos que el resultado es "X".
Ahora abra su archivo ./darkflow/utils/loader.py y busque la línea 121. Luego verá una variable "self.offset" con un cierto valor asignado (16 o 20). Supongamos que el valor es igual a "Y".
Actualiza el valor de self.offset=Y+X

Espero que esto ayude !

Hola;

La propuesta de @ThierryBayala solucionó mi problema; Muchísimas gracias.

tuve:

AssertionError: esperar 63102556 bytes, encontrado 63471556

hice 63471556-63102556=369000

luego cambié la línea 121 a: self.offset=Y+369000

@ThierryBayala Muchas gracias. Resolvió mi problema también.

Hola,
Instalé Darkflow globalmente y no tengo ni idea de dónde puedo encontrar "./darkflow/utils/loader.py"
Al mismo tiempo, no puedo encontrar esa carpeta en el clon reciente de "darkflow".
Sé que el problema es el archivo cfg y peso que no coincide, porque después de probar varios CFG y PESOS, encontré la coincidencia adecuada.
PERO PERO me pregunto ¿cómo? mientras que el CFG y el peso que usé en primer lugar eran de " https://pjreddie.com/darknet/ " que proporcionaron originalmente.
Entonces, ¿dónde está el problema?
@ThierryBayala
@KHDOUDI
@abr89

@ Ata1362 Leí en alguna parte que los pesos en pjreddie.com se entrenan continuamente, lo que provoca la falta de coincidencia con los archivos CFG.

Gracias,
Entonces, ¿cómo podemos encontrar la discrepancia entre el archivo CFG y Weights y solucionarlo?
No podemos esperar hasta que alguien accidentalmente o después de hacer coincidir muchos CFG,
encuentra el adecuado y lo comparte con nosotros.

El domingo 12 de mayo de 2019 a las 8:46 p. m., Matt P [email protected] escribió:

@ Ata1362 https://github.com/Ata1362 Leí en alguna parte que los pesos
en pjreddie.com se están capacitando continuamente, lo que provoca el desajuste
con los archivos CFG.


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/thtrieu/darkflow/issues/223#issuecomment-491592661 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AKAIFQNP5URQYAO6FDLY2FTPVAGTPANCNFSM4DLF6APQ
.

@ Ata1362 Estaba usando el tiny-yolo-voc de su sitio web, que funcionó correctamente con el tiny-yolo-voc que publicó aquí: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU

Hola @conjuringjha , tuve el mismo problema pero lo resolví simplemente restando el valor encontrado (en tu caso 180357512) al valor esperado (en tu caso 64701556). Supongamos que el resultado es "X".
Ahora abra su archivo ./darkflow/utils/loader.py y busque la línea 121. Luego verá una variable "self.offset" con un cierto valor asignado (16 o 20). Supongamos que el valor es igual a "Y".
Actualiza el valor de self.offset=Y+X

Espero que esto ayude !

A mi tambien me funciona!!!!!!!!!!!!

Gracias @ThierryBayala ,

Esto funciona para mí también.

¿Fue útil esta página
0 / 5 - 0 calificaciones