Metadata-Version: 2.1
Name: autoth
Version: 0.0.1
Summary: Automatic threshold optimization
Home-page: https://github.com/pypa/sampleproject
Author: Qiuqiang Kong
Author-email: qiuqiangkong@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Autoth: Automatic optimzie hyper parameters

Autoth is a Python toolbox to automatically optimize hyper parameters to maximize scores. For example, Autoth can optimize hyper parameters to maximize F1 score in a classification task. In practice, Autoth numerically calculate gradients of scores over hyper parameters. Then, the hyper parameters are updated according to the gradients iteratively. Please see [1] for details.

## Install
```
pip install autoth
```

## Example
```
python3 example.py
```

## Results
<pre>
------ Manually selected hyper parameters ------
Hyper parameters: [0.3, 0.3, 0.3]
Score: 0.5556

------ Automatic optimized hyper parameters ------
Optimizing hyper parameters ...
learning rate: 0.010, total epochs: 10
    Hyper parameters: [0.3, 0.31, 0.29], score: 0.5556
    Epoch: 0, Time: 0.0181 s
    Hyper parameters: [0.3, 0.3197, 0.2801], score: 0.5556
    Epoch: 1, Time: 0.0178 s
    Hyper parameters: [0.3, 0.3237, 0.2702], score: 0.5714
    Epoch: 2, Time: 0.0212 s
    Hyper parameters: [0.3, 0.3245, 0.263], score: 0.6099
    Epoch: 3, Time: 0.0144 s
    Hyper parameters: [0.3, 0.3232, 0.2548], score: 0.6099
    Epoch: 4, Time: 0.0142 s
    Hyper parameters: [0.3, 0.3204, 0.2464], score: 0.6099
    Epoch: 5, Time: 0.0151 s
    Hyper parameters: [0.3, 0.3164, 0.2382], score: 0.6099
    Epoch: 6, Time: 0.0159 s
    Hyper parameters: [0.3, 0.316, 0.2302], score: 0.5940
    Epoch: 7, Time: 0.0143 s
    Hyper parameters: [0.3, 0.318, 0.2226], score: 0.5940
    Epoch: 8, Time: 0.0150 s
    Hyper parameters: [0.3, 0.3186, 0.2152], score: 0.6099
    Epoch: 9, Time: 0.0177 s

Optimized hyper parameters: [0.3, 0.3186, 0.2152]
Score: 0.6099
</pre>

## Cite
[1] Kong, Qiuqiang, Yong Xu, Wenwu Wang, and Mark D. Plumbley. "Sound Event Detection of Weakly Labelled Data with CNN-Transformer and Automatic Threshold Optimization." arXiv preprint arXiv:1912.04761 (2019).

