Yolo v2 library
Project description
Yolov2keras
yolov2 implemented in tensorflow keras.
Supported dataset formats:-
- Pascal Voc
Models Available:-
- Yolo v2
- Mobilenet
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.get_model(basemodel="yolov2",pretrained=True)
model = yod.models.get_model(basemodel="mobilenet",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]
mapcallback = yod.callbacks.MAPCallback(val_ds,iou_thres=0.5,per_nth_epoch=1)
model.compile(optimizer=optimizer,loss=yod.losses.yolo_loss,metrics=metrics)
model.fit(train_ds,validation_data=val_ds,epochs=5,verbose=1,callbacks=[mapcallback])
# exporting the model
model_path="output/v1/"
yod.save(model_path,model)
Inference
import yolov2keras as yod
import tensorflow as tf
model_path="output/v1/"
# object_detector = yod.load_model(model_path)
object_detector = yod.load_model_from_weights(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.5.tar.gz
(19.8 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.5.tar.gz.
File metadata
- Download URL: YoloV2Keras-0.0.5.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb9c599dbb2544133f12721c662a5e202d6e59f35eb005908e7bb93ea30212c3
|
|
| MD5 |
a8a79d68c722add43eeb3568ec094ff6
|
|
| BLAKE2b-256 |
0db7d252b90a382325887d5da2131f3b8d66df5eaa508b3a58bbefdaa30c68a4
|
File details
Details for the file YoloV2Keras-0.0.5-py3-none-any.whl.
File metadata
- Download URL: YoloV2Keras-0.0.5-py3-none-any.whl
- Upload date:
- Size: 29.1 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 |
30310611fe991ce077faf40cbaafc62bf0009299efd6ead20ae0d469f315b568
|
|
| MD5 |
2d871dd9c0ad0279f2f4959981229b11
|
|
| BLAKE2b-256 |
14deaa1d564b77135bdb90e5aa764def7279028a6f16a11bd8320ba2cbdc2693
|