TensorFlow对象检测API训练错误

时间:2018-02-18 00:44:41

标签: python api tensorflow machine-learning object-detection

您好,我在Anaconda提示中执行以下操作:( tensorflow) C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection> python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_pets.config

我正在自定义dtataset上训练模型我停止标记“列”对象。我一遍又一遍地遵循教程,以确保我的所有步骤都是正确的,但我似乎仍然遇到以下错误,任何关于如何修复的线索将非常感谢?:

WARNING:tensorflow:From C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\trainer.py:210: create_global_step (from tensorflow.contrib.framework.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Please switch to tf.train.create_global_step
INFO:tensorflow:depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
Traceback (most recent call last):
  File "train.py", line 163, in <module>
    tf.app.run()
  File "C:\Users\nicho\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\platform\app.py", line 124, in run
    _sys.exit(main(argv))
  File "train.py", line 159, in main
    worker_job_name, is_chief, FLAGS.train_dir)
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\trainer.py", line 228, in train
    clones = model_deploy.create_clones(deploy_config, model_fn, [input_queue])
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\slim\deployment\model_deploy.py", line 193, in create_clones
    outputs = model_fn(*args, **kwargs)
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\trainer.py", line 167, in _create_losses
    losses_dict = detection_model.loss(prediction_dict)
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\meta_architectures\ssd_meta_arch.py", line 474, in loss
    location_losses, cls_losses, prediction_dict, match_list)
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\meta_architectures\ssd_meta_arch.py", line 640, in _apply_hard_mining
    match_list=match_list)
  File "C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection\core\losses.py", line 515, in __call__
    location_losses = tf.unstack(location_losses)
  File "C:\Users\nicho\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1054, in unstack
    (axis, -value_shape.ndims, value_shape.ndims))
ValueError: axis = 0 not in [0, 0)

(tensorflow) C:\Users\nicho\Documents\01_Machine_Learning\00_Lynda.com\Ex_Files_TensorFlow\models\research\object_detection>python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_pets.confi

2 个答案:

答案 0 :(得分:0)

您使用的是哪种型号?您可以尝试使用其他网络进行培训。使用ssd_mobilenet_v1_coco和ssd_mobilenet_v1_coco.config时遇到了同样的问题。切换到ssd_mobilenet_v1_pets.config,它有附加参数anchorwise_output,然后开始训练。

答案 1 :(得分:0)

问题解决了。 在您的pipeline.config中 使

loss {
classification_loss {
weighted_sigmoid {
}
}
localization_loss {
weighted_smooth_l1 {
}
}
hard_example_miner {
num_hard_examples: 3000
iou_threshold: 0.99
loss_type: CLASSIFICATION
max_negatives_per_positive: 3
min_negatives_per_image: 0
}
classification_weight: 1.0
localization_weight: 1.0
}

loss {
classification_loss {
weighted_sigmoid {
anchorwise_output: true #add this
}
}
localization_loss {
weighted_smooth_l1 {
anchorwise_output: true #add this
}
}
hard_example_miner {
num_hard_examples: 3000
iou_threshold: 0.99
loss_type: CLASSIFICATION
max_negatives_per_positive: 3
min_negatives_per_image: 0
}
classification_weight: 1.0
localization_weight: 1.0
}

...享受