Metadata-Version: 2.1
Name: chia
Version: 2.4.2
Summary: Concept Hierarchies for Incremental and Active Learning
Home-page: https://github.com/cabrust/chia
Author: Clemens-Alexander Brust
Author-email: clemens-alexander.brust@dlr.de
License: UNKNOWN
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: GPU
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-configuration (==0.7.1)
Requires-Dist: nltk (~=3.5)
Requires-Dist: imageio (~=2.6)
Requires-Dist: pillow (~=8.0)
Requires-Dist: gputil (~=1.4.0)
Requires-Dist: networkx (~=2.4)
Requires-Dist: numpy (~=1.19.2)
Requires-Dist: tensorflow-addons (==0.14.0)
Requires-Dist: tensorflow (~=2.6.0)

# CHIA: Concept Hierarchies for Incremental and Active Learning
![PyPI](https://img.shields.io/pypi/v/chia)
![PyPI - License](https://img.shields.io/pypi/l/chia)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/chia)
![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/cabrust/chia)
![codecov](https://codecov.io/gh/cabrust/chia/branch/main/graph/badge.svg)

CHIA implements methods centered around hierarchical classification in a lifelong learning environment.
It forms the basis for some of the experiments and tools developed at [Computer Vision Group Jena](http://www.inf-cv.uni-jena.de/).
Development is continued at the [DLR Institute of Data Science](https://www.dlr.de/dw/en/desktopdefault.aspx/tabid-12192/21400_read-49437/)

**Methods**\
CHIA implements:
 * **One-Hot Softmax Classifier** as a baseline.
 * **Probabilistic Hierarchical Classifier** Brust, C. A., & Denzler, J. (2019). *Integrating domain knowledge: using hierarchies to improve deep classifiers*. In Asian Conference on Pattern Recognition (ACPR)
 * **CHILLAX** Brust, C. A., Barz, B., & Denzler, J. (2021). *Making Every Label Count: Handling Semantic Imprecision by Integrating Domain Knowledge*. In International Conference on Pattern Recognition (ICPR).
 * **Self-Supervised CHILLAX** Brust, C. A., Barz, B., & Denzler, J. (2021). *Self-Supervised Learning from Semantically Imprecise Data*. arXiv preprint arXiv:2104.10901.
 * **Semantic Label Sharing** Fergus, R., Bernal, H., Weiss, Y., & Torralba, A. (2010). *Semantic label sharing for learning with many categories*. In European Conference on Computer Vision (ECCV).

**Datasets**\
CHIA has integrated support including hierarchies for a number of popular datasets. See [here](docs/architecture.md#dataset) for a complete list.


## Installation and Getting Started
CHIA is available on PyPI. To install, simply run:
```bash
pip install chia
```
or clone this repository, and run:
```bash
pip install -e .
```

To run the [example experiment](examples/experiment.py) which makes sure that everything works, use the following command:
```bash
python examples/experiment.py examples/configuration.json
```
After a few minutes, the last lines of output should look like this:
```text
[SHUTDOWN] [Experiment] Successful: True
```

## Documentation
The following articles explain more about CHIA:
 * [Architecture](docs/architecture.md) explains the overall construction. It also includes reference descriptions of most classes.
 * [Configuration](docs/configuration.md) describes how experiments and CHIA itself are configured.

## Citation
If you use CHIA for your research, kindly cite:
> Brust, C. A., & Denzler, J. (2019). Integrating domain knowledge: using hierarchies to improve deep classifiers. In Asian Conference on Pattern Recognition. Springer, Cham.

You can refer to the following BibTeX:
```bibtex
@inproceedings{Brust2019IDK,
author = {Clemens-Alexander Brust and Joachim Denzler},
booktitle = {Asian Conference on Pattern Recognition (ACPR)},
title = {Integrating Domain Knowledge: Using Hierarchies to Improve Deep Classifiers},
year = {2019},
doi = {10.1007/978-3-030-41404-7_1}
}
```


