用 PyTorch 学习深度学习的笔记与代码示例 — 从 Tensor 基础到卷积神经网络,循序渐进。
Notes & code examples for learning deep learning with PyTorch — from tensor basics to CNN, step by step.
本仓库是学习 PyTorch 深度学习过程中的笔记与代码示例合集,按学习路径组织:
This repository collects notes and code examples from my PyTorch deep learning journey, organized as a learning path:
- 🧱 Tensor 基础 — Tensor 的创建、转换、计算、索引与变形
- 🧠 神经网络 — 线性层、激活函数、nn 模块与模型保存
- 🏋️ 训练 — 损失函数、数据集、反向传播与完整训练流程
- ⚡ 优化 — 优化器、学习率调度、参数初始化与正则化
- 🖼️ 卷积神经网络 — 卷积、池化、经典 CNN 与实战项目
- 简介 Introduction
- 概念导图 Concept Maps
- 代码示例 Code Examples
- 笔记 Notes
- 项目结构 Project Structure
- 环境要求 Requirements
- 快速开始 Quick Start

深度学习重要概念 / Key Concepts of Deep Learning — xmind 源文件

深度学习 workflow / Deep Learning Workflow — xmind 源文件

CNN 卷积神经网络 / Convolutional Neural Network — xmind 源文件
- 创建 Tensor (Create)
- 类型转换 (Conversion)
- 张量计算 (Calculation)
- 索引与切片 (Indexing & Slicing)
- 变形 (Reshape)
- 统计 (Statistics)
- 线性层 (Linear Layer)
- 激活函数 (Activation Functions)
- nn 模块 (nn.Module)
- Sequential 与模型保存 (Sequential & Save Model)
- 损失函数 / Loss Functions
- 数据集 / Datasets
- 反向传播 (Backpropagation)
- 训练流程 (Training Pipeline)
- 线性回归实例 (Linear Regression)
- 🕹️ 手写数字识别 — 训练 (Digit Recognizer · Train)
- 🕹️ 手写数字识别 — 测试 (Digit Recognizer · Test)
- 优化器 / Optimizers
- 参数初始化 (Parameter Initialization)
- 正则化 (Regularization)
- 🕹️ 房价预测 (House Price Prediction)
- 卷积层 (Convolution)
- 池化层 (Pooling)
- 经典 CNN 网络 (Classic CNNs)
- 🕹️ 手写数字识别 (Digit Recognizer · CNN)
- 服装分类 (Fashion Classification)
- 🕹️ 服装分类器 — 训练 (Fashion Classifier · Train, AlexNet)
- 🕹️ 服装分类器 — 测试 (Fashion Classifier · Test, AlexNet)
- PyTorch 核心 API 笔记 — PyTorch Core API Notes
- 激活函数详解 — Activation Functions Explained
.
├── data/ # 数据集:digit-recognizer、房价预测、fashion-mnist
├── graphic/ # 网络结构图绘制脚本
├── images/ # 可视化图片:激活函数曲线、优化器对比等
├── model/ # 训练好的模型权重
├── notes/ # 学习笔记
├── pytorch-basic/ # 代码示例(见「代码示例」章节)
│ ├── 01_tensor_api/
│ ├── 02_nn_base/
│ ├── 03_nn_train/
│ ├── 04_optimize/
│ └── 05_cnn/
└── xmind/ # 概念导图(.xmind 源文件 + 导出图片)
- Python 3.9+
- PyTorch 2.x(CPU / GPU 均可)
- NumPy · pandas · Matplotlib · scikit-learn · Pillow · Jupyter
pip install torch numpy pandas matplotlib scikit-learn pillow jupyter💡
networkx仅在 graphic/nn_net_graph.py 中用于绘制网络结构图,按需安装。
git clone <你的仓库地址>
cd deep-learning
pip install torch numpy pandas matplotlib scikit-learn pillow jupyter
# 训练一个三层神经网络识别手写数字
python pytorch-basic/03_nn_train/06_digit_recognizer_sample.py📝
.ipynb文件用jupyter notebook打开浏览;.py示例直接用python运行。 部分示例依赖外部数据集(如 Kaggle 的 digit-recognizertrain.csv、fashion-mnist),需提前下载并放入data/目录。
