[0.2.0] - 2021-17-05
Features:
- Added support for Functional API
- Added BatchNorm layer for inference
- Added GlobalAveragePooling2D layer
- Added 7 Merge layers
(Add, Average, Concatenate, Maximum, Minimum, Multiply, Subtract) - Added Activation layer
- Added ReLU layer
- Added DepthwiseConv2D layer
- Added SeparableConv2D layer
- Added Reshape layer
- Added Cropping2D layer
- Added ZeroPadding2D layer
- Added NoGradients interface to indicate layers whose weights cannot be updated during training due to the lack of gradients in TensorFlow
- Added Model Zoo with the following models:
- VGG'16
- VGG'19
- ResNet50
- ResNet101
- ResNet152
- ResNet50V2
- ResNet101V2
- ResNet152V2
- MobileNet
- MobileNetV2
- Added ImageNet related preprocessing for each of the ModelZoo supported models: available in ModelZoo object and as a
sharpen
stage in the image preprocessing DSL - Added model descriptions for models from ModelZoo (excluding MobileNet) designed with the Functional API in org.jetbrains.kotlinx.dl.api.core.model package
- Added two implementations of the Dataset class: OnFlyImageDataset and OnHeapDataset
- Added topological sort for layers as nodes in the DAG model representation
- Added
shuffle
function support for both Dataset implementations - Added the Kotlin-idiomatic DSL for image preprocessing with the following operations:
- Load
- Crop
- Resize
- Rotate
- Rescale
- Sharpen
- Save
- Implemented label generation on the fly from the names of image folders
- Implemented
summary
method for the Functional API - Added embedded datasets support (MNIST, FashionMNIST, Cifar'10, Cats & Dogs)
Bugs:
- Fixed a bug with BGR and RGB preprocessing in examples
- Fixed missed
useBias
field in convolutional layers
Internals improvements:
- Refactored: both Sequential and Functional models now inherit the GraphTrainableModel class
- Completed the Klaxon migration from 5.0.1 to 5.5
- Removed useless labels and data transformations before sending to
Tensor.create(...)
Infrastructure:
- Loaded the weights and JSON configurations of ModelZoo models to S3 storage
- Added a TeamCity build for the examples
- Loaded embedded datasets to S3 storage
- Removed dependencies from
jcenter
- Moved an artifact to the Maven Central Repository
- Changed the groupId and artifactId
- Reduced the size of the downloaded
api
artifact from 65 MB to 650 KB by cleaning up resources and migrating the model and datasets to the S3 storage
Docs:
- Updated all the tutorials
- Updated the Readme.md
Examples:
- Renamed all the example's packages
- Regrouped examples between packages
- Added examples for training all ResNet models from scratch on the Cats & Dogs dataset
- Tuned hyper-parameters in all examples with VGG-like architecture to achieve convergence
- Added examples for the Image Preprocessing DSL
- Added examples for all available ModelZoo models, including additional training on the subset of the Cats & Dogs dataset
- Added ToyResNet examples (trained on the FashionMnist dataset)
Tests:
- Converted all examples to integration tests by refactoring
main
functions
Thanks to our contributors:
- Alexey Zinoviev (@zaleslaw)
- Maria Khalusova (@MKhalusova)
- Anton Kosyakov (@AntKos)
- Ilya Muradyan (@ileasile)