An open API service indexing awesome lists of open source software.

https://github.com/gabrli/litecnn

LiteCNN: Intuitive Python library for creating, training and visualizing convolutional neural networks. Features simplified CNN layer definition, automated training workflows, model visualization, and seamless Keras-to-ONNX conversion. Includes 15 pre-configured popular models for immediate use.
https://github.com/gabrli/litecnn

cnn-classification computer-vision deep-learning-framework keras-tensorflow machine-learning model-visualization neural-networks onnx python-library tensorflow2

Last synced: 18 days ago
JSON representation

LiteCNN: Intuitive Python library for creating, training and visualizing convolutional neural networks. Features simplified CNN layer definition, automated training workflows, model visualization, and seamless Keras-to-ONNX conversion. Includes 15 pre-configured popular models for immediate use.

Awesome Lists containing this project

README

          

# LiteCNN - Easy Creating and Visualizing CNN Model

LiteCNN is a Python library designed to simplify the creation, training, and visualization of convolutional neural networks (CNNs). It provides an intuitive interface for deep learning enthusiasts and developers who want to work with CNN models without the complexity often associated with neural network frameworks.

## Features

- Straightforward definition of CNN layers with intuitive syntax
- Streamlined training and model evolution capabilities
- Visual representation of model architecture
- 15 pre-configured popular Keras application models ready for immediate use
- Seamless conversion of Keras models to ONNX format

## Documentation

[Documentation](https://github.com/Gabrli/LiteCNN--docs)

## Authors

- [@Gabrli](https://github.com/Gabrli)

## Tech Stack

**Languages:** Python

**Libraries:** Tensorflow, Matplotlib, Numpy, OpenCv

## License

[MIT](https://choosealicense.com/licenses/mit/)

## FAQ

#### what are the advantages ?

- Very easy and comfortable syntax
- Full control for developer
- Automatic data preparation and visualization processes
- Compatibility of model: option to convert to onnx type file.

#### What functionalities are under construction?

- Presets for popular models
- Exporter and Converter for files with models
- Special Visualizer to display training process

## Contributing

Contributions are always welcome!

See `contributing.md` for ways to get started.

Please adhere to this project's `code of conduct`.

## Basic Usage/Example

```python
from litecnn.core import LiteCNN
from litecnn.visualizer import TrainingVisualizer
import os
from tensorflow.keras.datasets import cifar10

class_names = ['car', 'plane', 'cat', 'dog', 'bird', 'deer', 'horse', 'frog', 'ship', 'truck']

(x_train, y_train), (x_test, y_test) = cifar10.load_data()

my_file = os.path.join(os.path.dirname(__file__), 'car.jpg')

x_train = x_train[:2000]
y_train = y_train[:2000]
x_test = x_test[:400]
y_test = y_test[:400]
x_train = x_train / 255
x_test = x_test / 255

model = LiteCNN()
model.add_conv(32, 3)
model.add_max_pool(2)
model.add_conv(64, 3)
model.add_max_pool(2)
model.add_conv(128, 3)
model.add_max_pool(2)
model.add_flatten()
model.add_dense(10, activation='softmax')
model.compile()
history = model.train(x_train, y_train, x_test, y_test, epochs=5)
prediction = model.predict(my_file)

visualizer = TrainingVisualizer()
visualizer.plot_training(history)
```