Skip to content

edwardyehuang/iSeg

Repository files navigation

iSeg : A Keras 3 TensorFlow 2 Library for Semantic Segmentation

Anaconda-Server Badge

News

March-14-2024: Add support for Gemma (Keras 2.15 compatible).

March-05-2024: Add support for keras 3. Note that I still retain support for keras 2 and currently only support the TensorFlow backend. Support for Pytorch and JAX backends will be released at a later date.

January-14-2024: Add support for TensorFlow 2.15

January-11-2024: Add EVA02.

January-02-2024: Add DCNv3 and InternImage backbone.

April-01-2023: Add weights for ViT-SAM.

March-17-2023: Drop the support for old ResNet-50/101 h5 weights. Updated versions have been provided.

March-01-2023: Add support of TPU pod training, we will add an example project soon.

January-03-2023: Add support of ConvNeXtV2.

November-12-2022: Add support of MOAT.

September-7-2022: Drop support for TensorFlow < 2.10

March-16-2022: We add an example project in here, which is the offical implementation of the paper CAR: Class-aware Regularizations for Semantic Segmentation

March-16-2022: The backbone weights are now available in here, we will add more in future.

Features

Backbone support (Inputs size free)

  • Modern ResNet
  • Xception-65
  • MobileNetV2
  • EfficientNetV1
  • Feature Pyramid Network
  • HRNet
  • Vision Transformer
  • Swin Transformer
  • MobileNetV2
  • ConvNeXt
  • MOAT
  • ConvNeXtV2
  • InternImage
  • EVA02

All backbones are independent of input size.

Weights can be downloaded in here

Other features

  • Mixed precision training and inference
  • Fully deterministic result (100%, see https://github.com/NVIDIA/framework-determinism)
  • Training and inference on GPU <= 8
  • Training and inference on TPU/TPU Pod
  • Typical image augmentation
  • Support for Windows 10/11
  • Support for Windows WSL2
  • Support for Apple M1 chip macOS

Future plan (Coming soon)

  • Support Keras core, seamlessly use Pytorch and JAX backend.
  • Added support for Panoptic segmentation and multimodality.

Requirements

  • TensorFlow >= 2.10 (For iseg <= 0.04, we support TensorFlow >= 2.4)
  • Mixed precision only supports GPU architectures after Volta (included).

Installation (Conda)

The following order can avoid many bugs. Make sure the NVIDIA and CUDA driver is the latest version.

conda create -n tf215 python=3.9 tqdm matplotlib gitpython -c conda-forge
pip install --upgrade pip setuptools
pip install --upgrade tensorrt
pip install tensorflow[and-cuda]==2.15 ml-dtypes
pip install tensorflow-text==2.15
pip install keras-nlp==0.8.2