From 87578498d241fd78d68cdc6b89b9864e013eadd5 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 15 May 2023 08:31:12 +0000 Subject: automatic import of python-yolov4 --- .gitignore | 1 + python-yolov4.spec | 1395 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 1397 insertions(+) create mode 100644 python-yolov4.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..ae25539 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/yolov4-3.2.0.tar.gz diff --git a/python-yolov4.spec b/python-yolov4.spec new file mode 100644 index 0000000..bf24e7f --- /dev/null +++ b/python-yolov4.spec @@ -0,0 +1,1395 @@ +%global _empty_manifest_terminate_build 0 +Name: python-yolov4 +Version: 3.2.0 +Release: 1 +Summary: YOLOv4: Optimal Speed and Accuracy of Object Detection +License: MIT +URL: https://github.com/hhk7734/tensorflow-yolov4 +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ab/7b/cd3cf1740c13dad3d9b2ed3e130a22c34cefc87bab881c57460d842b1c88/yolov4-3.2.0.tar.gz +BuildArch: noarch + + +%description +![license](https://img.shields.io/github/license/hhk7734/tensorflow-yolov4) +![pypi](https://img.shields.io/pypi/v/yolov4) +![language](https://img.shields.io/github/languages/top/hhk7734/tensorflow-yolov4) + +# tensorflow-yolov4 + +YOLOv4 Implemented in Tensorflow 2. + +`>=v3`, :exclamation: Do not try to train. Not yet stable. + +Docs: [https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about](https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about) + +## Installation + +```shell +python3 -m pip install yolov4 +``` + +## Changelog + +Ref: CHANGELOG + +tensorflow-yolov4 (3.2.0) unstable; urgency=medium + + * config: add yolov4-tiny-relu-new_coords.cfg + * c_src: layers: add yolo_tpu_layer_new_coords + * c_src, common, tf, tflite, mAP: add prob_thresh + * config: add yolov4-tiny-relu-new_coords-tpu.cfg + * common: base_class: modify text + + -- Hyeonki Hong Mon, 22 Feb 2021 01:30:53 +0900 + +tensorflow-yolov4 (3.1.0) unstable; urgency=medium + + * tf: layers: yolo_layer: remove some operations + * common: metalayer: yolo_layer: add `new_coords` + * tf: layers: yolo_layer: implement `_coords_1` for `new_coords` + * tf: layers: convolutional_layer: add logistic activation + * c_src: py_box: add `get_yolo_*_detections` + * config: add yolov4-csp.cfg and yolov4x-mish.cfg + * c_src: layers: modify yolo_tpu_layer + * tf, tflite: reflect v3.1.0 changes + + -- Hyeonki Hong Sun, 21 Feb 2021 02:37:18 +0900 + +tensorflow-yolov4 (3.0.1) unstable; urgency=medium + + * pypi: add 'pyproject.toml' and update 'setup.*' + * common: parser: update error message + * c_src: modify extended operator synonyms + * c_src: change c-header to cpp-header + + -- Hyeonki Hong Thu, 18 Feb 2021 19:02:01 +0900 + +tensorflow-yolov4 (3.0.0) unstable; urgency=medium + + * common: parser: add parse_cfg() + * common: config: implement YOLOConfig + * common: metalayer: implement metalayers + * common: metalayer: add YoloTpuLayer + * tf: layers: implement layers + * tf: layers: redefine BatchNormalization for transfer learning + * tf: layers: add YoloTpuLayer + * tf: dataset: refactor YOLODataset + * tf: dataset: add '_augmentation_cache' + * tf: training: refactor YOLOv4Loss + * tf: training: implement YOLOCallbackAtEachStep + * tf: training: refactor SaveWeightsCallback + * tf: utils: move weights.py from tf + * tf: utils: move mAP part from tf + * tf: utils: move tflite part from tf and fix converting issue + * c_src: py_box: add 'yolo_diou_nms' + * c_src: py_box: add convert_dataset_to_ground_truth + * c_src: layers: implement 'yolo_layer' + * tf, tflite: reflect v3.0.0 changes + + -- Hyeonki Hong Mon, 15 Feb 2021 00:15:08 +0900 + +tensorflow-yolov4 (2.1.0) unstable; urgency=medium + + * tflite: add edgetpu_lib argument to load_tflite() + + -- Hyeonki Hong Wed, 27 Jan 2021 11:09:02 +0900 + +tensorflow-yolov4 (2.0.3) unstable; urgency=medium + + * common: allow media_path to be video stream id + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Thu, 07 Jan 2021 21:34:35 +0900 + +tensorflow-yolov4 (2.0.2) ustable; urgency=medium + + * tf: set converter.experimental_new_converter to False + * tf: set converter.inference_in/output_type to tf.uint8 + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Sun, 20 Dec 2020 13:06:08 +0900 + +tensorflow-yolov4 (2.0.1) unstable; urgency=medium + + * tf: set memory growth to True when using GPU + * model: head: correct line ending + * tf: add **kwargs parameter to compile() and fit() + * tf: fix strange ground truth values issue + + -- Hyeonki Hong Sat, 05 Dec 2020 18:26:08 +0900 + +tensorflow-yolov4 (2.0.0) unstable; urgency=medium + + * tf:dataset: add data format check + * common: base_class: change input_size from integer to (width, height) + * common: base_class: set default arguments for candidates_to_pred_bboxes + * tf: dataset: modify variable initialization according to input_size type change + * common: predict: reflect input_size type change + * common: media: reflect input_size type change to resize_image + * tf:dataset: reflect input_size type change to data augmentation + * common: base_class: reflect predict.fit_pred_bboxes_to_original change + * common: predict: fix problem that occurred because image size change was not considered + * tf: reflect input_size type change + * model: head: reflect input_size type change + * tf: train: reflect input_size type change + * common: base_class: change strides to immutable constant + * common: base_class: add cap.release() to release resources + * tflite: reflect input_size type change + * tf: optimize predict() using @tf.function + * common: predict: fix problem caused by incorrect iou calculation + + -- Hyeonki Hong Tue, 27 Oct 2020 00:11:59 +0900 + +tensorflow-yolov4 (1.2.1) unstable; urgency=medium + + * tf: set num_sample to the number of dataset, if not specified + * tf: modify to bring images in order on post-training + * common: base_class: add iou/score_threshold argument + * tf: add images_optional argument in save_dataset_for_mAP() + * common: base_class: modify to call cv2.namedWindow once + * common: media: modify to create colors once + * tf: dataset: update docs + + -- Hyeonki Hong Fri, 04 Sep 2020 20:21:56 +0900 + +tensorflow-yolov4 (1.2.0) unstable; urgency=medium + + * model: remove tpu argument + * tf: reflect model changes + * tflite: remove tpu_hair + * tf, tflite: move inference into BaseClass + * model: yolov4: remove unused import + * pylint: update .pylintrc + * common: base_class: modify inference() to be able to use cam + * common: base_class: add fps display to screen + + -- Hyeonki Hong Tue, 11 Aug 2020 21:43:29 +0900 + +tensorflow-yolov4 (1.1.0) unstable; urgency=medium + + * model: add kernel_regularizer argument + * tf: remove subdivision + * tf: dataset: fix issue where coordinates become 0 due to repeated division + * tf: dataset: modify to shuffle when augmentation + * tf: train: modify order of declaration + * tf: train: give xiou_loss to more weight + * tf: train: use keras.losses.BinaryCrossentropy to avoid nan problem + * tf: train: add verbose argument + * tf: dataset: change converted_coco format + * tf: add image_path_prefix argument to load_dataset() + * tf: add loss_verbose argument to compile() + * tf: reflect dataset format change to save_dataset_for_mAP() + + -- Hyeonki Hong Mon, 10 Aug 2020 19:09:15 +0900 + +tensorflow-yolov4 (1.0.0) unstable; urgency=medium + + * tf: dataset: add `label smooting` argument + * tf: add label_smooting argument to load_dataset() + * tf: train: set truth_conf threshold to 0.5 because of label smoothing + + -- Hyeonki Hong Wed, 05 Aug 2020 13:05:02 +0900 + +tensorflow-yolov4 (0.24.0) unstable; urgency=medium + + * tf: set default num of sample for mAP to 1000 + * tf: fix error handling when image is empty + + -- Hyeonki Hong Tue, 04 Aug 2020 12:40:25 +0900 + +tensorflow-yolov4 (0.23.0) unstable; urgency=medium + + * tf: dataset: add error handling when bboxes are empty + * common: media: replace space of class name to underbar + * tf: implement save_dataset_for_mAP() + * tf: dataset: add error handling when image is empty + + -- Hyeonki Hong Mon, 03 Aug 2020 20:49:51 +0900 + +tensorflow-yolov4 (0.22.0) unstable; urgency=medium + + * tf: add TFLITE_BUILTINS, SELECT_TF_OPS to default supported_ops + * tf: dataset: modify to check if image exists when creating a dataset + * tf: dataset: remove preprocess_dataset + * tf: dataset: add cut_out + * tf: dataset: add _next_random_augmentation_data() + * tf: dataset: add mix_up + * tf: dataset: implement mosaic + + -- Hyeonki Hong Sun, 02 Aug 2020 17:22:43 +0900 + +tensorflow-yolov4 (0.21.0) unstable; urgency=medium + + * tf: train: set epsilon used for division to 1e-8 + * tf: train: add giou and iou to iou_type + * tf: train: fix loss function of bbox_probabilities + + -- Hyeonki Hong Thu, 30 Jul 2020 05:18:12 +0900 + +tensorflow-yolov4 (0.20.0) unstable; urgency=medium + + * tf: train: modify epsilon to 1e-9 + * tf: train: remove weight for conf_noobj_loss + * tf: add arguments to fit() + * tf: dataset: fix problem of not finding images + * tf: add SaveWeightsCallback + + -- Hyeonki Hong Wed, 29 Jul 2020 05:06:25 +0900 + +tensorflow-yolov4 (0.19.0) unstable; urgency=medium + + * tf: weights: modify 'set' to 'load' + * tf: weights: implement *_save_weights + * tf: add save_weights() + + -- Hyeonki Hong Fri, 24 Jul 2020 06:22:14 +0900 + +tensorflow-yolov4 (0.18.0) unstable; urgency=medium + + * yolov4: clarify batch number + * tf: remove by_name in load_weights + * tf: dataset: simplify code + * tf: dataset: fix problem of making a batch with same image + + -- Hyeonki Hong Thu, 23 Jul 2020 20:30:23 +0900 + +tensorflow-yolov4 (0.17.0) unstable; urgency=medium + + * tf: dataset: fix index range for Tiny + * tf: remove expect_partial() in load_weights() + * tflite: fix issue with the number of outputs by model + * model: add tpu argument in Tiny + * tflite: add tpu argument + * utility: rename to common + * common: implement BaseClass + * tflite: add tensorflow.lite + * model: head: change dimension from 4D to 3D in Tiny + * tflite: add tpu_hair + * common: media: add type cast in resize_image + * tf: add num_calibration_steps argument in save_as_tflite + * common: base_class: move strides property from tf + * tf: set by_name to True in load_weights + + Thanks to @RealHandy + + -- Hyeonki Hong Thu, 23 Jul 2020 15:43:08 +0900 + +tensorflow-yolov4 (0.16.0) unstable; urgency=medium + + * tf: add tiny argument to __init__ and remove from others + + -- Hyeonki Hong Wed, 15 Jul 2020 13:21:12 +0900 + +tensorflow-yolov4 (0.15.0) unstable; urgency=medium + + * tf: add quantization and data_set args to save_as_tflite + * utility: media: add string length check + * model: add activation args + * model: head: remove for loop + * model: backbone: implement CSPDarknet53Tiny + * model: neck: implement PANetTiny + * model: head: implement YOLOv3HeadTiny + * model: yolov4: implement YOLOv4Tiny + * tf: weights: implement *_tiny_* funcs + * tf: reflect YOLOv4Tiny + + -- Hyeonki Hong Wed, 15 Jul 2020 03:43:03 +0900 + +tensorflow-yolov4 (0.14.0) unstable; urgency=medium + + * github: add python publish action + * model: neck: use bilinear in UpSampling2D + * test: update script + * tflite: refactor YOLOv4 + * utility: predict: fix according to pylint warning + * pylint: update .pylintrc + * model: head: use tf.constant to avoid broadcasting + * github: add python lint action + + -- Hyeonki Hong Tue, 14 Jul 2020 02:14:12 +0900 + +tensorflow-yolov4 (0.13.0) unstable; urgency=medium + + * tf: remove tensorboard callback + * tf: modify compile() and fit() to be similar to model + * yolov4: rename 'data' to 'test' + * utility: media: update docs and variable name + * utility: predict: remove batch_size + * utility: media: rename funcs + * tf: add utility funcs to YOLOv4 member funcs + * test: add test script + + -- Hyeonki Hong Mon, 13 Jul 2020 13:36:32 +0900 + +tensorflow-yolov4 (0.12.0) unstable; urgency=medium + + * utility: train: refactor bbox_*iou and remove duplicate funcs + * yolov4: rename parameters + * yolov4: remove utils + * tf: add FileNotFoundError in YOLOv4.inference() + * utility: predict: add dimension for batch size + * pylint: update .pylintrc + * tf: add YOLOv4.save_as_tflite() + * model: clean up + * utility: weights: move to tf.weights + * utility: train: move to tf.train + * model: neck: implement PANet + * mdel: head: implement YOLOv3Head + * model: yolov4: Apply neck and head class + * yolov4: reflect model changes + * tf: dataset: add batch_size + * tf: train: implement YOLOv4Loss + * utility: media: modify rectangle thickness + * model: common: use softplus instead of ln(1+exp(x)) + * tf: train: use epsilon instead of tf.math.divide_no_nan + * tf: refactor YOLOv4.fit() and .compile() + + -- Hyeonki Hong Sun, 12 Jul 2020 03:50:50 +0900 + +tensorflow-yolov4 (0.11.0) unstable; urgency=medium + + * tf: remove utils.draw_bbox in predict() + * yolov4: rename files and functions and change order + * utility: utils: remove get_anchors() + * utility: media: impelment resize(), draw_bbox() + * utility: utils: implement DIoU_NMS + * utility: utils: fix dimensional calculation problems + * utility: refactor dataset + * tf: remove train + * utility: train: implement make_compiled_loss() + * utility: media: fix bug that could not resize some images + * utility: train: remove problem of division by zero + + -- Hyeonki Hong Mon, 29 Jun 2020 21:05:39 +0900 + +tensorflow-yolov4 (0.10.0) unstable; urgency=medium + + * core: yolov4: refactor decode() + * core: utils: remove sigmoid in postprocess_bbboxe() + * tf: apply YOLOv4 changes to make_model() + * core: yolov4: move decode_train() to tf.YOLOv4.train() + + -- Hyeonki Hong Thu, 25 Jun 2020 00:48:44 +0900 + +tensorflow-yolov4 (0.9.0) unstable; urgency=medium + + * tf: modify hyperparameters as properties + * tf: add weights_type argument to load_weights() + * core: utils: implement _np_fromfile() + * core: utils: implement a way to partially load weights + * tf: train: move learning_rate_* to argument + * core: move YOLOConv2D to common + * core: common: remove bn argument of YOLOConv2D + * core: utils: refactor yolo_conv2d_set_weights + * core: yolov4: refactor YOLOv4 + * core: utils: refactor load_weights + * tf: refactor make_model + * yolov4: change YoloV4 to YOLOv4 + + -- Hyeonki Hong Wed, 24 Jun 2020 02:58:27 +0900 + +tensorflow-yolov4 (0.8.0) unstable; urgency=medium + + * core: use tf.keras.layers.UpSampling2D + * core: refactor Mish + * core: common: remove residual_block + * core: remove sequential in _ResBlock + * core: backbone: Set LeakyReLU's alpha to 0.1 + + -- Hyeonki Hong Tue, 23 Jun 2020 02:21:01 +0900 + +tensorflow-yolov4 (0.7.0) unstable; urgency=medium + + * tf: fix to proceed to the next step even if an error occurs + * tf: modify video_interval_ms to cv_waitKey_delay + * core: backbone: refactor CSPDarknet53 + * core: utils: implement csp_darknet53_set_weights() + + -- Hyeonki Hong Mon, 22 Jun 2020 23:01:32 +0900 + +tensorflow-yolov4 (0.6.0) unstable; urgency=medium + + * tf: set first_step_epochs according to the weight usage + * tf: fix syntax error + + -- Hyeonki Hong Fri, 19 Jun 2020 17:09:57 +0900 + +tensorflow-yolov4 (0.5.0) unstable; urgency=medium + + * core: dataset: add yolo type + * tf: add dataset_type parameter to YoloV4.train + * tf: add epochs parameter to train + * tf: add save_interval parameter to train + + -- Hyeonki Hong Fri, 19 Jun 2020 14:30:50 +0900 + +tensorflow-yolov4 (0.4.0) unstable; urgency=medium + + * core: dataset: remove cfg module + * tf: implement YoloV4.train + + -- Hyeonki Hong Thu, 11 Jun 2020 17:45:44 +0900 + +tensorflow-yolov4 (0.3.0) unstable; urgency=medium + + * core: utils: use numpy instead of tensorflow + * pypi: remove install_requires and change to manual installation + * yolov4: add video_interval_ms + + -- Hyeonki Hong Mon, 08 Jun 2020 23:59:41 +0900 + +tensorflow-yolov4 (0.2.0) unstable; urgency=medium + + * pylint: create .pylintrc and run black + * core: remove config.py + * yolov4: change tfyolov4 to yolov4 + * yolov4: remove detect**.py and implement YoloV4.inference + + -- Hyeonki Hong Mon, 08 Jun 2020 02:20:49 +0900 + +tensorflow-yolov4 (0.1.0) unstable; urgency=medium + + * yolov4: fork from 'hunglc007/tensorflow-yolov4-tflite' + + -- Hyeonki Hong Fri, 05 Jun 2020 20:17:45 +0900 + +%package -n python3-yolov4 +Summary: YOLOv4: Optimal Speed and Accuracy of Object Detection +Provides: python-yolov4 +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-yolov4 +![license](https://img.shields.io/github/license/hhk7734/tensorflow-yolov4) +![pypi](https://img.shields.io/pypi/v/yolov4) +![language](https://img.shields.io/github/languages/top/hhk7734/tensorflow-yolov4) + +# tensorflow-yolov4 + +YOLOv4 Implemented in Tensorflow 2. + +`>=v3`, :exclamation: Do not try to train. Not yet stable. + +Docs: [https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about](https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about) + +## Installation + +```shell +python3 -m pip install yolov4 +``` + +## Changelog + +Ref: CHANGELOG + +tensorflow-yolov4 (3.2.0) unstable; urgency=medium + + * config: add yolov4-tiny-relu-new_coords.cfg + * c_src: layers: add yolo_tpu_layer_new_coords + * c_src, common, tf, tflite, mAP: add prob_thresh + * config: add yolov4-tiny-relu-new_coords-tpu.cfg + * common: base_class: modify text + + -- Hyeonki Hong Mon, 22 Feb 2021 01:30:53 +0900 + +tensorflow-yolov4 (3.1.0) unstable; urgency=medium + + * tf: layers: yolo_layer: remove some operations + * common: metalayer: yolo_layer: add `new_coords` + * tf: layers: yolo_layer: implement `_coords_1` for `new_coords` + * tf: layers: convolutional_layer: add logistic activation + * c_src: py_box: add `get_yolo_*_detections` + * config: add yolov4-csp.cfg and yolov4x-mish.cfg + * c_src: layers: modify yolo_tpu_layer + * tf, tflite: reflect v3.1.0 changes + + -- Hyeonki Hong Sun, 21 Feb 2021 02:37:18 +0900 + +tensorflow-yolov4 (3.0.1) unstable; urgency=medium + + * pypi: add 'pyproject.toml' and update 'setup.*' + * common: parser: update error message + * c_src: modify extended operator synonyms + * c_src: change c-header to cpp-header + + -- Hyeonki Hong Thu, 18 Feb 2021 19:02:01 +0900 + +tensorflow-yolov4 (3.0.0) unstable; urgency=medium + + * common: parser: add parse_cfg() + * common: config: implement YOLOConfig + * common: metalayer: implement metalayers + * common: metalayer: add YoloTpuLayer + * tf: layers: implement layers + * tf: layers: redefine BatchNormalization for transfer learning + * tf: layers: add YoloTpuLayer + * tf: dataset: refactor YOLODataset + * tf: dataset: add '_augmentation_cache' + * tf: training: refactor YOLOv4Loss + * tf: training: implement YOLOCallbackAtEachStep + * tf: training: refactor SaveWeightsCallback + * tf: utils: move weights.py from tf + * tf: utils: move mAP part from tf + * tf: utils: move tflite part from tf and fix converting issue + * c_src: py_box: add 'yolo_diou_nms' + * c_src: py_box: add convert_dataset_to_ground_truth + * c_src: layers: implement 'yolo_layer' + * tf, tflite: reflect v3.0.0 changes + + -- Hyeonki Hong Mon, 15 Feb 2021 00:15:08 +0900 + +tensorflow-yolov4 (2.1.0) unstable; urgency=medium + + * tflite: add edgetpu_lib argument to load_tflite() + + -- Hyeonki Hong Wed, 27 Jan 2021 11:09:02 +0900 + +tensorflow-yolov4 (2.0.3) unstable; urgency=medium + + * common: allow media_path to be video stream id + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Thu, 07 Jan 2021 21:34:35 +0900 + +tensorflow-yolov4 (2.0.2) ustable; urgency=medium + + * tf: set converter.experimental_new_converter to False + * tf: set converter.inference_in/output_type to tf.uint8 + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Sun, 20 Dec 2020 13:06:08 +0900 + +tensorflow-yolov4 (2.0.1) unstable; urgency=medium + + * tf: set memory growth to True when using GPU + * model: head: correct line ending + * tf: add **kwargs parameter to compile() and fit() + * tf: fix strange ground truth values issue + + -- Hyeonki Hong Sat, 05 Dec 2020 18:26:08 +0900 + +tensorflow-yolov4 (2.0.0) unstable; urgency=medium + + * tf:dataset: add data format check + * common: base_class: change input_size from integer to (width, height) + * common: base_class: set default arguments for candidates_to_pred_bboxes + * tf: dataset: modify variable initialization according to input_size type change + * common: predict: reflect input_size type change + * common: media: reflect input_size type change to resize_image + * tf:dataset: reflect input_size type change to data augmentation + * common: base_class: reflect predict.fit_pred_bboxes_to_original change + * common: predict: fix problem that occurred because image size change was not considered + * tf: reflect input_size type change + * model: head: reflect input_size type change + * tf: train: reflect input_size type change + * common: base_class: change strides to immutable constant + * common: base_class: add cap.release() to release resources + * tflite: reflect input_size type change + * tf: optimize predict() using @tf.function + * common: predict: fix problem caused by incorrect iou calculation + + -- Hyeonki Hong Tue, 27 Oct 2020 00:11:59 +0900 + +tensorflow-yolov4 (1.2.1) unstable; urgency=medium + + * tf: set num_sample to the number of dataset, if not specified + * tf: modify to bring images in order on post-training + * common: base_class: add iou/score_threshold argument + * tf: add images_optional argument in save_dataset_for_mAP() + * common: base_class: modify to call cv2.namedWindow once + * common: media: modify to create colors once + * tf: dataset: update docs + + -- Hyeonki Hong Fri, 04 Sep 2020 20:21:56 +0900 + +tensorflow-yolov4 (1.2.0) unstable; urgency=medium + + * model: remove tpu argument + * tf: reflect model changes + * tflite: remove tpu_hair + * tf, tflite: move inference into BaseClass + * model: yolov4: remove unused import + * pylint: update .pylintrc + * common: base_class: modify inference() to be able to use cam + * common: base_class: add fps display to screen + + -- Hyeonki Hong Tue, 11 Aug 2020 21:43:29 +0900 + +tensorflow-yolov4 (1.1.0) unstable; urgency=medium + + * model: add kernel_regularizer argument + * tf: remove subdivision + * tf: dataset: fix issue where coordinates become 0 due to repeated division + * tf: dataset: modify to shuffle when augmentation + * tf: train: modify order of declaration + * tf: train: give xiou_loss to more weight + * tf: train: use keras.losses.BinaryCrossentropy to avoid nan problem + * tf: train: add verbose argument + * tf: dataset: change converted_coco format + * tf: add image_path_prefix argument to load_dataset() + * tf: add loss_verbose argument to compile() + * tf: reflect dataset format change to save_dataset_for_mAP() + + -- Hyeonki Hong Mon, 10 Aug 2020 19:09:15 +0900 + +tensorflow-yolov4 (1.0.0) unstable; urgency=medium + + * tf: dataset: add `label smooting` argument + * tf: add label_smooting argument to load_dataset() + * tf: train: set truth_conf threshold to 0.5 because of label smoothing + + -- Hyeonki Hong Wed, 05 Aug 2020 13:05:02 +0900 + +tensorflow-yolov4 (0.24.0) unstable; urgency=medium + + * tf: set default num of sample for mAP to 1000 + * tf: fix error handling when image is empty + + -- Hyeonki Hong Tue, 04 Aug 2020 12:40:25 +0900 + +tensorflow-yolov4 (0.23.0) unstable; urgency=medium + + * tf: dataset: add error handling when bboxes are empty + * common: media: replace space of class name to underbar + * tf: implement save_dataset_for_mAP() + * tf: dataset: add error handling when image is empty + + -- Hyeonki Hong Mon, 03 Aug 2020 20:49:51 +0900 + +tensorflow-yolov4 (0.22.0) unstable; urgency=medium + + * tf: add TFLITE_BUILTINS, SELECT_TF_OPS to default supported_ops + * tf: dataset: modify to check if image exists when creating a dataset + * tf: dataset: remove preprocess_dataset + * tf: dataset: add cut_out + * tf: dataset: add _next_random_augmentation_data() + * tf: dataset: add mix_up + * tf: dataset: implement mosaic + + -- Hyeonki Hong Sun, 02 Aug 2020 17:22:43 +0900 + +tensorflow-yolov4 (0.21.0) unstable; urgency=medium + + * tf: train: set epsilon used for division to 1e-8 + * tf: train: add giou and iou to iou_type + * tf: train: fix loss function of bbox_probabilities + + -- Hyeonki Hong Thu, 30 Jul 2020 05:18:12 +0900 + +tensorflow-yolov4 (0.20.0) unstable; urgency=medium + + * tf: train: modify epsilon to 1e-9 + * tf: train: remove weight for conf_noobj_loss + * tf: add arguments to fit() + * tf: dataset: fix problem of not finding images + * tf: add SaveWeightsCallback + + -- Hyeonki Hong Wed, 29 Jul 2020 05:06:25 +0900 + +tensorflow-yolov4 (0.19.0) unstable; urgency=medium + + * tf: weights: modify 'set' to 'load' + * tf: weights: implement *_save_weights + * tf: add save_weights() + + -- Hyeonki Hong Fri, 24 Jul 2020 06:22:14 +0900 + +tensorflow-yolov4 (0.18.0) unstable; urgency=medium + + * yolov4: clarify batch number + * tf: remove by_name in load_weights + * tf: dataset: simplify code + * tf: dataset: fix problem of making a batch with same image + + -- Hyeonki Hong Thu, 23 Jul 2020 20:30:23 +0900 + +tensorflow-yolov4 (0.17.0) unstable; urgency=medium + + * tf: dataset: fix index range for Tiny + * tf: remove expect_partial() in load_weights() + * tflite: fix issue with the number of outputs by model + * model: add tpu argument in Tiny + * tflite: add tpu argument + * utility: rename to common + * common: implement BaseClass + * tflite: add tensorflow.lite + * model: head: change dimension from 4D to 3D in Tiny + * tflite: add tpu_hair + * common: media: add type cast in resize_image + * tf: add num_calibration_steps argument in save_as_tflite + * common: base_class: move strides property from tf + * tf: set by_name to True in load_weights + + Thanks to @RealHandy + + -- Hyeonki Hong Thu, 23 Jul 2020 15:43:08 +0900 + +tensorflow-yolov4 (0.16.0) unstable; urgency=medium + + * tf: add tiny argument to __init__ and remove from others + + -- Hyeonki Hong Wed, 15 Jul 2020 13:21:12 +0900 + +tensorflow-yolov4 (0.15.0) unstable; urgency=medium + + * tf: add quantization and data_set args to save_as_tflite + * utility: media: add string length check + * model: add activation args + * model: head: remove for loop + * model: backbone: implement CSPDarknet53Tiny + * model: neck: implement PANetTiny + * model: head: implement YOLOv3HeadTiny + * model: yolov4: implement YOLOv4Tiny + * tf: weights: implement *_tiny_* funcs + * tf: reflect YOLOv4Tiny + + -- Hyeonki Hong Wed, 15 Jul 2020 03:43:03 +0900 + +tensorflow-yolov4 (0.14.0) unstable; urgency=medium + + * github: add python publish action + * model: neck: use bilinear in UpSampling2D + * test: update script + * tflite: refactor YOLOv4 + * utility: predict: fix according to pylint warning + * pylint: update .pylintrc + * model: head: use tf.constant to avoid broadcasting + * github: add python lint action + + -- Hyeonki Hong Tue, 14 Jul 2020 02:14:12 +0900 + +tensorflow-yolov4 (0.13.0) unstable; urgency=medium + + * tf: remove tensorboard callback + * tf: modify compile() and fit() to be similar to model + * yolov4: rename 'data' to 'test' + * utility: media: update docs and variable name + * utility: predict: remove batch_size + * utility: media: rename funcs + * tf: add utility funcs to YOLOv4 member funcs + * test: add test script + + -- Hyeonki Hong Mon, 13 Jul 2020 13:36:32 +0900 + +tensorflow-yolov4 (0.12.0) unstable; urgency=medium + + * utility: train: refactor bbox_*iou and remove duplicate funcs + * yolov4: rename parameters + * yolov4: remove utils + * tf: add FileNotFoundError in YOLOv4.inference() + * utility: predict: add dimension for batch size + * pylint: update .pylintrc + * tf: add YOLOv4.save_as_tflite() + * model: clean up + * utility: weights: move to tf.weights + * utility: train: move to tf.train + * model: neck: implement PANet + * mdel: head: implement YOLOv3Head + * model: yolov4: Apply neck and head class + * yolov4: reflect model changes + * tf: dataset: add batch_size + * tf: train: implement YOLOv4Loss + * utility: media: modify rectangle thickness + * model: common: use softplus instead of ln(1+exp(x)) + * tf: train: use epsilon instead of tf.math.divide_no_nan + * tf: refactor YOLOv4.fit() and .compile() + + -- Hyeonki Hong Sun, 12 Jul 2020 03:50:50 +0900 + +tensorflow-yolov4 (0.11.0) unstable; urgency=medium + + * tf: remove utils.draw_bbox in predict() + * yolov4: rename files and functions and change order + * utility: utils: remove get_anchors() + * utility: media: impelment resize(), draw_bbox() + * utility: utils: implement DIoU_NMS + * utility: utils: fix dimensional calculation problems + * utility: refactor dataset + * tf: remove train + * utility: train: implement make_compiled_loss() + * utility: media: fix bug that could not resize some images + * utility: train: remove problem of division by zero + + -- Hyeonki Hong Mon, 29 Jun 2020 21:05:39 +0900 + +tensorflow-yolov4 (0.10.0) unstable; urgency=medium + + * core: yolov4: refactor decode() + * core: utils: remove sigmoid in postprocess_bbboxe() + * tf: apply YOLOv4 changes to make_model() + * core: yolov4: move decode_train() to tf.YOLOv4.train() + + -- Hyeonki Hong Thu, 25 Jun 2020 00:48:44 +0900 + +tensorflow-yolov4 (0.9.0) unstable; urgency=medium + + * tf: modify hyperparameters as properties + * tf: add weights_type argument to load_weights() + * core: utils: implement _np_fromfile() + * core: utils: implement a way to partially load weights + * tf: train: move learning_rate_* to argument + * core: move YOLOConv2D to common + * core: common: remove bn argument of YOLOConv2D + * core: utils: refactor yolo_conv2d_set_weights + * core: yolov4: refactor YOLOv4 + * core: utils: refactor load_weights + * tf: refactor make_model + * yolov4: change YoloV4 to YOLOv4 + + -- Hyeonki Hong Wed, 24 Jun 2020 02:58:27 +0900 + +tensorflow-yolov4 (0.8.0) unstable; urgency=medium + + * core: use tf.keras.layers.UpSampling2D + * core: refactor Mish + * core: common: remove residual_block + * core: remove sequential in _ResBlock + * core: backbone: Set LeakyReLU's alpha to 0.1 + + -- Hyeonki Hong Tue, 23 Jun 2020 02:21:01 +0900 + +tensorflow-yolov4 (0.7.0) unstable; urgency=medium + + * tf: fix to proceed to the next step even if an error occurs + * tf: modify video_interval_ms to cv_waitKey_delay + * core: backbone: refactor CSPDarknet53 + * core: utils: implement csp_darknet53_set_weights() + + -- Hyeonki Hong Mon, 22 Jun 2020 23:01:32 +0900 + +tensorflow-yolov4 (0.6.0) unstable; urgency=medium + + * tf: set first_step_epochs according to the weight usage + * tf: fix syntax error + + -- Hyeonki Hong Fri, 19 Jun 2020 17:09:57 +0900 + +tensorflow-yolov4 (0.5.0) unstable; urgency=medium + + * core: dataset: add yolo type + * tf: add dataset_type parameter to YoloV4.train + * tf: add epochs parameter to train + * tf: add save_interval parameter to train + + -- Hyeonki Hong Fri, 19 Jun 2020 14:30:50 +0900 + +tensorflow-yolov4 (0.4.0) unstable; urgency=medium + + * core: dataset: remove cfg module + * tf: implement YoloV4.train + + -- Hyeonki Hong Thu, 11 Jun 2020 17:45:44 +0900 + +tensorflow-yolov4 (0.3.0) unstable; urgency=medium + + * core: utils: use numpy instead of tensorflow + * pypi: remove install_requires and change to manual installation + * yolov4: add video_interval_ms + + -- Hyeonki Hong Mon, 08 Jun 2020 23:59:41 +0900 + +tensorflow-yolov4 (0.2.0) unstable; urgency=medium + + * pylint: create .pylintrc and run black + * core: remove config.py + * yolov4: change tfyolov4 to yolov4 + * yolov4: remove detect**.py and implement YoloV4.inference + + -- Hyeonki Hong Mon, 08 Jun 2020 02:20:49 +0900 + +tensorflow-yolov4 (0.1.0) unstable; urgency=medium + + * yolov4: fork from 'hunglc007/tensorflow-yolov4-tflite' + + -- Hyeonki Hong Fri, 05 Jun 2020 20:17:45 +0900 + +%package help +Summary: Development documents and examples for yolov4 +Provides: python3-yolov4-doc +%description help +![license](https://img.shields.io/github/license/hhk7734/tensorflow-yolov4) +![pypi](https://img.shields.io/pypi/v/yolov4) +![language](https://img.shields.io/github/languages/top/hhk7734/tensorflow-yolov4) + +# tensorflow-yolov4 + +YOLOv4 Implemented in Tensorflow 2. + +`>=v3`, :exclamation: Do not try to train. Not yet stable. + +Docs: [https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about](https://wiki.loliot.net/docs/lang/python/libraries/yolov4/python-yolov4-about) + +## Installation + +```shell +python3 -m pip install yolov4 +``` + +## Changelog + +Ref: CHANGELOG + +tensorflow-yolov4 (3.2.0) unstable; urgency=medium + + * config: add yolov4-tiny-relu-new_coords.cfg + * c_src: layers: add yolo_tpu_layer_new_coords + * c_src, common, tf, tflite, mAP: add prob_thresh + * config: add yolov4-tiny-relu-new_coords-tpu.cfg + * common: base_class: modify text + + -- Hyeonki Hong Mon, 22 Feb 2021 01:30:53 +0900 + +tensorflow-yolov4 (3.1.0) unstable; urgency=medium + + * tf: layers: yolo_layer: remove some operations + * common: metalayer: yolo_layer: add `new_coords` + * tf: layers: yolo_layer: implement `_coords_1` for `new_coords` + * tf: layers: convolutional_layer: add logistic activation + * c_src: py_box: add `get_yolo_*_detections` + * config: add yolov4-csp.cfg and yolov4x-mish.cfg + * c_src: layers: modify yolo_tpu_layer + * tf, tflite: reflect v3.1.0 changes + + -- Hyeonki Hong Sun, 21 Feb 2021 02:37:18 +0900 + +tensorflow-yolov4 (3.0.1) unstable; urgency=medium + + * pypi: add 'pyproject.toml' and update 'setup.*' + * common: parser: update error message + * c_src: modify extended operator synonyms + * c_src: change c-header to cpp-header + + -- Hyeonki Hong Thu, 18 Feb 2021 19:02:01 +0900 + +tensorflow-yolov4 (3.0.0) unstable; urgency=medium + + * common: parser: add parse_cfg() + * common: config: implement YOLOConfig + * common: metalayer: implement metalayers + * common: metalayer: add YoloTpuLayer + * tf: layers: implement layers + * tf: layers: redefine BatchNormalization for transfer learning + * tf: layers: add YoloTpuLayer + * tf: dataset: refactor YOLODataset + * tf: dataset: add '_augmentation_cache' + * tf: training: refactor YOLOv4Loss + * tf: training: implement YOLOCallbackAtEachStep + * tf: training: refactor SaveWeightsCallback + * tf: utils: move weights.py from tf + * tf: utils: move mAP part from tf + * tf: utils: move tflite part from tf and fix converting issue + * c_src: py_box: add 'yolo_diou_nms' + * c_src: py_box: add convert_dataset_to_ground_truth + * c_src: layers: implement 'yolo_layer' + * tf, tflite: reflect v3.0.0 changes + + -- Hyeonki Hong Mon, 15 Feb 2021 00:15:08 +0900 + +tensorflow-yolov4 (2.1.0) unstable; urgency=medium + + * tflite: add edgetpu_lib argument to load_tflite() + + -- Hyeonki Hong Wed, 27 Jan 2021 11:09:02 +0900 + +tensorflow-yolov4 (2.0.3) unstable; urgency=medium + + * common: allow media_path to be video stream id + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Thu, 07 Jan 2021 21:34:35 +0900 + +tensorflow-yolov4 (2.0.2) ustable; urgency=medium + + * tf: set converter.experimental_new_converter to False + * tf: set converter.inference_in/output_type to tf.uint8 + * tflite: fix problem of not finding load_delegate() + + -- Hyeonki Hong Sun, 20 Dec 2020 13:06:08 +0900 + +tensorflow-yolov4 (2.0.1) unstable; urgency=medium + + * tf: set memory growth to True when using GPU + * model: head: correct line ending + * tf: add **kwargs parameter to compile() and fit() + * tf: fix strange ground truth values issue + + -- Hyeonki Hong Sat, 05 Dec 2020 18:26:08 +0900 + +tensorflow-yolov4 (2.0.0) unstable; urgency=medium + + * tf:dataset: add data format check + * common: base_class: change input_size from integer to (width, height) + * common: base_class: set default arguments for candidates_to_pred_bboxes + * tf: dataset: modify variable initialization according to input_size type change + * common: predict: reflect input_size type change + * common: media: reflect input_size type change to resize_image + * tf:dataset: reflect input_size type change to data augmentation + * common: base_class: reflect predict.fit_pred_bboxes_to_original change + * common: predict: fix problem that occurred because image size change was not considered + * tf: reflect input_size type change + * model: head: reflect input_size type change + * tf: train: reflect input_size type change + * common: base_class: change strides to immutable constant + * common: base_class: add cap.release() to release resources + * tflite: reflect input_size type change + * tf: optimize predict() using @tf.function + * common: predict: fix problem caused by incorrect iou calculation + + -- Hyeonki Hong Tue, 27 Oct 2020 00:11:59 +0900 + +tensorflow-yolov4 (1.2.1) unstable; urgency=medium + + * tf: set num_sample to the number of dataset, if not specified + * tf: modify to bring images in order on post-training + * common: base_class: add iou/score_threshold argument + * tf: add images_optional argument in save_dataset_for_mAP() + * common: base_class: modify to call cv2.namedWindow once + * common: media: modify to create colors once + * tf: dataset: update docs + + -- Hyeonki Hong Fri, 04 Sep 2020 20:21:56 +0900 + +tensorflow-yolov4 (1.2.0) unstable; urgency=medium + + * model: remove tpu argument + * tf: reflect model changes + * tflite: remove tpu_hair + * tf, tflite: move inference into BaseClass + * model: yolov4: remove unused import + * pylint: update .pylintrc + * common: base_class: modify inference() to be able to use cam + * common: base_class: add fps display to screen + + -- Hyeonki Hong Tue, 11 Aug 2020 21:43:29 +0900 + +tensorflow-yolov4 (1.1.0) unstable; urgency=medium + + * model: add kernel_regularizer argument + * tf: remove subdivision + * tf: dataset: fix issue where coordinates become 0 due to repeated division + * tf: dataset: modify to shuffle when augmentation + * tf: train: modify order of declaration + * tf: train: give xiou_loss to more weight + * tf: train: use keras.losses.BinaryCrossentropy to avoid nan problem + * tf: train: add verbose argument + * tf: dataset: change converted_coco format + * tf: add image_path_prefix argument to load_dataset() + * tf: add loss_verbose argument to compile() + * tf: reflect dataset format change to save_dataset_for_mAP() + + -- Hyeonki Hong Mon, 10 Aug 2020 19:09:15 +0900 + +tensorflow-yolov4 (1.0.0) unstable; urgency=medium + + * tf: dataset: add `label smooting` argument + * tf: add label_smooting argument to load_dataset() + * tf: train: set truth_conf threshold to 0.5 because of label smoothing + + -- Hyeonki Hong Wed, 05 Aug 2020 13:05:02 +0900 + +tensorflow-yolov4 (0.24.0) unstable; urgency=medium + + * tf: set default num of sample for mAP to 1000 + * tf: fix error handling when image is empty + + -- Hyeonki Hong Tue, 04 Aug 2020 12:40:25 +0900 + +tensorflow-yolov4 (0.23.0) unstable; urgency=medium + + * tf: dataset: add error handling when bboxes are empty + * common: media: replace space of class name to underbar + * tf: implement save_dataset_for_mAP() + * tf: dataset: add error handling when image is empty + + -- Hyeonki Hong Mon, 03 Aug 2020 20:49:51 +0900 + +tensorflow-yolov4 (0.22.0) unstable; urgency=medium + + * tf: add TFLITE_BUILTINS, SELECT_TF_OPS to default supported_ops + * tf: dataset: modify to check if image exists when creating a dataset + * tf: dataset: remove preprocess_dataset + * tf: dataset: add cut_out + * tf: dataset: add _next_random_augmentation_data() + * tf: dataset: add mix_up + * tf: dataset: implement mosaic + + -- Hyeonki Hong Sun, 02 Aug 2020 17:22:43 +0900 + +tensorflow-yolov4 (0.21.0) unstable; urgency=medium + + * tf: train: set epsilon used for division to 1e-8 + * tf: train: add giou and iou to iou_type + * tf: train: fix loss function of bbox_probabilities + + -- Hyeonki Hong Thu, 30 Jul 2020 05:18:12 +0900 + +tensorflow-yolov4 (0.20.0) unstable; urgency=medium + + * tf: train: modify epsilon to 1e-9 + * tf: train: remove weight for conf_noobj_loss + * tf: add arguments to fit() + * tf: dataset: fix problem of not finding images + * tf: add SaveWeightsCallback + + -- Hyeonki Hong Wed, 29 Jul 2020 05:06:25 +0900 + +tensorflow-yolov4 (0.19.0) unstable; urgency=medium + + * tf: weights: modify 'set' to 'load' + * tf: weights: implement *_save_weights + * tf: add save_weights() + + -- Hyeonki Hong Fri, 24 Jul 2020 06:22:14 +0900 + +tensorflow-yolov4 (0.18.0) unstable; urgency=medium + + * yolov4: clarify batch number + * tf: remove by_name in load_weights + * tf: dataset: simplify code + * tf: dataset: fix problem of making a batch with same image + + -- Hyeonki Hong Thu, 23 Jul 2020 20:30:23 +0900 + +tensorflow-yolov4 (0.17.0) unstable; urgency=medium + + * tf: dataset: fix index range for Tiny + * tf: remove expect_partial() in load_weights() + * tflite: fix issue with the number of outputs by model + * model: add tpu argument in Tiny + * tflite: add tpu argument + * utility: rename to common + * common: implement BaseClass + * tflite: add tensorflow.lite + * model: head: change dimension from 4D to 3D in Tiny + * tflite: add tpu_hair + * common: media: add type cast in resize_image + * tf: add num_calibration_steps argument in save_as_tflite + * common: base_class: move strides property from tf + * tf: set by_name to True in load_weights + + Thanks to @RealHandy + + -- Hyeonki Hong Thu, 23 Jul 2020 15:43:08 +0900 + +tensorflow-yolov4 (0.16.0) unstable; urgency=medium + + * tf: add tiny argument to __init__ and remove from others + + -- Hyeonki Hong Wed, 15 Jul 2020 13:21:12 +0900 + +tensorflow-yolov4 (0.15.0) unstable; urgency=medium + + * tf: add quantization and data_set args to save_as_tflite + * utility: media: add string length check + * model: add activation args + * model: head: remove for loop + * model: backbone: implement CSPDarknet53Tiny + * model: neck: implement PANetTiny + * model: head: implement YOLOv3HeadTiny + * model: yolov4: implement YOLOv4Tiny + * tf: weights: implement *_tiny_* funcs + * tf: reflect YOLOv4Tiny + + -- Hyeonki Hong Wed, 15 Jul 2020 03:43:03 +0900 + +tensorflow-yolov4 (0.14.0) unstable; urgency=medium + + * github: add python publish action + * model: neck: use bilinear in UpSampling2D + * test: update script + * tflite: refactor YOLOv4 + * utility: predict: fix according to pylint warning + * pylint: update .pylintrc + * model: head: use tf.constant to avoid broadcasting + * github: add python lint action + + -- Hyeonki Hong Tue, 14 Jul 2020 02:14:12 +0900 + +tensorflow-yolov4 (0.13.0) unstable; urgency=medium + + * tf: remove tensorboard callback + * tf: modify compile() and fit() to be similar to model + * yolov4: rename 'data' to 'test' + * utility: media: update docs and variable name + * utility: predict: remove batch_size + * utility: media: rename funcs + * tf: add utility funcs to YOLOv4 member funcs + * test: add test script + + -- Hyeonki Hong Mon, 13 Jul 2020 13:36:32 +0900 + +tensorflow-yolov4 (0.12.0) unstable; urgency=medium + + * utility: train: refactor bbox_*iou and remove duplicate funcs + * yolov4: rename parameters + * yolov4: remove utils + * tf: add FileNotFoundError in YOLOv4.inference() + * utility: predict: add dimension for batch size + * pylint: update .pylintrc + * tf: add YOLOv4.save_as_tflite() + * model: clean up + * utility: weights: move to tf.weights + * utility: train: move to tf.train + * model: neck: implement PANet + * mdel: head: implement YOLOv3Head + * model: yolov4: Apply neck and head class + * yolov4: reflect model changes + * tf: dataset: add batch_size + * tf: train: implement YOLOv4Loss + * utility: media: modify rectangle thickness + * model: common: use softplus instead of ln(1+exp(x)) + * tf: train: use epsilon instead of tf.math.divide_no_nan + * tf: refactor YOLOv4.fit() and .compile() + + -- Hyeonki Hong Sun, 12 Jul 2020 03:50:50 +0900 + +tensorflow-yolov4 (0.11.0) unstable; urgency=medium + + * tf: remove utils.draw_bbox in predict() + * yolov4: rename files and functions and change order + * utility: utils: remove get_anchors() + * utility: media: impelment resize(), draw_bbox() + * utility: utils: implement DIoU_NMS + * utility: utils: fix dimensional calculation problems + * utility: refactor dataset + * tf: remove train + * utility: train: implement make_compiled_loss() + * utility: media: fix bug that could not resize some images + * utility: train: remove problem of division by zero + + -- Hyeonki Hong Mon, 29 Jun 2020 21:05:39 +0900 + +tensorflow-yolov4 (0.10.0) unstable; urgency=medium + + * core: yolov4: refactor decode() + * core: utils: remove sigmoid in postprocess_bbboxe() + * tf: apply YOLOv4 changes to make_model() + * core: yolov4: move decode_train() to tf.YOLOv4.train() + + -- Hyeonki Hong Thu, 25 Jun 2020 00:48:44 +0900 + +tensorflow-yolov4 (0.9.0) unstable; urgency=medium + + * tf: modify hyperparameters as properties + * tf: add weights_type argument to load_weights() + * core: utils: implement _np_fromfile() + * core: utils: implement a way to partially load weights + * tf: train: move learning_rate_* to argument + * core: move YOLOConv2D to common + * core: common: remove bn argument of YOLOConv2D + * core: utils: refactor yolo_conv2d_set_weights + * core: yolov4: refactor YOLOv4 + * core: utils: refactor load_weights + * tf: refactor make_model + * yolov4: change YoloV4 to YOLOv4 + + -- Hyeonki Hong Wed, 24 Jun 2020 02:58:27 +0900 + +tensorflow-yolov4 (0.8.0) unstable; urgency=medium + + * core: use tf.keras.layers.UpSampling2D + * core: refactor Mish + * core: common: remove residual_block + * core: remove sequential in _ResBlock + * core: backbone: Set LeakyReLU's alpha to 0.1 + + -- Hyeonki Hong Tue, 23 Jun 2020 02:21:01 +0900 + +tensorflow-yolov4 (0.7.0) unstable; urgency=medium + + * tf: fix to proceed to the next step even if an error occurs + * tf: modify video_interval_ms to cv_waitKey_delay + * core: backbone: refactor CSPDarknet53 + * core: utils: implement csp_darknet53_set_weights() + + -- Hyeonki Hong Mon, 22 Jun 2020 23:01:32 +0900 + +tensorflow-yolov4 (0.6.0) unstable; urgency=medium + + * tf: set first_step_epochs according to the weight usage + * tf: fix syntax error + + -- Hyeonki Hong Fri, 19 Jun 2020 17:09:57 +0900 + +tensorflow-yolov4 (0.5.0) unstable; urgency=medium + + * core: dataset: add yolo type + * tf: add dataset_type parameter to YoloV4.train + * tf: add epochs parameter to train + * tf: add save_interval parameter to train + + -- Hyeonki Hong Fri, 19 Jun 2020 14:30:50 +0900 + +tensorflow-yolov4 (0.4.0) unstable; urgency=medium + + * core: dataset: remove cfg module + * tf: implement YoloV4.train + + -- Hyeonki Hong Thu, 11 Jun 2020 17:45:44 +0900 + +tensorflow-yolov4 (0.3.0) unstable; urgency=medium + + * core: utils: use numpy instead of tensorflow + * pypi: remove install_requires and change to manual installation + * yolov4: add video_interval_ms + + -- Hyeonki Hong Mon, 08 Jun 2020 23:59:41 +0900 + +tensorflow-yolov4 (0.2.0) unstable; urgency=medium + + * pylint: create .pylintrc and run black + * core: remove config.py + * yolov4: change tfyolov4 to yolov4 + * yolov4: remove detect**.py and implement YoloV4.inference + + -- Hyeonki Hong Mon, 08 Jun 2020 02:20:49 +0900 + +tensorflow-yolov4 (0.1.0) unstable; urgency=medium + + * yolov4: fork from 'hunglc007/tensorflow-yolov4-tflite' + + -- Hyeonki Hong Fri, 05 Jun 2020 20:17:45 +0900 + +%prep +%autosetup -n yolov4-3.2.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-yolov4 -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot - 3.2.0-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..57a1218 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +9aa44a56d4a104226afa244b38856e88 yolov4-3.2.0.tar.gz -- cgit v1.2.3