Metadata-Version: 2.1
Name: twomartens.masterthesis
Version: 0.3.0
Summary: Code of the master thesis
Home-page: https://git.2martens.de/2martens/masterthesis
Author: Jim Martens
Author-email: github@2martens.de
License: Apache License 2.0
Platform: UNKNOWN
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: ~=3.6
Description-Content-Type: text/markdown; charset=UTF-8
Requires-Dist: tensorflow
Requires-Dist: Pillow
Requires-Dist: h5py
Requires-Dist: numpy
Requires-Dist: opencv-python
Requires-Dist: scikit-learn
Requires-Dist: tqdm
Requires-Dist: beautifulsoup4
Requires-Dist: matplotlib
Requires-Dist: protobuf
Requires-Dist: imutils
Requires-Dist: attributedict
Requires-Dist: cython

# Master Thesis
> Allows reproduction of results in my master thesis.

[![Downloads][pypi-downloads]][pypi-url]
![License][pypi-license]
![Python versions][pypi-python-versions]

The package supports testing and evaluating SSD and Bayesian SSD. The results
can be visualised.

## Installation

Please install python header files of your Python version. 
Those are needed to compile the pycocotools with Cython upon installation.

```sh
pip install twomartens.masterthesis
pip install 'git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI'
```

The second line is important as Git dependencies cannot be specified in the `setup.py`
file.

Please refer to [GPU support][tf-gpu-support] for instructions on
installing the non-Python dependencies for `tensorflow`.

Type the following to create the configuration file and to see the options:
```sh
tm-masterthesis config list
```

Especially the paths have to be set to the correct values.

## Usage example

```sh
tm-masterthesis --help
```

Lists all available commands. As most commands are nested, it is advisable to 
request the help at different nesting levels.

```sh
tm-masterthesis config {get,set,list}
```

Allows for the modification and retrieval of the configuration values.

```sh
tm-masterthesis test {ssd,bayesian_ssd} iteration train_iteration
```

Tests the selected network, using `iteration` as identifier for the test run
and `train_iteration` as identifier for the training iteration. If the config
parameter `ssd_test_pretrained` is `True` then the training iteration is
not relevant. 

```sh
tm-masterthesis evaluate {ssd,bayesian_ssd} iteration
```

Runs the evaluation process using the test results identified by `iteration`,
evaluation results are saved under `iteration` under the evaluation path.

```sh
tm-masterthesis visualise_metrics {ssd,bayesian_ssd} iteration
```

Uses the evaluation results stored under `iteration` and visualises
it. The score JSON and the figure images are stored under `iteration`
in a `visualise` folder under the output path.

There are more commands but the rest can be very tightly linked to requirements
in the master thesis and might therefore not be of interest generally.

## Development setup

Clone the repository locally. Then execute the following commands inside
the repository:

```sh
git submodule init
git submodule update
pip install -e .
pip install 'git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI'
```

## Release History

* 0.3.0
    * added cython dependency and information about required python header files
* 0.2.0
    * added python 3.8 classifier
* 0.1.0
    * first release

## Meta

Jim Martens – [@2martens](https://twitter.com/2martens) – github@2martens.de

Distributed under the Apache 2.0 license. See ``LICENSE`` for more information.
The package contains the [ssd_keras][ssd_keras] implementation of Pierluigi Ferrari.

[https://github.com/2martens/](https://github.com/2martens/)

## Contributing

1. Fork it (<https://github.com/2martens/masterthesis/fork>)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request

<!-- Markdown link & img dfn's -->
[dependencies]:https://img.shields.io/librariesio/release/pypi/twomartens.masterthesis.svg
[pypi-license]: https://img.shields.io/pypi/l/twomartens.masterthesis.svg
[pypi-url]: https://pypi.org/project/twomartens.masterthesis/
[pypi-downloads]: https://img.shields.io/pypi/dm/twomartens.masterthesis.svg
[pypi-python-versions]: https://img.shields.io/pypi/pyversions/twomartens.masterthesis.svg
[tf-gpu-support]: https://www.tensorflow.org/install/gpu
[ssd_keras]: https://github.com/pierluigiferrari/ssd_keras


