![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 Weights
- [yolov4-tiny.conv.29](https://drive.google.com/file/d/1WtOuGfUgNyNfALo5_VhQ1kb5QenRE0Gt/view?usp=sharing)
- [yolov4-tiny.weights](https://drive.google.com/file/d/1GJwGiR7rizY_19c_czuLN8p31BwkhWY5/view?usp=sharing)
- [yolov4.conv.137](https://drive.google.com/file/d/1li1pUtqpXj_-ZXxA8wJq-nzW8h2HWsrP/view?usp=sharing)
- [yolov4.weights](https://drive.google.com/file/d/15P4cYyZ2Sd876HKAEWSmeRdFl_j-0upi/view?usp=sharing)
## 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)
## Objective
- [x] Train and predict using TensorFlow 2 only
- [x] Run yolov4-tiny-relu on Coral board(TPU).
- [ ] Train tiny-relu with coco 2017 dataset
- [ ] Update Docs
- [ ] Optimize model and operations
## Performance
![performance](./test/performance.png)
![performance-tiny](./test/performance-tiny.png)
## Help
```python
>>> from yolov4.tf import YOLOv4
>>> help(YOLOv4)
```
## Inference
### tensorflow
```python
from yolov4.tf import YOLOv4
yolo = YOLOv4()
yolo.classes = "coco.names"
yolo.make_model()
yolo.load_weights("yolov4.weights", weights_type="yolo")
yolo.inference(media_path="kite.jpg")
yolo.inference(media_path="road.mp4", is_image=False)
```
[Object detection test jupyter notebook](./test/object_detection_in_image.ipynb)
```python
from yolov4.tf import YOLOv4
yolo = YOLOv4(tiny=True)
yolo.classes = "coco.names"
yolo.make_model()
yolo.load_weights("yolov4-tiny.weights", weights_type="yolo")
yolo.inference(media_path="kite.jpg")
yolo.inference(media_path="road.mp4", is_image=False)
```
### tensorflow lite
```python
from yolov4.tf import YOLOv4
yolo = YOLOv4()
yolo.classes = "coco.names"
yolo.make_model()
yolo.load_weights("yolov4.weights", weights_type="yolo")
yolo.save_as_tflite("yolov4.tflite")
```
```python
from yolov4.tflite import YOLOv4
yolo = YOLOv4()
yolo.classes = "coco.names"
yolo.load_tflite("yolov4.tflite")
yolo.inference("kite.jpg")
```
## Training
```python
from tensorflow.keras import callbacks, optimizers
from yolov4.tf import SaveWeightsCallback, YOLOv4
yolo = YOLOv4(tiny=True)
yolo.classes = "coco.names"
yolo.input_size = 608
yolo.batch_size = 32
yolo.subdivision = 16
yolo.make_model()
yolo.load_weights("yolov4-tiny.conv.29", weights_type="yolo")
train_data_set = yolo.load_dataset("train2017.txt")
val_data_set = yolo.load_dataset("val2017.txt", training=False)
# data_set = yolo.load_dataset("darknet/data/train.txt", dataset_type="yolo")
lr = 1e-4
epochs = 30000
optimizer = optimizers.Adam(learning_rate=lr)
yolo.compile(optimizer=optimizer, loss_iou_type="ciou")
def lr_scheduler(epoch):
if epoch < 1000:
return (epoch / 1000) * lr
elif epoch < int(epochs * 0.8):
return lr
elif epoch < int(epochs * 0.9):
return lr * 0.1
else:
return lr * 0.01
yolo.fit(
train_data_set,
epochs=epochs,
callbacks=[
callbacks.LearningRateScheduler(lr_scheduler),
callbacks.TerminateOnNaN(),
callbacks.TensorBoard(
log_dir="/content/drive/My Drive/Hard_Soft/NN/logs",
),
SaveWeightsCallback(
yolo=yolo, weights_type="yolo", epoch_per_save=1000
),
],
validation_data=val_data_set,
validation_steps=100,
validation_freq=100,
)
```
[Custom training on Colab jupyter notebook](./test/custom_training_on_colab.ipynb)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
共29个文件
py:17个
txt:5个
pkg-info:2个
资源分类:Python库 所属语言:Python 资源全名:yolov4-0.24.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
yolov4-0.24.0.tar.gz (29个子文件)
yolov4-0.24.0
setup.cfg 1KB
README.md 4KB
PKG-INFO 17KB
py_src
yolov4
model
neck.py 8KB
common.py 3KB
__init__.py 0B
yolov4.py 4KB
head.py 7KB
backbone.py 9KB
tf
dataset.py 15KB
train.py 11KB
weights.py 9KB
__init__.py 13KB
__init__.py 0B
common
predict.py 8KB
media.py 6KB
__init__.py 0B
base_class.py 6KB
tflite
__init__.py 7KB
yolov4.egg-info
dependency_links.txt 1B
not-zip-safe 1B
PKG-INFO 17KB
SOURCES.txt 762B
top_level.txt 7B
requires.txt 23B
LICENSE.txt 1KB
MANIFEST.in 55B
setup.py 1KB
CHANGELOG 9KB
共 29 条
- 1
资源评论
- 小清同学2022-06-24用户下载后在一定时间内未进行评价,系统默认好评。
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功