Train grayscale image for object detection model and expecting 1 channel tensor input, but it still want 3 channels tensor input
@laxmareddyp đang làm issue này rồi.
Từ ngày 23/4/2024.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Prerequisites
Please answer the following questions for yourself before submitting an issue.
- I am using the latest TensorFlow Model Garden release and TensorFlow 2.
- I am reporting the issue to the correct repository. (Model Garden official or research directory)
- I checked to make sure that this issue has not been filed already.
1. The entire URL of the file you are using
https://github.com/tensorflow/models/tree/master/official/...
2. Describe the bug
I am using "mobilenetv2 ssd fpnlite 320x320" to train my own object detection model build from scratch. However, I am trying to use grayscale images for both training and deploying the tflite model. I know that even when I input 1-channel images, the output becomes 3-channel by duplicating one channel into three. I find this unnecessary and want to avoid wasting memory and CPU usage, especially since I plan to deploy my model in grayscale. Which file must I change to create a 1-channel model instead of a 3-channel model?
3. Steps to reproduce
Inside of ssd_mobilenet_v2_fpn_keras_feature_extractor.py, I change
4. Expected behavior
I expecting shape: [1 320 320 1] but it print [1 320 320 3]
5. Additional context
My config look like....
# SSD with Mobilenet v2 FPN-lite (go/fpn-lite) feature extractor, shared box
# predictor and focal loss (a mobile version of Retinanet).
# Retinanet: see Lin et al, https://arxiv.org/abs/1708.02002
# Trained on COCO, initialized from Imagenet classification checkpoint
# Train on TPU-8
#
# Achieves 22.2 mAP on COCO17 Val
model {
ssd {
inplace_batchnorm_update: true
freeze_batchnorm: false
num_classes: 7
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
use_matmul_gather: true
}
}
similarity_calculator {
iou_similarity {
}
}
encode_background_as_zeros: true
anchor_generator {
multiscale_anchor_generator {
min_level: 3
max_level: 7
anchor_scale: 4.0
aspect_ratios: [1.0, 2.0, 0.5]
scales_per_octave: 2
}
}
image_resizer {
fixed_shape_resizer {
height: 320
width: 320
}
}
box_predictor {
weight_shared_convolutional_box_predictor {
depth: 128
class_prediction_bias_init: -4.6
conv_hyperparams {
activation: RELU_6,
regularizer {
l2_regularizer {
weight: 0.00004
}
}
initializer {
random_normal_initializer {
stddev: 0.01
mean: 0.0
}
}
batch_norm {
scale: true,
decay: 0.997,
epsilon: 0.001,
}
}
num_layers_before_predictor: 4
share_prediction_tower: true
use_depthwise: true
kernel_size: 3
}
}
feature_extractor {
type: 'ssd_mobilenet_v2_fpn_keras'
use_depthwise: true
fpn {
min_level: 3
max_level: 7
additional_layer_depth: 128
}
min_depth: 16
depth_multiplier: 1.0
conv_hyperparams {
activation: RELU_6,
regularizer {
l2_regularizer {
weight: 0.00004
}
}
initializer {
random_normal_initializer {
stddev: 0.01
mean: 0.0
}
}
batch_norm {
scale: true,
decay: 0.997,
epsilon: 0.001,
}
}
override_base_feature_extractor_hyperparams: true
}
loss {
classification_loss {
weighted_sigmoid_focal {
alpha: 0.25
gamma: 2.0
}
}
localization_loss {
weighted_smooth_l1 {
}
}
classification_weight: 1.0
localization_weight: 1.0
}
normalize_loss_by_num_matches: true
normalize_loc_loss_by_codesize: 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: 16
sync_replicas: true
startup_delay_steps: 0
replicas_to_aggregate: 8
num_steps: 120000
data_augmentation_options {
random_horizontal_flip {
}
}
data_augmentation_options {
random_crop_image {
min_object_covered: 0.0
min_aspect_ratio: 0.75
max_aspect_ratio: 3.0
min_area: 0.75
max_area: 1.0
overlap_thresh: 0.0
}
}
optimizer {
momentum_optimizer: {
learning_rate: {
cosine_decay_learning_rate {
learning_rate_base: .08
total_steps: 50000
warmup_learning_rate: .026666
warmup_steps: 1000
}
}
momentum_optimizer_value: 0.9
}
use_moving_average: false
}
max_number_of_boxes: 100
unpad_groundtruth_tensors: false
}
train_input_reader: {
label_map_path: "/home/ubuntu/ssl/workspace/dataset/labelmap_hotspot.pbtxt"
tf_record_input_reader {
input_path: "/home/ubuntu/ssl/workspace/dataset/train_hotspot_apr17.tfrecord"
}
}
eval_config: {
metrics_set: "coco_detection_metrics"
use_moving_averages: false
}
eval_input_reader: {
label_map_path: "/home/ubuntu/ssl/workspace/dataset/labelmap_hotspot.pbtxt"
shuffle: false
num_epochs: 1
tf_record_input_reader {
input_path: "/home/ubuntu/ssl/workspace/dataset/val_hotspot_apr17.tfrecord"
}
}
6. System information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): ubuntu 22.04
- Mobile device name if the issue happens on a mobile device:
- TensorFlow installed from (source or binary): binary
- TensorFlow version (use command below): 2.15
- Python version: 3.10.12
- Bazel version (if compiling from source):
- GCC/Compiler version (if compiling from source):
- CUDA/cuDNN version:
- GPU model and memory: T4
- Ngôn ngữ chính
- Python
- Star
- 77.6k
- Fork
- 44.8k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của tensorflow/models
-
Verify evals on Papers with CodeĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
tensorflow/models#13653 ·
-
object_detection_tutorial.ipynb pretrained model "resnet50 imagenet"Có thể làm lại được @laxmareddyp đã nhận 202 ngày trước và không có pull request nào đang mở. Đang mởtype:support
tensorflow/models#13634 · 2 bình luận · 1 reaction · 1 người được giao ·
-
Tag version compatible with Tensorflow 2.20Có thể làm lại được @bharatjetti đã nhận 277 ngày trước và không có pull request nào đang mở. Đang mởmodels:official type:bug
tensorflow/models#13607 · 1 bình luận · 1 người được giao ·
-
models:research type:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
tensorflow/models#13600 ·
-
Installation Issues on Python 3.13Có thể làm lại được @bharatjetti đã nhận 246 ngày trước và không có pull request nào đang mở. Đang mởmodels:official type:bug
tensorflow/models#13587 · 9 bình luận · 1 người được giao ·
Tất cả issue của tensorflow/models
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
volcengine/OpenViking#7347 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
duolicious/duolicious#1943 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
fedora-infra/anitya#2166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
NVIDIA/auto-ontology#486 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
NVIDIA/SkillEvaluator#446 ·
Maintainer thường phản hồi trong vòng 2 ngày