Skip to content

Latest commit

 

History

History

README.md

KortexDL Python Examples

Example scripts demonstrating KortexDL with real sklearn datasets.

Requirements

pip install scikit-learn numpy

Setup

# Install KortexDL
cd kortexdl-python
pip install -e .

# Source Intel oneAPI (required)
source ~/intel/oneapi/setvars.sh

Examples with Real Datasets

Example Dataset Task Features
regression_example.py California Housing Regression 8 features (income, age, etc.)
classification_example.py Iris Classification 4 features, 3 classes
mnist_example.py sklearn Digits Digit Classification 64 features (8x8), 10 classes
polynomial_example.py Wine Classification 13 features, 3 classes
sine_wave_example.py Diabetes Regression 10 features
cnn_demo.py Synthetic CNN Layer Demo Conv2d, MaxPool2d, BatchNorm2d

Running Examples

python examples/regression_example.py      # California Housing regression
python examples/classification_example.py  # Iris classification
python examples/mnist_example.py           # Digit recognition
python examples/polynomial_example.py      # Wine classification
python examples/sine_wave_example.py       # Diabetes regression
python examples/cnn_demo.py                # CNN layers demo

Quick Start

import kortexdl as bd
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# Load real data
data = load_iris()
X = data.data.astype(np.float32)
y = np.eye(3, dtype=np.float32)[data.target]  # One-hot

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Create network
net = bd.Network([4, 16, 8, 3], bd.ActivationType.Sigmoid)

# Train
for epoch in range(100):
    loss = net.train_batch(X_train.flatten().tolist(), 
                           y_train.flatten().tolist(),
                           bd.LossType.MSE, 0.1, len(X_train))

# Evaluate
correct = 0
for i in range(len(X_test)):
    output = net.forward(X_test[i].tolist(), 1, False)
    if np.argmax(output) == np.argmax(y_test[i]):
        correct += 1

print(f"Accuracy: {correct/len(X_test)*100:.1f}%")