Darkflow: AssertionError: se esperan 44948596 bytes, encontrado 44948600

Creado en 10 jun. 2018  ·  20Comentarios  ·  Fuente: thtrieu/darkflow

así que cuando uso este comando en cmd c: \ dark \ darkflow-master> python flow --model cfg / yolov2-tiny.cfg --load bin / yolov2-tiny.weights
y luego aparece este error
2018-06-10 1
Por favor ayúdame a arreglar esto

Comentario más útil

Todos 20 comentarios

Hola, yo también tengo este problema.
mismo yolov2-tiny.
AssertionError: se esperan 63820056 bytes, encontrado 63820060
¿Alguien puede ayudarnos?

Gracias por ese link
y por cierto, ¿quieres ponerte en contacto conmigo para que podamos ayudarnos unos a otros en este tema de darkflow?

Tuve el mismo error con yolo, no con tiny-yolo,
Intente reducir el ancho y la altura en el archivo cfg. Me resolvió el problema.
Tenga en cuenta que los valores de ancho y alto deben ser múltiplos de 32

Tengo el mismo problema. Modifiqué yolov2.cfg con 3 clases y usé yolov2.weights para entrenar mi propio conjunto de datos.
Probé este método https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file para resolver el problema. Sin embargo, no funciona. Reemplacé el desplazamiento = 16 con el desplazamiento = 20, incluso el desplazamiento = 40.

zihang @ derek : ~ / project / darkflow $ flow --model cfg / yolov2-3c.cfg --load bin / yolov2.weights --train --annotation train / Annotations --dataset train / Images --gpu 1.0

/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolov2.cfg no encontrado, use cfg / yolov2-3c. cfg en su lugar
cfg_path, FLAGS.model))
Analizando cfg / yolov2-3c.cfg
Cargando bin / yolov2.weights ...
Rastreo (llamadas recientes más última):
Archivo "/ home / zihang / anaconda3 / envs / tensorflow / bin / flow", línea 6, en
cliHandler (sys.argv)
Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py", línea 26, en cliHandler
tfnet = TFNet (BANDERAS)
Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py", línea 58, en __init__
darknet = Darknet (BANDERAS)
Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", línea 27, en __init__
self.load_weights ()
Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", línea 82, en load_weights
wgts_loader = loader.create_loader (argumentos )Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", línea 105, en create_loaderreturn load_type (ruta, cfg)Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", línea 19, en __init__self.load (argumentos )
Archivo "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", línea 77, en carga
walker.offset, walker.size)
AssertionError: se esperan 202355760 bytes, encontrado 203934260

También tengo el mismo error ... No puedo resolverlo ... Alguien me ayude

¡Oh Jesús!
¡Ven a ver lo que he encontrado aquí!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

No entiendo por qué, ¡pero funciona! ¡¡gracias!!

@ dudqls1994
1. Primero que nada, primero instalamos tensorflow con anaconda2 bajo ubuntu (la versión 2 o 3 no afecta).
2. El entorno de instalación requerido por darkflow es Python3, así que actualice Python2 en anaconda2 a python3.5. El sistema Ubuntu viene con python2.7 por defecto. Cuando use darkflow, use source active py35 para ingresar al entorno Python3.5 y úselo El comando de flujo servirá.
3. A continuación, puede instalar darkflow en cualquier lugar, pero debe instalarlo en el entorno py35, cambiar a la fuente del entorno Python, activar py35 y luego instalarlo, verá la carpeta darkflow, esta carpeta es inútil, en la instalación de darkflow Se copiará automáticamente a anaconda2 / envs / py34 / lib / python3.5 / site-packages / darkflow / utils (cuando nombré Python3.5, estreché mis manos y lo convertí en py34). el cambio es el cargador en el directorio anterior. py línea 121, cambie self.offset = 16 a self.offset = 20

¡Oh Jesús!
¡Ven a ver lo que he encontrado aquí!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Gracias hombre, eres un salvavidas

