Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

YoloV2Keras-0.0.5-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

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

Hashes for YoloV2Keras-0.0.5.tar.gz
Algorithm Hash digest
SHA256 eb9c599dbb2544133f12721c662a5e202d6e59f35eb005908e7bb93ea30212c3
MD5 a8a79d68c722add43eeb3568ec094ff6
BLAKE2b-256 0db7d252b90a382325887d5da2131f3b8d66df5eaa508b3a58bbefdaa30c68a4

See more details on using hashes here.

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

Hashes for YoloV2Keras-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 30310611fe991ce077faf40cbaafc62bf0009299efd6ead20ae0d469f315b568
MD5 2d871dd9c0ad0279f2f4959981229b11
BLAKE2b-256 14deaa1d564b77135bdb90e5aa764def7279028a6f16a11bd8320ba2cbdc2693

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page