Skip to content

Releases: cvjena/semantic-embeddings

1.2.0

11 Dec 14:31
Compare
Choose a tag to compare

Some updates along with the official publication of the following paper:

Deep Learning on Small Datasets without Pre-Training using Cosine Loss.
Björn Barz and Joachim Denzler.
IEEE Winter Conference on Applications of Computer Vision (WACV), 2020.

New features

  • Support for random rotations and color distortions as data augmentation.
  • Added ResNet-101 and ResNet-152 architectures supported in keras-applications >= 1.0.7.
  • Interface to MIT67Scenes dataset.
  • CLI argument --top_k_acc for computing top-k accuracy.

Bug fixes

  • Force L2-normalization of approximate low-dimensional class embeddings.
  • Improved compatibility of CifarGenerator with different pickle formats

1.1.0

31 Jan 09:50
Compare
Choose a tag to compare

Extended the source code for the experiments in our new paper:

Deep Learning on Small Datasets without Pre-Training using Cosine Loss.
Björn Barz and Joachim Denzler.

Backwards-incompatible changes

  • The meaning of the resnet-110-* architecture names has changed:
    • resnet-110 now always refers to the standard ResNet-110 architecture with 16, 32, and 64 channels per block. Previously, the number of channels in the last block equaled the embedding dimension when learning image embeddings.
    • resnet-110-fc previously had twice the number of channels as the standard ResNet-110 and always a final fully-connected layer (as opposed to resnet-110, which lacks that final layer when learning embeddings). This architecture is now referred to as resnet-110-wfc, while resnet-110-fc just always has a final FC layer but the standard number of channels.
  • Dataset interfaces have been completely refactored. The API of get_data_generator stayed the same and this function can still be imported from datasets. This, however, is not a file anymore but a sub-package now, containing one module per dataset interface. Some more layers of abstraction have been introduced as well to reduce redundancy in the code.

New features

  • Interface to the CUB dataset and meta-data in terms of 3 different class-hierarchy variants for this dataset. We also provide pre-trained models for CUB.
  • Variant of the NAB dataset with input size 448x448 instead of 224x224. The new variant is referred to as NAB-large. We also provide pre-trained models for this variant in addition, which perform better than the 224x224 variant.
  • Dataset interfaces for the Stanford Cars and Oxford Flowers-102 datasets.
  • Cifar-ResNet architectures now support different input sizes than 32x32 and even dynamic ones.
  • One-hot class embeddings can now be generated on the file (i.e., without the need for a pickle file) by specifying --embedding onehot.
  • learn_classifier.py now supports label smoothing using the --label_smoothing CLI argument.
  • CLI argument --nesterov for training with Nesterov momentum.
  • CLI argument --snapshot_best for snapshotting the best model only.
  • DataSequence now supports oversampling and multiple repetitions of the data per epoch.

Bug fixes

  • Fixed hand-crafted learning rate schedule specification using --sgd_schedule, which previously broke right before the last epoch.
  • Fixed DenseNet.

1.0.0

09 Nov 14:22
Compare
Choose a tag to compare

Source code for our paper:

Hierarchy-based Image Embeddings for Semantic Image Retrieval.
Björn Barz and Joachim Denzler.
IEEE Winter Conference on Applications of Computer Vision (WACV), 2019.