Probé la solución @ideaRunner , no funcionó completamente, mostró otro error, así que reduje la gpu de 1.0 a 0.8 y ¡funcionó bien! ¡Gracias @ideaRunner! Lo siento por no adjuntar capturas de pantalla, tendría que volver a crear el problema.
NB: Si usa la misma gpu para su pantalla, podría crear un problema para usar 0.8 de la gpu, así que le recomiendo que reduzca el uso de gpu a 0.7 y ¡funcionará bien!

¡Oh Jesús!
¡Ven a ver lo que he encontrado aquí!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

para que no tengamos que ir al enlace que puede romperse algún día:

La solución es muy simple, modifiquemos la línea self.offset = 16 en el archivo ./darkflow/utils/loader.py y reemplacemos con self.offset = 20.

Para mí no funcionó. Aunque la diferencia entre esperar y encontrar se redujo mucho

¡Oh Jesús!
¡Ven a ver lo que he encontrado aquí!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

para que no tengamos que ir al enlace que puede romperse algún día:

La solución es muy simple, modifiquemos la línea self.offset = 16 en el archivo ./darkflow/utils/loader.py y reemplacemos con self.offset = 20.

Para mí no funcionó. Aunque la diferencia entre esperar y encontrar se redujo mucho

Tuve el mismo problema, pero se puede resolver correctamente.

si 44948596 bytes, encontrado 44948600

significa que la diferencia (44948600- 44948596) debe agregarse a self.offset.

self.offset = self.offset + 4 diferencia (44948600- 44948596)

palma de la cara *
gracias @ shalin51

@ shalin51 ¿

def walk (yo, tamaño):
if self.eof: return Ninguno
end_point = self.offset + 4 * (44948600- 44948596)
afirmar end_point <= self.size, \
Formato 'Over-read {}'. (Self.path)

¿Deberíamos eliminar el parámetro de tamaño entonces?

Aquí está mi solución:

  1. pip desinstalar darkflow
  2. cambie el código fuente en ./darkflow/utils/loader.py, simplemente elimine la "declaración de aserción" o reemplácela por una advertencia
  3. reinstalarlo por pip install -e .

Esto funciona para mi.

Aviso: todavía tiene que averiguar si su archivo cfg y weights y labels.txt coinciden entre sí.

Resolví el problema.

http://tn00343140a.pixnet.net/blog/post/299895872-yolo%e9%81%8b%e8%a1%8cdarkflow%e6%99%82%2c-%e5%87%ba%e7%8f%beassertionerror % 3a-esperado-20392940

Busque el archivo "loader.py" y cambie el valor de "self.offset".
actualizado self.offset = old_offset_value + (valor_encontrado - valor_esperado)

Yo también resolví.

estoy cambiando el valor self.offset como '20' "loader.py" en ~ / darkflow / utils

No sé por qué funciona esto. pero es trabajo!

He estado probando todos los métodos especificados anteriormente. ¡Pero nada de eso parece estar funcionando!

¿Hay alguna otra forma de resolver este problema?

¡Oh Jesús!
¡Ven a ver lo que he encontrado aquí!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Honestamente no sé cómo funciona, pero resolvió mi problema, ¡genial!

diff --git a / darkflow / utils / loader.py b / darkflow / utils / loader.py
índice 723560d..e2fdaea 100644
--- a / darkflow / utils / loader.py
+++ b / darkflow / utils / loader.py
@@ -118,7 +118,8 @@ clase weights_walker (objeto):
forma = (), modo = 'r', desplazamiento = 0,
dtype = '({}) i4,'. formato (4))
self.transpose = mayor> 1000 o menor> 1000
- auto.desplazamiento = 16
+ auto.desplazamiento = 20

  def walk(self, size):
      if self.eof: return None
¿Fue útil esta página
0 / 5 - 0 calificaciones