No se pueden convertir pesos / cfg a modelo pb
./flow --model tiny-yolo-voc-original.cfg --load tiny-yolo-voc.weights --savepb
...
AssertionError: labels.txt and tiny-yolo-voc-original.cfg indicate inconsistent class numbers
esto https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java#L69
tampoco funciona:
./flow --model tiny-yolo-voc-original.cfg --load tiny-yolo-voc.weights --savepb --verbalise=True
ERROR - Invalid argument: --verbalise=True
Con respecto a su primer problema, cuando darkflow ve uno de los nombres .cfg
predeterminados, cargará las etiquetas de su propia matriz (o archivo externo en el caso del conjunto de datos COCO), es decir, cuando ve un .cfg
reconocido labels.txt
. Puede ver cuáles son los nombres .cfg
reconocidos aquí . En su caso, está utilizando un .cfg
name tiny-yolo-voc-original.cfg
no reconocido que no está en esa matriz. Por lo tanto, darkflow intentará cargar las etiquetas desde labels.txt
y, en su caso, está encontrando el número incorrecto de etiquetas. Si está intentando cargar las etiquetas de VOC, cambie el nombre de su archivo .cfg
a tiny-yolo-voc.cfg
para que se reconozca y el flujo oscuro se cargue automáticamente desde las etiquetas de VOC o copie manualmente las etiquetas de VOC en labels.txt
.
Con respecto a su segundo problema, escribí un controlador CLI personalizado para darkflow y actualmente no se admite la asignación de valores usando =
. Para establecer --verbalise
en verdadero, simplemente use --verbalise
solo o use --verbalise true
.
Entendido. También intenté convertir mi propio yolo diminuto entrenado con 1 clases y no pude (incluso si edité tags.txt y puse solo un nombre) porque, como dijiste, si cfg se nombra como tiny-yolo-voc.cfg
entonces las búsquedas de flujo oscuro de su propia matriz. Lo renombré en otra cosa y funcionó.
¡Gracias!
Hola, actualmente estoy entrenando una clase, pero la carga del archivo yolo-small.weights no se carga durante el entrenamiento.
este es mi comando: yolo-me-small.cfg --load bin / yolo-small.weights --train --annotation CAR / Annotations --dataset CAR / JPEGImages
error:
Analizando ./cfg/yolo-qr-small.cfg
Analizando cfg / yolo-qr-small.cfg
Cargando bin / yolo-qr-small.weights ...
Rastreo (llamadas recientes más última):
Archivo "./flow", línea 6, en
cliHandler (sys.argv)
Archivo "/home/xwlab/darkflow/darkflow/cli.py", línea 22, en cliHandler
tfnet = TFNet (BANDERAS)
Archivo "/home/xwlab/darkflow/darkflow/net/build.py", línea 58, en __init__
darknet = Darknet (BANDERAS)
Archivo "/home/xwlab/darkflow/darkflow/dark/darknet.py", línea 27, en __init__
self.load_weights ()
Archivo "/home/xwlab/darkflow/darkflow/dark/darknet.py", línea 82, en load_weights
wgts_loader = loader.create_loader (argumentos )Archivo "/home/xwlab/darkflow/darkflow/utils/loader.py", línea 105, en create_loaderreturn load_type (ruta, cfg)Archivo "/home/xwlab/darkflow/darkflow/utils/loader.py", línea 19, en __init__self.load (argumentos )
Archivo "/home/xwlab/darkflow/darkflow/utils/loader.py", línea 77, en carga
walker.offset, walker.size)
AssertionError: se esperan 360624512 bytes, encontrado 375881736
Mi problema fue eliminar la línea de ruptura final en el archivo labels.txt
. Contaba la nueva línea vacía como una clase extra.
Usé un archivo cfg de 7 clases con 60 filtros. Las etiquetas
etiquetas.txt
El archivo .txt también contiene 7 clases, pero aunque hay un error que es el siguiente:
AssertionError: labels.txt y cfg / tiny-yolo-voc-7c.cfg indican números de clase inconsistentes
Comentario más útil
Con respecto a su primer problema, cuando darkflow ve uno de los nombres
.cfg
predeterminados, cargará las etiquetas de su propia matriz (o archivo externo en el caso del conjunto de datos COCO), es decir, cuando ve un.cfg
reconocidolabels.txt
. Puede ver cuáles son los nombres.cfg
reconocidos aquí . En su caso, está utilizando un.cfg
nametiny-yolo-voc-original.cfg
no reconocido que no está en esa matriz. Por lo tanto, darkflow intentará cargar las etiquetas desdelabels.txt
y, en su caso, está encontrando el número incorrecto de etiquetas. Si está intentando cargar las etiquetas de VOC, cambie el nombre de su archivo.cfg
atiny-yolo-voc.cfg
para que se reconozca y el flujo oscuro se cargue automáticamente desde las etiquetas de VOC o copie manualmente las etiquetas de VOC enlabels.txt
.Con respecto a su segundo problema, escribí un controlador CLI personalizado para darkflow y actualmente no se admite la asignación de valores usando
=
. Para establecer--verbalise
en verdadero, simplemente use--verbalise
solo o use--verbalise true
.