Skip to main content

The Tensorflow, Keras implementation of U-net, U-net++, R2U-net, Attention U-net, ResUnet-a, U^2-Net, and UNET 3+.

Project description

keras-unet-collection

PyPI version PyPI license Maintenance

The tensorflow.keras implementation of U-net, U-net++, R2U-net, Attention U-net, ResUnet-a, U^2-Net, and UNET 3+.


keras_unet_collection.models contains functions that configure keras models with user-specific hyper-parameter options, including network depth, hidden layer activations and batch normalization for all the U-net variants, and deep supervision for U-net++, U^2-Net and UNET 3+. See the User guide for more details.

keras_unet_collection.models          Name Reference
unet_2d U-net/Unet Ronneberger et al. (2015)
unet_plus_2d U-net++/Unet++ Zhou et al. (2018)
r2_unet_2d R2U-Net Alom et al. (2018)
att_unet_2d Attention U-net Oktay et al. (2018)
resunet_a_2d ResUnet-a Diakogiannis et al. (2020)
u2net_2d U^2-Net Qin et al. (2020)
unet_3plus_2d UNET 3+/Unet+++ Huang et al. (2020)

keras_unet_collection.backbones contains functions that build the backone of Unet variants for model customization and debugging.

keras_unet_collection.backbones Notes
unet_2d_backbone, unet_plus_2d_backbone, r2_unet_2d_backbone, att_unet_2d_backbone, resunet_a_2d_backbone, u2net_2d_backbone, unet_3plus_2d_backbone Functions that accept an input tensor and hyper-parameters of the corresponded model, and produce output tensors of the backbone.

keras_unet_collection.activations and keras_unet_collection.losses provide additional activation layers and loss functions.

keras_unet_collection.activations Name Reference
GELU Gaussian Error Linear Units (GELU) Hendrycks et al. (2016)
Snake Snake activation Liu et al. (2020)
keras_unet_collection.losses          Name Reference
tversky Tversky loss Hashemi et al. (2018)
focal_tversky Focal Tversky loss Abraham et al. (2019)
crps2d_tf CRPS loss (experimental)

Dependencies

  • TensorFlow 2.3.0

  • Keras 2.4.0

  • Numpy 1.18.2

Installation and usage

pip install keras-unet-collection

from keras_unet_collection import models
# e.g. models.unet_2d(...)
  • Note: Because of the changable hyper-parameter options, neural networks produced by this package may not be compatible with other pre-trained models of the same name. Training from scratch is recommended.

  • Jupyter notebooks are provided as user guides.

  • Changelog

Overview

U-net is a convolutional neural network with encoder-decoder architecture and skip-connections, loosely defined under the concept of "fully convolutional networks." U-net was originally proposed for the semantic segmentation of medical images and is modified for solving a wider range of gridded learning problems.

U-net and many of its variants take three or four-dimensional tensors as inputs and produce outputs of the same shape. One technical highlight of these models is the skip-connections from downsampling to upsampling layers, which benefit the reconstruction of high-resolution, gridded outputs.

Contact

Yingkai (Kyle) Sha <yingkai@eoas.ubc.ca> <yingkaisha@gmail.com>

License

MIT License

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

keras-unet-collection-0.0.8.tar.gz (19.7 kB view hashes)

Uploaded Source

Built Distribution

keras_unet_collection-0.0.8-py3-none-any.whl (43.8 kB view hashes)

Uploaded Python 3

Supported by

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