Metadata-Version: 2.4
Name: fusionml
Version: 0.1.1
Summary: High-Performance ML Framework for Apple Silicon
Home-page: https://github.com/ommo007/FusionML
Author: Om Mohite
Author-email: Om Mohite <om.mohite@vit.edu.in>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.20.0
Provides-Extra: metal
Requires-Dist: pyobjc-framework-Metal>=9.0; extra == "metal"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# FusionML - Python

High-Performance ML Framework for Apple Silicon with GPU+CPU parallel execution.

## Installation

```bash
pip install fusionml

# With Metal GPU support
pip install fusionml[metal]
```

## Quick Start

```python
import fusionml as fml

# Initialize
fml.init()

# Create tensors
x = fml.rand(32, 784)
y = fml.Tensor([0, 1, 2, 3])  # Labels

# Build model
model = fml.nn.Sequential([
    fml.nn.Linear(784, 256),
    fml.nn.ReLU(),
    fml.nn.Linear(256, 10)
])

# Optimizer
optimizer = fml.optim.Adam(model.parameters(), lr=0.001)

# Training step
output = model(x)
loss = fml.nn.functional.cross_entropy(output, y)
loss.backward()
optimizer.step()

print(f"Loss: {loss.item()}")
```

## Features

- 🔥 PyTorch-like API
- ⚡ GPU+CPU parallel execution
- 🧠 Full autograd support
- 🎯 Apple Silicon optimized

## API

### Tensors
```python
fml.rand(2, 3)      # Random uniform
fml.randn(2, 3)     # Random normal
fml.zeros(2, 3)     # Zeros
fml.ones(2, 3)      # Ones
fml.eye(3)          # Identity
```

### Layers
```python
fml.nn.Linear(in, out)
fml.nn.ReLU()
fml.nn.GELU()
fml.nn.Dropout(0.5)
fml.nn.Sequential([...])
```

### Optimizers
```python
fml.optim.SGD(params, lr=0.01, momentum=0.9)
fml.optim.Adam(params, lr=0.001)
```

### Functional
```python
fml.nn.functional.relu(x)
fml.nn.functional.softmax(x)
fml.nn.functional.cross_entropy(pred, target)
fml.nn.functional.mse_loss(pred, target)
```

## License

MIT
