tensorflow / tpu

Reference models and tools for Cloud TPUs.

Home Page:https://cloud.google.com/tpu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ViLD running zeroshot evaluation on custom dataset

Jawing opened this issue · comments

commented
INFO:tensorflow:Done running local_init_op.
I0719 11:49:25.955098 139723603752768 session_manager.py:530] Done running local_init_op.
2022-07-19 11:54:59.144640: W tensorflow/core/grappler/optimizers/loop_optimizer.cc:907] Skipping loop optimization for Merge node with control input: generate_detections/nms_detections_3_255/PartitionedCall/cond/branch_executed/_138007
Traceback (most recent call last):
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1377, in _do_call
    return fn(*args)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1360, in _run_fn
    return self._call_tf_sessionrun(options, feed_dict, fetch_list,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1453, in _call_tf_sessionrun
    return tf_session.TF_SessionRun_wrapper(self._session, options, feed_dict,
tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
  (0) INVALID_ARGUMENT: Incompatible shapes: [1,1,1203] vs. [256,1000,6]
         [[{{node frcnn_layer_0/fast_rcnn_head/BroadcastTo_2}}]]
         [[stack_1/_80625]]
  (1) INVALID_ARGUMENT: Incompatible shapes: [1,1,1203] vs. [256,1000,6]
         [[{{node frcnn_layer_0/fast_rcnn_head/BroadcastTo_2}}]]
0 successful operations.
0 derived errors ignored.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 184, in <module>
    tf.app.run(main)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/platform/app.py", line 36, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 160, in main
    executor.evaluate(eval_input_fn, eval_times, ckpt)
  File "/home/wanjiz/tpu/models/official/detection/executor/tpu_executor.py", line 204, in evaluate
    outputs = six.next(predictor)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 642, in predict
    preds_evaluated = mon_sess.run(predictions)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 782, in run
    return self._sess.run(
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 1311, in run
    return self._sess.run(
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 1416, in run
    raise six.reraise(*original_exc_info)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/six.py", line 719, in reraise
    raise value
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 1401, in run
    return self._sess.run(*args, **kwargs)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 1469, in run
    outputs = _WrappedSession.run(
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/training/monitored_session.py", line 1232, in run
    return self._sess.run(*args, **kwargs)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 967, in run
    result = self._run(None, fetches, feed_dict, options_ptr,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1190, in _run
    results = self._do_run(handle, final_targets, final_fetches,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1370, in _do_run
    return self._do_call(_run_fn, feeds, fetches, targets, options,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/client/session.py", line 1396, in _do_call
    raise type(e)(node_def, op, message)  # pylint: disable=no-value-for-parameter
tensorflow.python.framework.errors_impl.InvalidArgumentError: Graph execution error:

Detected at node 'frcnn_layer_0/fast_rcnn_head/BroadcastTo_2' defined at (most recent call last):
    File "/home/wanjiz/tpu/models/official/detection/main.py", line 184, in <module>
      tf.app.run(main)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 312, in run
      _run_main(main, args)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 258, in _run_main
      sys.exit(main(argv))
    File "/home/wanjiz/tpu/models/official/detection/main.py", line 160, in main
      executor.evaluate(eval_input_fn, eval_times, ckpt)
    File "/home/wanjiz/tpu/models/official/detection/executor/tpu_executor.py", line 204, in evaluate
      outputs = six.next(predictor)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 623, in predict
      estimator_spec = self._call_model_fn(features, None, ModeKeys.PREDICT,
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1174, in _call_model_fn
      model_fn_results = self._model_fn(features=features, **kwargs)
    File "/home/wanjiz/tpu/models/official/detection/modeling/model_builder.py", line 51, in __call__
      return self._model.predict(features)
    File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 389, in predict
      outputs = self.build_outputs(images, labels, mode=mode_keys.PREDICT)
    File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 206, in build_outputs
      outputs = self._build_outputs(images, labels, mode)
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_model.py", line 174, in _build_outputs
      distill_class_outputs) = self._frcnn_head_fn(roi_features, is_training)
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 325, in __call__
      class_outputs = _divide_no_nan(class_outputs, classifier_norm[None,
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 38, in _divide_no_nan
      tf.greater_equal(tf.broadcast_to(y, x.get_shape()), -epsilon),
Node: 'frcnn_layer_0/fast_rcnn_head/BroadcastTo_2'
Detected at node 'frcnn_layer_0/fast_rcnn_head/BroadcastTo_2' defined at (most recent call last):
    File "/home/wanjiz/tpu/models/official/detection/main.py", line 184, in <module>
      tf.app.run(main)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 312, in run
      _run_main(main, args)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 258, in _run_main
      sys.exit(main(argv))
    File "/home/wanjiz/tpu/models/official/detection/main.py", line 160, in main
      executor.evaluate(eval_input_fn, eval_times, ckpt)
    File "/home/wanjiz/tpu/models/official/detection/executor/tpu_executor.py", line 204, in evaluate
      outputs = six.next(predictor)
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 623, in predict
      estimator_spec = self._call_model_fn(features, None, ModeKeys.PREDICT,
    File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1174, in _call_model_fn
      model_fn_results = self._model_fn(features=features, **kwargs)
    File "/home/wanjiz/tpu/models/official/detection/modeling/model_builder.py", line 51, in __call__
      return self._model.predict(features)
    File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 389, in predict
      outputs = self.build_outputs(images, labels, mode=mode_keys.PREDICT)
    File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 206, in build_outputs
      outputs = self._build_outputs(images, labels, mode)
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_model.py", line 174, in _build_outputs
      distill_class_outputs) = self._frcnn_head_fn(roi_features, is_training)
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 325, in __call__
      class_outputs = _divide_no_nan(class_outputs, classifier_norm[None,
    File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 38, in _divide_no_nan
      tf.greater_equal(tf.broadcast_to(y, x.get_shape()), -epsilon),
Node: 'frcnn_layer_0/fast_rcnn_head/BroadcastTo_2'
2 root error(s) found.
  (0) INVALID_ARGUMENT: Incompatible shapes: [1,1,1203] vs. [256,1000,6]
         [[{{node frcnn_layer_0/fast_rcnn_head/BroadcastTo_2}}]]
         [[stack_1/_80625]]
  (1) INVALID_ARGUMENT: Incompatible shapes: [1,1,1203] vs. [256,1000,6]
         [[{{node frcnn_layer_0/fast_rcnn_head/BroadcastTo_2}}]]
0 successful operations.
0 derived errors ignored.

Original stack trace for 'frcnn_layer_0/fast_rcnn_head/BroadcastTo_2':
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 184, in <module>
    tf.app.run(main)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/platform/app.py", line 36, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 160, in main
    executor.evaluate(eval_input_fn, eval_times, ckpt)
  File "/home/wanjiz/tpu/models/official/detection/executor/tpu_executor.py", line 204, in evaluate
    outputs = six.next(predictor)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 623, in predict
    estimator_spec = self._call_model_fn(features, None, ModeKeys.PREDICT,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1174, in _call_model_fn
    model_fn_results = self._model_fn(features=features, **kwargs)
  File "/home/wanjiz/tpu/models/official/detection/modeling/model_builder.py", line 51, in __call__
    return self._model.predict(features)
  File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 389, in predict
    outputs = self.build_outputs(images, labels, mode=mode_keys.PREDICT)
  File "/home/wanjiz/tpu/models/official/detection/modeling/base_model.py", line 206, in build_outputs
    outputs = self._build_outputs(images, labels, mode)
  File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_model.py", line 174, in _build_outputs
    distill_class_outputs) = self._frcnn_head_fn(roi_features, is_training)
  File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 325, in __call__
    class_outputs = _divide_no_nan(class_outputs, classifier_norm[None,
  File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_head.py", line 38, in _divide_no_nan
    tf.greater_equal(tf.broadcast_to(y, x.get_shape()), -epsilon),
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/ops/gen_array_ops.py", line 876, in broadcast_to
    _, _, _op, _outputs = _op_def_library._apply_op_helper(
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/framework/op_def_library.py", line 797, in _apply_op_helper
    op = g._create_op_internal(op_type_name, inputs, dtypes=None,
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 3754, in _create_op_internal
    ret = Operation(
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 2133, in __init__
    self._traceback = tf_stack.extract_stack_for_node(self._c_op)

Have been getting this error when running the inference script with custom class prompt and dataset with the vild_resnet.yaml configs altered as shown below.

anchor:
  anchor_size: 8
  aspect_ratios: [1.0, 2.0, 0.5]
  num_scales: 1
architecture:
  backbone: resnet
  feat_distill_weight: 0.5
  filter_distill_boxes_size: 0
  include_mask: true
  mask_target_size: 28
  max_level: 6
  max_num_rois: 300
  min_level: 2
  multilevel_features: fpn
  normalize_feat_during_training: true
  num_classes: 7
  parser: vild_parser
  pre_parser: null
  space_to_depth_block_size: 1
  use_bfloat16: false
  visual_feature_dim: 512
  visual_feature_distill: vanilla
batch_norm_activation:
  activation: relu
  batch_norm_epsilon: 0.0001
  batch_norm_momentum: 0.997
  batch_norm_trainable: true
  use_sync_bn: true
dropblock:
  dropblock_keep_prob: null
  dropblock_size: null
enable_summary: false
eval:
  eval_batch_size: 8
  eval_dataset_type: tfrecord
  eval_samples: 2956
  eval_timeout: null
  min_eval_interval: 5
  num_steps_per_eval: 1000
  per_category_metrics: true
  skip_eval_loss: false
  suffix: ''
  type: lvis_box
  use_json_file: true
fpn:
  fpn_feat_dims: 256
  use_batch_norm: true
  use_separable_conv: false
frcnn_box_loss:
  huber_loss_delta: 1.0
frcnn_class_loss:
  mask_rare: false
frcnn_head:
  class_agnostic_bbox_pred: true
  clip_dim: 512
  fc_dims: 1024
  normalize_classifier: true
  normalize_visual: true
  num_convs: 4
  num_fcs: 2
  num_filters: 256
  temperature: 100.0
  use_batch_norm: true
  use_separable_conv: false
mask_sampling:
  num_mask_samples_per_image: 128
mrcnn_head:
  class_agnostic_mask_pred: true
  num_convs: 4
  num_filters: 256
  use_batch_norm: true
  use_separable_conv: false
postprocess:
  apply_nms: true
  apply_sigmoid: false
  discard_background: false
  max_total_size: 300
  nms_iou_threshold: 0.5
  nms_version: v1
  pre_nms_num_boxes: 1000
  score_threshold: 0.0
  use_batched_nms: false
predict:
  predict_batch_size: 8
resnet:
  init_drop_connect_rate: null
  resnet_depth: 50
roi_proposal:
  rpn_min_size_threshold: 0.0
  rpn_nms_threshold: 0.7
  rpn_post_nms_top_k: 1000
  rpn_pre_nms_top_k: 2000
  rpn_score_threshold: 0.0
  test_rpn_min_size_threshold: 0.0
  test_rpn_nms_threshold: 0.7
  test_rpn_post_nms_top_k: 1000
  test_rpn_pre_nms_top_k: 1000
  test_rpn_score_threshold: 0.0
  use_batched_nms: false
roi_sampling:
  bg_iou_thresh_hi: 0.5
  bg_iou_thresh_lo: 0.0
  cascade_iou_thresholds: null
  fg_fraction: 0.25
  fg_iou_thresh: 0.5
  mix_gt_boxes: true
  num_samples_per_image: 512
rpn_box_loss:
  huber_loss_delta: 0.1111111111111111
rpn_head:
  anchors_per_location: null
  cast_to_float32: true
  num_convs: 2
  num_filters: 256
  use_batch_norm: true
  use_separable_conv: false
rpn_score_loss:
  rpn_batch_size_per_im: 256
train:
  checkpoint:
    path: ''
    prefix: ''
    skip_variables_regex: ''
  frozen_variable_prefix: frcnn_layer_0/fast_rcnn_head/class-predict
  gradient_clip_norm: 0.0
  input_partition_dims: null
  iterations_per_loop: 100
  l2_weight_decay: 4.0e-05
  learning_rate:
    init_learning_rate: 0.32
    learning_rate_levels: [0.032, 0.0032]
    learning_rate_steps: [162000, 171000, 175500]
    type: step
    warmup_learning_rate: 0.0032
    warmup_steps: 1000
  losses: all
  num_cores_per_replica: null
  optimizer:
    momentum: 0.9
    type: momentum
  pre_parser_dataset:
    dataset_type: tfrecord
    file_pattern: ''
  regularization_variable_regex: .*(kernel|weight):0$
  space_to_depth_block_size: 1
  total_steps: 180000
  train_batch_size: 256
  train_dataset_type: tfrecord
  transpose_input: true
type: vild
use_tpu: false
vild_parser:
  aug_rand_hflip: true
  aug_scale_max: 2.0
  aug_scale_min: 0.1
  copy_paste: false
  mask_crop_size: 112
  max_num_instances: 300
  output_size: [1024, 1024]
  regenerate_source_id: false
  rpn_batch_size_per_im: 256
  rpn_fg_fraction: 0.5
  rpn_match_threshold: 0.7
  rpn_unmatched_threshold: 0.3
  skip_crowd_during_training: true

Also I've set frcnn_class_loss.mask_rare = false

since I kept on getting this error. every directory is structure the same way as it is mentioned here

Traceback (most recent call last):
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 184, in <module>
    tf.app.run(main)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/platform/app.py", line 36, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "/home/wanjiz/tpu/models/official/detection/main.py", line 116, in main
    model_fn = model_builder.ModelFn(params)
  File "/home/wanjiz/tpu/models/official/detection/modeling/model_builder.py", line 26, in __init__
    self._model = factory.model_generator(params)
  File "/home/wanjiz/tpu/models/official/detection/modeling/factory.py", line 41, in model_generator
    model_fn = vild_model.ViLDModel(params)
  File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_model.py", line 73, in __init__
    self._frcnn_class_loss_fn = vild_losses.FastrcnnClassLoss(
  File "/home/wanjiz/tpu/models/official/detection/projects/vild/modeling/vild_losses.py", line 33, in __init__
    self._rare_mask = np.array(np.load(f), dtype=np.float32)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/numpy/lib/npyio.py", line 414, in load
    magic = fid.read(N)
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/lib/io/file_io.py", line 114, in read
    self._preread_check()
  File "/home/wanjiz/vild_finetune/venv/lib/python3.10/site-packages/tensorflow/python/lib/io/file_io.py", line 76, in _preread_check
    self._read_buf = _pywrap_file_io.BufferedInputStream(
tensorflow.python.framework.errors_impl.NotFoundError: ; No such file or directory

Please share some insight on how to evaluate ViLD on custom dataset. Thanks!