Metadata-Version: 2.4
Name: dlspit
Version: 1.0.3
Summary: A collection of Deep Learning experiments: MLP, CNN, ResNet, RNN, LSTM, Transformer, GAN, VAE, Transfer Learning.
Project-URL: Repository, https://github.com/PrathamShid07/DL_Expts
Project-URL: Issues, https://github.com/PrathamShid07/DL_Expts/issues
Author-email: Pratham <pratham.shid23@spit.ac.in>
License: MIT
Keywords: cnn,deep-learning,gan,lstm,mlp,neural-network,pytorch,resnet,rnn,transformer,vae
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: numpy>=1.24
Provides-Extra: all
Requires-Dist: scikit-learn>=1.3; extra == 'all'
Requires-Dist: tensorflow>=2.12; extra == 'all'
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: hatchling>=1.18; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Provides-Extra: sklearn
Requires-Dist: scikit-learn>=1.3; extra == 'sklearn'
Provides-Extra: tensorflow
Requires-Dist: tensorflow>=2.12; extra == 'tensorflow'
Description-Content-Type: text/markdown

# dlspit — DL Experiments

A pip-installable collection of Deep Learning experiment modules covering
McCulloch-Pitts neurons, MLP, backpropagation, CNN, ResNet, RNN, LSTM,
Transformer, GAN, VAE, and Transfer Learning.

## Installation

```bash
# Core (NumPy only — Exp 1aMP_Xor works without extras)
pip install dlspit

# With TensorFlow (required for Exp 1bMP_Binary through 10Transfer)
pip install "dlspit[tensorflow]"

# With scikit-learn (required for Exp 7Lstm MinMaxScaler)
pip install "dlspit[sklearn]"

# Everything
pip install "dlspit[all]"
```

## Usage

### Python API

```python
import dl_experiments

# Print the source code of an experiment (default behaviour)
dl_experiments.main("1aMP_Xor")           # McCulloch-Pitts
dl_experiments.main("4CNN", "5Resnet")    # CNN + ResNet
dl_experiments.main()                     # all experiments

# Actually execute an experiment
dl_experiments.run_experiment("4CNN")

# Print source directly
dl_experiments.show_source("7Lstm")

# List all valid keys
print(dl_experiments.list_experiments())
```

### CLI

```bash
# Print source code (default)
dlspit 1aMP_Xor
dlspit 4CNN 5Resnet 6RNN

# List all valid experiment keys
dlspit --list

# Execute an experiment
dlspit --run 4CNN
dlspit --run                    # execute all

# As a module
python -m dl_experiments 1aMP_Xor
python -m dl_experiments --run 4CNN
```

## Experiment Index

| Key                  | Description                                        |
|----------------------|----------------------------------------------------|
| `1aMP_Xor`           | McCulloch-Pitts neuron — XOR & XNOR gates          |
| `1bMP_Binary`        | MLP binary classifier (XNOR via backprop)          |
| `2aLoss_Activation`  | Activation & loss function comparison on MNIST     |
| `2bBPN`              | Backpropagation on MNIST (SGD feedforward NN)      |
| `3regularization`    | L2 regularisation + Dropout on MNIST               |
| `4CNN`               | Convolutional Neural Network on MNIST              |
| `5Resnet`            | ResNet50 transfer learning on CIFAR-10             |
| `6RNN`               | Simple RNN for IMDB sentiment analysis             |
| `7Lstm`              | Stacked LSTM for time-series prediction            |
| `8Transform`         | Transformer encoder for IMDB text classification   |
| `9aVAE`              | Variational Autoencoder on MNIST                   |
| `9bGAN`              | Generative Adversarial Network on MNIST            |
| `10Transfer`         | MobileNetV2 transfer learning on CIFAR-10          |

## Requirements

- Python ≥ 3.10
- numpy ≥ 1.24
- (Optional) tensorflow ≥ 2.12 — for Exp `1bMP_Binary` through `10Transfer`
- (Optional) scikit-learn ≥ 1.3 — for Exp `7Lstm` (MinMaxScaler)

## License

MIT