Detectron: Error de aserción:

Creado en 26 jul. 2018  ·  3Comentarios  ·  Fuente: facebookresearch/Detectron

Resultados previstos

Corriendo

Resultados actuales

El blob de espacio de trabajo cls_score_w con forma (21, 2048) no coincide con la forma del archivo de pesos (81, 2048)

Pasos detallados para reproducir

P.ej:

 python tools/train_net.py --cfg /root/Detectron/tmp/e2e_faster_rcnn_R-50-C4_1x.yaml OUTPUT_DIR tmp/det

Información del sistema

  • Sistema operativo: Ubuntu
  • Versión del compilador: caffe2
  • Versión CUDA: 9
  • cuDNN versión: 7
  • Versión del controlador NVIDIA: Titanx
  • Modelos de GPU (para todos los dispositivos si no son todos iguales): ?
  • PYTHONPATH variable de entorno: /root/anaconda
  • python --version salida: 2.7
  • Cualquier otra cosa que parezca relevante: ?

Comentario más útil

Probablemente haya configurado NUM_CLASSES: 21 en su archivo de configuración, mientras que su archivo de pesos tiene 81 clases. Una forma de evitarlo es simplemente cargarlo y eliminar los blobs en conflicto.

import cPickle as pkl 

with open('model.pkl', 'rb') as f:
    wts = pkl.load(f)

for blob in wts['blobs'].keys():
    if blob.startswith('cls_score_') or blob.startswith('bbox_pred_'):
        del wts['blobs'][blob]

with open('new_model.pkl', 'wb') as f:
    pkl.dump(wts, f)

Espero que esto ayude.

Todos 3 comentarios

Probablemente haya configurado NUM_CLASSES: 21 en su archivo de configuración, mientras que su archivo de pesos tiene 81 clases. Una forma de evitarlo es simplemente cargarlo y eliminar los blobs en conflicto.

import cPickle as pkl 

with open('model.pkl', 'rb') as f:
    wts = pkl.load(f)

for blob in wts['blobs'].keys():
    if blob.startswith('cls_score_') or blob.startswith('bbox_pred_'):
        del wts['blobs'][blob]

with open('new_model.pkl', 'wb') as f:
    pkl.dump(wts, f)

Espero que esto ayude.

gracias lo has hecho

Probablemente haya configurado NUM_CLASSES: 21 en su archivo de configuración, mientras que su archivo de pesos tiene 81 clases. Una forma de evitarlo es simplemente cargarlo y eliminar los blobs en conflicto.

import cPickle as pkl 

with open('model.pkl', 'rb') as f:
    wts = pkl.load(f)

for blob in wts['blobs'].keys():
    if blob.startswith('cls_score_') or blob.startswith('bbox_pred_'):
        del wts['blobs'][blob]

with open('new_model.pkl', 'wb') as f:
    pkl.dump(wts, f)

Espero que esto ayude.

¿En qué archivo necesito agregar estos detalles?

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

Temas relacionados

rbgirshick picture rbgirshick  ·  3Comentarios

Hwang-dae-won picture Hwang-dae-won  ·  3Comentarios

junxiaoge picture junxiaoge  ·  3Comentarios

gaopeng-eugene picture gaopeng-eugene  ·  4Comentarios

twmht picture twmht  ·  3Comentarios