Metadata-Version: 2.1
Name: ai-trainer
Version: 0.0.10
Summary: AI Trainer
Home-page: https://github.com/Telcrome/ai-trainer
Author: Raphael Schaefer
Author-email: raphaelschaefer1@outlook.com
License: UNKNOWN
Download-URL: https://github.com/Telcrome/ai-trainer/archive/0.0.3.tar.gz
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: opencv-python
Requires-Dist: pydicom
Requires-Dist: PySimpleGui
Requires-Dist: tensorflow

[Documentation](https://ai-trainer.readthedocs.io/en/latest/)

# Installation for User

Open anaconda powershell, activate an environment with anaconda, navigate into the trainer repo and execute the following to install trainer using pip, including its dependencies:

```shell script
pip install ai-trainer
```

For Online Learning you have to install PyTorch:
```shell script
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
```

AI-Trainer helps with building a data generator and it relies on imgaug for it:

```shell script
conda install imgaug -c conda-forge
```

# Getting started with training models

Trainer currently supports annotating images and videos.
First, create a dataset using

```shell script
trainer init-ds
cd YOUR_DATASET
```

# Getting started with using trainer in python

For using the annotated data, you can use trainer as a python package.
After activating the environment containing the trainer and its dependencies,
feel free to inspect some of the tutorials in ```./tutorials/```.

# Development Setup

Execute the user installation,
but instead of using `pip install ai-trainer`,
clone the repo locally.

```shell script
git clone https://github.com/Telcrome/ai-trainer
```

Both vsc and pycharm are used for development with
their configurations provided in ```.vscode``` and ```.idea```

## Recommended environments

For development we recommend to install the conda environment into a subfolder of the repo.
This allows for easier experimentation and the IDE expects it this way.

```shell script
conda env create --prefix ./envs -f environment.yml
conda activate .\envs\.
```

Now install a deep learning backend.
PyTorch provides well-working [conda install commands](https://pytorch.org/get-started/locally/).

For Tensorflow with GPU:
```shell script
conda install cudatoolkit=10.0 cudnn=7.6.0=cuda10.0_0
pip install tensorflow-gpu
```

### Testing Development for pip and cli tools

Installing the folder directly using pip does not work due to the large amount of files inside the local development folder,
especially because in the local development setup the environment is expected to be a subfolder of the repo.
```shell script
pip install -e .
```

### Uploading to PyPi by hand

```shell script
python setup.py sdist bdist_wheel
twine upload dist/* # The asterisk is important
```

# Using Docker

Docker and the provided DOCKERFILE support is currently experimental as it proved to slow down the annotation GUI too much.
When the transition to a web GUI is completed docker will be supported again.

# Contribution

### Docs

Currently, [Read the Docs](https://readthedocs.org/) is used
for CI of the docs.
Before submitting changes, test the make command in the environment:
```shell script
conda env create -f environment.yml
conda activate trainer_env
make html
```
If this throws warnings or errors, `Read the Docs` won`t publish them.

### Tutorials inside the repo

- Do not use jupyter notebooks
- Should be testable without preparing data by hand where possible.


