Yolo v2 library
Project description
Yolov2keras
yolov2 implemented in tensorflow keras.
Train and Save
import yolov2keras as yod
import tensorflow as tf
train_image_dir="roboflow.voc/train/"
train_annotation_dir="roboflow.voc/train/"
val_image_dir="roboflow.voc/valid/"
val_annotation_dir="roboflow.voc/valid/"
# finding classnames of all the objects in the dataset
classnames_path = yod.dataset.VOCDataset.get_classnames_path(train_annotation_dir,val_annotation_dir)
yod.set_config(input_size=416,num_anchors=5,classnames_path=classnames_path)
# albumentations augmentations for making images a square
train_transform, val_transform, test_transform = yod.dataset.augmentations.default_augmentation()
# returns tf dataset objects
train_ds=yod.ParseDataset(train_image_dir,train_annotation_dir,format="PASCAL_VOC",augment=train_transform)
val_ds=yod.ParseDataset(val_image_dir,val_annotation_dir,format="PASCAL_VOC",augment=val_transform)
# finding the anchors of shape: (n,2)
anchors=yod.dataset.find_anchors(train_ds)
yod.set_anchors(anchors)
# convert to standard format to yolo v2 format
train_ds=yod.yoloDataset(train_ds,batch_size=4,drop_remainder=True)
val_ds=yod.yoloDataset(val_ds,batch_size=4)
# creating the model
model = yod.models.getYolov2(pretrained=True)
# model = yod.models.getMobileNet(pretrained=True)
optimizer = tf.keras.optimizers.Adam(learning_rate=1e-4, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
metrics = [yod.metrics.iou_acc , yod.metrics.class_acc ] + [yod.losses.obj_loss,yod.losses.noobj_loss,yod.losses.box_loss,yod.losses.class_loss]
model.compile(optimizer=optimizer,loss=yod.losses.yolo_loss,metrics=metrics)
model.fit(train_ds,validation_data=val_ds,epochs=5,verbose=1)
# exporting the model
model_path="output/v1/"
yod.save(model_path,model)
Supported dataset formats:-
- Pascal Voc
Models Available:-
- Yolo v2
- Mobilenet
Inference
import yolov2keras as yod
import tensorflow as tf
model_path="output/v1/"
object_detector = yod.load_model(model_path)
object_detector.set_config(p_thres=0.5,nms_thres=0.3,image_size=[416])
img="Sample.jpg"
detections = object_detector.predict(img)
print(detections)
yod.inference.helper.show_objects(img,detections)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
YoloV2Keras-0.0.1.tar.gz
(17.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file YoloV2Keras-0.0.1.tar.gz.
File metadata
- Download URL: YoloV2Keras-0.0.1.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5b19fa4521fe9c6147fbe42919e96ef0beaaa53372f4dcde9c6395b5110b050
|
|
| MD5 |
97baf7e869622c18c80c1800d10f909f
|
|
| BLAKE2b-256 |
f7aaba2b646714e63390df6f91950070418d58d5278555fcd09249c8d228b3b1
|
File details
Details for the file YoloV2Keras-0.0.1-py3-none-any.whl.
File metadata
- Download URL: YoloV2Keras-0.0.1-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4916bf233636657c33005c57d08ecec8ba2ebc8db75e4ce49139045627140551
|
|
| MD5 |
451a2b7272ff7c27eca407210ac2943b
|
|
| BLAKE2b-256 |
56bf6b1373888243a286df3883da5315680b660a46de8c36037328dbb8264d80
|