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.4.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.4.tar.gz.
File metadata
- Download URL: YoloV2Keras-0.0.4.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 |
06c87544a3fdd3bd347e6689314bcc4ae61b229d6ddf55ff6a20952f5d68c425
|
|
| MD5 |
ba6a2755aa3dc268ec4d53d758b0655e
|
|
| BLAKE2b-256 |
c696c92dbf3cb8a800c0b8096605c57a9cc5de95fd2b7c3d382bb25c1c0e3645
|
File details
Details for the file YoloV2Keras-0.0.4-py3-none-any.whl.
File metadata
- Download URL: YoloV2Keras-0.0.4-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 |
67b1eedd66f32239fd67ec018e4ebfc1619bba346e4547aaac755d7ed7df94e4
|
|
| MD5 |
81aa1dd101a6d6b3104a36ecea772e65
|
|
| BLAKE2b-256 |
a5a413a6bc4333a79967e878d946ba89406ebd8c39cc531c767c9d8e04acd377
|