# IAflow

This library help to create models with identifiers, checkpoints, logs and metadata automatically, in order to make the training process more efficient and traceable.

To install the library, you can use pip:

```bash
pip install iaflow
```

Then you can create the `ia_make` with the following code:

```python
ia_maker = IAFlow(
  models_folder='./models',
  checkpoint_params={
    'monitor': 'val_loss',
    'save_best_only': True,
    'save_weights_only': True
  },
  tensorboard_params={
    'histogram_freq': 1,
    'write_graph': True,
    'write_images': True
  }
)
```

And then you can add the model with the following code:

```python
model_1_data = ia_maker.add_model(
  model_name='model_1',
  model_params={ 'input_shape': (2, 1) },
  load_model_params={},
  compile_params={
    'metrics': ['accuracy'],
    'optimizer': 'adam', 'loss': 'mse'
  },
)
```

Finally, you can train the model with the following code:

```python
ia_maker.train(
  model_1_data,
  epochs=5,
  dataset_name='dataset_1'
)
```

This library has integration with [Notifier Status Function](https://github.com/enmanuelmag/notify_function), so you can send notifications to Telegram when the training process is finished. To check how to use it and more feature as managing Dataset and Models with the library, you can check the documentation [here](https://iaflow.cardor.dev).

### Tech used

* Python
    
* Tensorflow
    
* Telegram API
    
* Notifier Status Function (personal lib)
    
* Webhooks
