Skip to main content

SegAL is an active learning freamwork for semantice segmentation.

Project description

SegAL

CI Status Poetry black pre-commit

PyPI Version Supported Python versions License

SegAL is an active learning freamwork for semantice segmentation.

Installation

SegAL is available on PyPI:

pip install segal

SegAL officially supports Python 3.8.

Active Learning Cycle

To understand what SegAL can do, we first introduce the pool-based active learning cycle.

al_cycle

  • Step 0: Prepare seed data (a small number of labeled data used for training)
  • Step 1: Train the model with seed data
    • Step 2: Predict unlabeled data with the trained model
    • Step 3: Query informative samples based on predictions
    • Step 4: Annotator (Oracle) annotate the selected samples
    • Step 5: Input the new labeled samples to labeled dataset
    • Step 6: Retrain model
  • Repeat step2~step6 until the f1 score of the model beyond the threshold or annotation budget is no left

SegAL can simulate the whole active learning cycle.

Usage

The user can execute the below command to run the active learning cycle.

python examples/run_al_cycle.py --dataset CamVid  --data_path ./data/CamVid/ --model_name Unet --encoder resnet34 --encoder_weights imagenet --num_classes 12 --strategy LeastConfidence --seed_ratio 0.02 --query_ratio 0.02 --n_epoch 1
  • dataset: which dataset to use, CamVidVOCCityScapes
  • data_path: the path where the data store
  • num_classes: number of classes
  • model_name: name of segmentation model. More model names can be found in architectures
  • encoder: name of encoder used in model. More encoder names can be found in encoders
  • encoder_weights: pretrained weights. See encoder table with available weights for each encoder
  • strategy: name of sampling strategy. Available strategies: RandomSampling, LeastConfidence, MarginSampling, EntropySampling, CealSampling, VoteSampling. You can find the papers for these strategy in here
  • seed_ratio: percentage of seed data. The used for initial training.
  • query_ratio: percentage of queried data in each round
  • n_epoch: number of epoch in each round

More explanation can be found in usage

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

segal-0.1.4.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

segal-0.1.4-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file segal-0.1.4.tar.gz.

File metadata

  • Download URL: segal-0.1.4.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.8.15 Darwin/22.1.0

File hashes

Hashes for segal-0.1.4.tar.gz
Algorithm Hash digest
SHA256 21da670a23f87d1d667b6906449663dd2a920e580aca419d40cfa563b4a94cb2
MD5 68ecffa233ca7fbd4e0c0e8bbba13034
BLAKE2b-256 25b23888fbfdf551f87fde6d8a65dd083ae6227ffb6f093bf43b461548389288

See more details on using hashes here.

File details

Details for the file segal-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: segal-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.8.15 Darwin/22.1.0

File hashes

Hashes for segal-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 75207669e5843546aa58a52ed8e3feaaf1aab74ece6c3ec5e15399e0f1aa1b25
MD5 526eb279b712819bb5f97e25de36e859
BLAKE2b-256 d9ac2405538e93d974895b6e6cb08a7af584a7f14ba7a1537f535d174964ced6

See more details on using hashes here.

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