Train grayscale image for object detection model and expecting 1 channel tensor input, but it still want 3 channels tensor input
@laxmareddyp がすでに取り組んでいます。
2024年4月23日 から。
評価
この issue はまだ評価されていません。
説明
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
- 主要言語
- Python
- スター
- 77.6k
- フォーク
- 44.8k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
tensorflow/models のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
tensorflow/models#13653 ·
-
object_detection_tutorial.ipynb pretrained model "resnet50 imagenet"再び着手できるかも @laxmareddyp が 202 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンtype:support
tensorflow/models#13634 · コメント 2 件 · リアクション 1 件 · 担当者 1 名 ·
-
Tag version compatible with Tensorflow 2.20再び着手できるかも @bharatjetti が 277 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンmodels:official type:bug
tensorflow/models#13607 · コメント 1 件 · 担当者 1 名 ·
-
models:research type:feature
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
tensorflow/models#13600 ·
-
Installation Issues on Python 3.13再び着手できるかも @bharatjetti が 246 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンmodels:official type:bug
tensorflow/models#13587 · コメント 9 件 · 担当者 1 名 ·
tensorflow/models の issue をすべて見る
似ている issue
-
cli good first issue help wanted python up-for-grabs
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
andrewsiah/agentswarm-data-tasks#36 ·
メンテナーはふだん 1 日以内に返信
-
bug drawing-tools
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
cofade/open-garden-planner#827 ·
メンテナーはふだん 1 日以内に返信
-
Methodology pageオープンdocumentation site texts
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
Krasnopjorovs/temet#66 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信