Skip to main content

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

Project description

keras-unet-collection

PyPI version PyPI license Maintenance

This repository contains tensorflow.keras implementations of U-net, U-net++, R2U-net, Attention U-net, ResUnet-a, U^2-Net:

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)

These models are implemented with user-friendly hyper-parameter options and keywords, including network depth, hidden layer activations and batch normalization. User guide provided several examples.

Additional activation layers and loss functions are also provided:

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

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.6.tar.gz (16.4 kB view hashes)

Uploaded Source

Built Distribution

keras_unet_collection-0.0.6-py3-none-any.whl (25.0 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