Metadata-Version: 2.1
Name: yolov4
Version: 0.11.0
Summary: UNKNOWN
Home-page: https://github.com/hhk7734/tensorflow-yolov4
Author: Hyeonki Hong
Author-email: hhk7734@gmail.com
License: MIT
Project-URL: Documentation, https://github.com/hhk7734/tensorflow-yolov4
Project-URL: "Source Code", https://github.com/hhk7734/tensorflow-yolov4
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
        
        ```shell
        python3 -m pip install yolov4
        ```
        
        YOLOv4 Implemented in Tensorflow 2.
        
        Download yolov4.weights file: https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT
        
        ## Dependencies
        
        ```shell
        python3 -m pip install -U pip setuptools wheel
        ```
        
        ```shell
        python3 -m pip install numpy
        ```
        
        Install OpenCV (cv2)
        
        ### Tensorflow 2
        
        ```shell
        python3 -m pip install tensorflow
        ```
        
        ### TFlite
        
        Ref: [https://www.tensorflow.org/lite/guide/python](https://www.tensorflow.org/lite/guide/python)
        
        ## Performance
        
        <p align="center"><img src="data/performance.png" width="640"\></p>
        
        ## Help
        
        ```python
        >>> from yolov4.tf import YOLOv4
        >>> help(YOLOv4)
        ```
        
        ## Inference
        
        ### tensorflow
        
        ```python
        from yolov4.tf import YOLOv4
        
        yolo = YOLOv4()
        
        yolo.classes = "/home/hhk7734/tensorflow-yolov4/data/classes/coco.names"
        
        yolo.make_model()
        yolo.load_weights("/home/hhk7734/Desktop/yolov4.weights", weights_type="yolo")
        
        yolo.inference(
            media_path="/home/hhk7734/tensorflow-yolov4/data/kite.jpg",
        )
        ```
        
        ### tensorflow lite
        
        ```python
        import yolov4.tflite as yolo
        
        detector = yolo.YOLOv4(
            names_path="/home/hhk7734/tensorflow-yolov4/data/classes/coco.names",
            tflite_path="/home/hhk7734/Desktop/yolov4.tflite",
        )
        
        detector.inference(
            media_path="/home/hhk7734/tensorflow-yolov4/data/road.mp4",
            is_image=False,
            cv_waitKey_delay=1,
        )
        ```
        
        ## Training
        
        ```python
        from yolov4.tf import YOLOv4
        
        yolo = YOLOv4()
        
        yolo.classes = "/home/hhk7734/tensorflow-yolov4/data/classes/coco.names"
        
        yolo.input_size = 416
        yolo.make_model()
        yolo.load_weights("/home/hhk7734/Desktop/yolov4.conv.137", weights_type="yolo")
        
        datasets = yolo.load_datasets("/home/hhk7734/tensorflow-yolov4/data/dataset/val2017.txt")
        
        yolo.compile(learning_rate=4e-7)
        yolo.fit(datasets, epochs=4000, batch_size=4)
        
        yolo.model.save_weights("checkpoints")
        ```
        
        ```python
        from yolov4.tf import YOLOv4
        
        yolo = YOLOv4()
        
        yolo.classes = "/home/hhk7734/tensorflow-yolov4/data/classes/coco.names"
        
        yolo.input_size = 416
        yolo.make_model()
        yolo.load_weights("/home/hhk7734/Desktop/yolov4.conv.137", weights_type="yolo")
        
        datasets = yolo.load_datasets(
            "/home/hhk7734/darknet/data/train.txt",
            datasets_type="yolo",
        )
        
        yolo.compile(learning_rate=4e-7)
        yolo.fit(datasets, epochs=4000, batch_size=4)
        
        yolo.model.save_weights("checkpoints")
        ```
        
        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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  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 <hhk7734@gmail.com>  Fri, 05 Jun 2020 20:17:45 +0900
        
Keywords: tensorflow,yolo,AI
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Description-Content-Type: text/markdown
