tensorflow / models

Models and examples built with TensorFlow
Other
77k stars 45.78k forks source link

When training tensorflow object detection on my image set i am getting this error. #6850

Open itssp98 opened 5 years ago

itssp98 commented 5 years ago

C:\Project\workspace\training_demo>python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_inception_v2_coco.config WARNING:tensorflow:From C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\tensorflow\python\platform\app.py:126: main (from main) is deprecated and will be removed in a future version. Instructions for updating: Use object_detection/model_main.py. Traceback (most recent call last): File "train.py", line 184, in tf.app.run() File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\tensorflow\python\platform\app.py", line 126, in run _sys.exit(main(argv)) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\tensorflow\python\util\deprecation.py", line 250, in new_func return func(*args, **kwargs) File "train.py", line 93, in main FLAGS.pipeline_config_path) File "C:\Project\Tensorflow\models\research\object_detection\utils\config_util.py", line 98, in get_configs_from_pipeline_file text_format.Merge(proto_str, pipeline_config) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 533, in Merge descriptor_pool=descriptor_pool) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 587, in MergeLines return parser.MergeLines(lines, message) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 620, in MergeLines self._ParseOrMerge(lines, message) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 635, in _ParseOrMerge self._MergeField(tokenizer, message) File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 679, in _MergeField name = tokenizer.ConsumeIdentifierOrNumber() File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\Lib\google\protobuf\text_format.py", line 1152, in ConsumeIdentifierOrNumber raise self.ParseError('Expected identifier or number, got %s.' % result) google.protobuf.text_format.ParseError: 1:1 : Expected identifier or number, got .

tensorflowbutler commented 5 years ago

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks. What is the top-level directory of the model you are using Have I written custom code OS Platform and Distribution TensorFlow installed from TensorFlow version Bazel version CUDA/cuDNN version GPU model and memory Exact command to reproduce

siddas27 commented 5 years ago

Do you a have the label_map.pbtxt in training directory with all your labels included?

itssp98 commented 5 years ago

Yes i have label_map.pbtxt in training directory with all my labels.

itssp98 commented 5 years ago

What is the top-level directory of the model you are using : object_detection Have I written custom code : No OS Platform and Distribution : Windows 10 TensorFlow installed from : Using pip TensorFlow version : 1.8.0 Bazel version : N/A CUDA/cuDNN version : N/A GPU model and memory : N/A Exact command to reproduce N/A

pkulzc commented 5 years ago

This is a parsing error when parsing your config file. Double check that.

pkulzc commented 5 years ago

Also trying sycning to latest and use model_main.py if possible.

itssp98 commented 5 years ago

This is a parsing error when parsing your config file. Double check that.

here is my config file can you please help me to identify error.

` model { ssd { num_classes: 2 # Set this to the number of different label classes box_coder { faster_rcnn_box_coder { y_scale: 10.0 x_scale: 10.0 height_scale: 5.0 width_scale: 5.0 } } matcher { argmax_matcher { matched_threshold: 0.5 unmatched_threshold: 0.5 ignore_thresholds: false negatives_lower_than_unmatched: true force_match_for_each_row: true } } similarity_calculator { iou_similarity { } } anchor_generator { ssd_anchor_generator { num_layers: 6 min_scale: 0.2 max_scale: 0.95 aspect_ratios: 1.0 aspect_ratios: 2.0 aspect_ratios: 0.5 aspect_ratios: 3.0 aspect_ratios: 0.3333 reduce_boxes_in_lowest_layer: true } } image_resizer { fixed_shape_resizer { height: 300 width: 300 } } box_predictor { convolutional_box_predictor { min_depth: 0 max_depth: 0 num_layers_before_predictor: 0 use_dropout: false dropout_keep_probability: 0.8 kernel_size: 3 box_code_size: 4 apply_sigmoid_to_scores: false conv_hyperparams { activation: RELU_6, regularizer { l2_regularizer { weight: 0.00004 } } initializer { truncated_normal_initializer { stddev: 0.03 mean: 0.0 } } } } } feature_extractor { type:'ssd_inception_v2' # Set to the name of your chosen pre-trained model min_depth: 16 depth_multiplier: 1.0 conv_hyperparams { activation: RELU_6, regularizer { l2_regularizer { weight: 0.00004 } } initializer { truncated_normal_initializer { stddev: 0.03 mean: 0.0 } } batch_norm { train: true, scale: true, center: true, decay: 0.9997, epsilon: 0.001, } } override_base_feature_extractor_hyperparams: true } 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 } normalize_loss_by_num_matches: true post_processing { batch_non_max_suppression { score_threshold: 1e-8 iou_threshold: 0.6 max_detections_per_class: 100 max_total_detections: 100 } score_converter: SIGMOID } } }

train_config: { batch_size: 12 # Increase/Decrease this value depending on the available memory (Higher values require more memory and vice-versa) optimizer { rms_prop_optimizer: { learning_rate: { exponential_decay_learning_rate { initial_learning_rate: 0.004 decay_steps: 800720 decay_factor: 0.95 } } momentum_optimizer_value: 0.9 decay: 0.9 epsilon: 1.0 } } fine_tune_checkpoint: "C:/Project/Tensorflow/workspace/training_demo/pre-trained-model/model.ckpt" # Path to extracted files of pre-trained model from_detection_checkpoint: true

Note: The below line limits the training process to 200K steps, which we

# empirically found to be sufficient enough to train the pets dataset. This
# effectively bypasses the learning rate schedule (the learning rate will
# never decay). Remove the below line to train indefinitely.
num_steps: 200000
data_augmentation_options {
    random_horizontal_flip {
    }
}
data_augmentation_options {
    ssd_random_crop {
    }
}

}

train_input_reader: { tf_record_input_reader { input_path: "C:/Project/Tensorflow/workspace/training_demo/annotations/train.record" # Path to training TFRecord file } label_map_path: "C:/Project/Tensorflow/workspace/training_demo/annotations/label_map.pbtxt" # Path to label map file }

eval_config: { num_examples: 8000

Note: The below line limits the evaluation process to 10 evaluations.

# Remove the below line to evaluate indefinitely.
max_evals: 10

}

eval_input_reader: { tf_record_input_reader { input_path: "C:/Project/Tensorflow/workspace/training_demo/annotations/test.record" # Path to testing TFRecord } label_map_path: "C:/Project/Tensorflow/workspace/training_demo/annotations/label_map.pbtxt" # Path to label map file shuffle: false num_readers: 1 }`

And this is my label_map.pbtxt item { id: 1 name: 'green' } item { id: 2 name: 'red' }

wl4135 commented 4 years ago

Hello, I also encountered this problem, did you solve it? @itssp98