SegAL is an active learning freamwork for semantice segmentation.
Project description
SegAL
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.
- 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,CamVid
、VOC
、CityScapes
data_path
: the path where the data storenum_classes
: number of classesmodel_name
: name of segmentation model. More model names can be found in architecturesencoder
: name of encoder used in model. More encoder names can be found in encodersencoder_weights
: pretrained weights. See encoder table with available weights for each encoderstrategy
: name of sampling strategy. Available strategies:RandomSampling
,LeastConfidence
,MarginSampling
,EntropySampling
,CealSampling
,VoteSampling
. You can find the papers for these strategy in hereseed_ratio
: percentage of seed data. The used for initial training.query_ratio
: percentage of queried data in each roundn_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)
Built Distribution
segal-0.1.4-py3-none-any.whl
(19.7 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21da670a23f87d1d667b6906449663dd2a920e580aca419d40cfa563b4a94cb2 |
|
MD5 | 68ecffa233ca7fbd4e0c0e8bbba13034 |
|
BLAKE2b-256 | 25b23888fbfdf551f87fde6d8a65dd083ae6227ffb6f093bf43b461548389288 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75207669e5843546aa58a52ed8e3feaaf1aab74ece6c3ec5e15399e0f1aa1b25 |
|
MD5 | 526eb279b712819bb5f97e25de36e859 |
|
BLAKE2b-256 | d9ac2405538e93d974895b6e6cb08a7af584a7f14ba7a1537f535d174964ced6 |