Metadata-Version: 2.4
Name: ming-nndl
Version: 0.0.1
Summary: Neural Network and Deep Learning (NNDL) library based on PaddlePaddle
Author-email: Ming <contact@example.com>
Project-URL: Homepage, https://github.com/lgnorant-lu/nndl
Project-URL: Bug Tracker, https://github.com/lgnorant-lu/nndl/issues
Project-URL: Repository, https://github.com/lgnorant-lu/nndl
Project-URL: PyPI, https://pypi.org/project/ming-nndl/
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: paddlepaddle>=2.0.0
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: pandas
Requires-Dist: Pillow
Dynamic: license-file

# ming-nndl - Neural Network and Deep Learning

> **"我们不生产水，我们只是大自然的搬运工"** 🚰

基于 PaddlePaddle 的神经网络与深度学习基础库，包含《神经网络与深度学习》书籍实验的完整实现。

## 📖 关于本项目

**nndl** 并不是一个公开的标准 Python 库（如 numpy 或 paddle），而是《神经网络与深度学习》这本书配套的**自定义教学代码库**。

正如《第1章 实践基础》中所述：
> "为了更深入地理解深度学习的模型和算法，在本书中，我们也手动实现自己的算子库：nndl"

### 为什么要封装到 PyPI？

在原书的教学环境中，学习者需要手动下载源代码文件才能使用 `nndl` 库。这在 **Google Colab** 等云环境中使用时非常不便，每次都要上传或挂载代码文件。

本项目将课程老师提供的原始代码**封装为标准 Python 包**并发布到 PyPI，使得你可以在任何 Python 环境中**一键安装**：

```bash
pip install ming-nndl
```

这样就能直接在 Colab、Jupyter Notebook 或本地环境中运行书中的实验代码，无需手动管理文件。

### 声明

- 本项目代码**来自课程老师提供的原始教学材料**
- 仅进行了打包封装，**未修改核心算法逻辑**
- 目的是方便学习者使用，**非其他用途**


## 安装

```bash
pip install ming-nndl
```

## 功能特性

- **数据集工具** (`dataset`): 内置常用数据集加载器
- **优化器** (`optimizer`): 实现各类优化算法
- **运行器** (`runner`): 简化模型训练流程
- **评估指标** (`metric`): 常用评估指标计算
- **基础算子** (`op`): 神经网络基础操作
- **激活函数** (`activation`): 常用激活函数实现
- **工具函数** (`tools`): 可视化等辅助工具

## 快速开始

```python
from nndl import RunnerV2
from nndl.dataset import MNIST
from nndl.optimizer import SGD

# 加载数据集
train_dataset = MNIST(mode='train')

# 创建运行器
runner = RunnerV2(model, optimizer=SGD(lr=0.01), metric='accuracy')

# 开始训练
runner.train(train_dataset, epochs=10)
```

## 依赖

- PaddlePaddle >= 2.0.0
- NumPy
- Matplotlib
- Pandas
- Pillow

## 项目链接

- GitHub: https://github.com/lgnorant-lu/nndl
- Issues: https://github.com/lgnorant-lu/nndl/issues

## 许可证

MIT License
