深度学习综合教学案例库

本案例库面向高校《人工智能基础》《深度学习》《模式识别》《计算机视觉基础》《数字图像处理》《信号处理与人工智能》等课程,提供 8 个可独立运行的 Syslab Julia 教学案例。

目录结构

深度学习综合教学案例库/
├─ images/
├─ 01_深度学习基础/
│  ├─ 深度学习算子可视化/
│  └─ Softmax与交叉熵分类演示/
├─ 02_CNN图像分类/
│  ├─ 简单CNN几何图形分类/
│  ├─ 图像数据增强对分类效果的影响/
│  └─ 预训练网络图像分类/
├─ 03_序列与时间序列/
│  ├─ LSTM时间序列分类/
│  └─ LSTM时间序列预测/
├─ 04_生成式模型/
│  └─ VAE图像重构/
└─ README.md

本地图像源

images 文件夹用于放置以下图像:

  • fig1.png ~ fig8.png:综合图像源,可用于预训练网络图像分类。
  • circle_samples.png:圆形样本图像。
  • square_samples.png:方形样本图像。
  • triangle_samples.png:三角形样本图像。
  • mixed_shapes.png:圆形、方形、三角形混合图像。

当前案例库 images 文件夹已同步规范命名图片,脚本直接读取 fig1.png ~ fig8.png 以及几何图形样本图。

TyDeepLearning 说明

深度学习相关案例在脚本开头优先加载 TyDeepLearning,并尝试使用:

  • set_backend(:mindspore)set_backend(:mindspore) 设置后端。
  • softmaxtrainNetworktrainingOptionsclassifypredict 等接口完成分类、训练和预测任务。
  • convolution2dLayerreluLayermaxPooling2dLayerfullyConnectedLayer 等接口表达 CNN 结构。
  • lstmVAEVAEtrain 等接口表达序列模型和生成式模型思路。

脚本优先直接调用 TyDeepLearning 内置函数;仅在教学组织、数据整理和指标统计环节编写必要辅助函数,并为辅助函数添加中文注释。

TyImageProcessing 说明

图像案例优先加载 TyImageProcessing,用于图像读取、显示、灰度化、尺寸调整、颜色空间转换、裁剪、增强和预处理。脚本直接读取本地规范图像,并使用 TyImageProcessing 完成灰度化、尺寸调整、裁剪和显示。

TyPlot 可视化说明

脚本优先使用 TyPlot 绘制曲线、柱状图、图像矩阵、混淆矩阵、预测误差曲线和重构对比图。图表标题、坐标轴和指标名称均使用中文。

深度学习后端设置

涉及深度学习的脚本均包含 backendType = :mindspore 参数,并在开头尝试:

using TyDeepLearning
set_backend(backendType)

当前脚本默认使用 :mindspore 后端;若本机已配置 torch,可将关键参数区的 backendType 改为 :torch

randomSeed 使用说明

涉及随机数据生成、噪声添加、数据增强、数据划分、参数初始化或生成式采样的案例均设置 randomSeed = 2026。仅使用固定图像和固定预训练模型预测的案例不强制设置随机种子。

案例简介

  1. 深度学习算子可视化:演示卷积、ReLU、最大池化、全连接和 Softmax 的前向传播。
  2. Softmax与交叉熵分类演示:生成三类二维数据,训练线性 Softmax 分类器并绘制损失曲线。
  3. 简单CNN几何图形分类:基于圆形、方形、三角形数据展示 CNN 图像分类流程,结合 TyDeepLearning 分类算子完成教学演示。
  4. 图像数据增强对分类效果的影响:对比增强前后模型测试准确率。
  5. 预训练网络图像分类:加载一个预训练网络并输出 Top-5 分类结果。
  6. LSTM时间序列分类:生成四类时间序列信号,完成序列分类和混淆矩阵评价。
  7. LSTM时间序列预测:用滑动窗口构造样本,预测带噪正弦序列下一时刻。
  8. VAE图像重构:展示几何图形图像低维编码和重构,使用 TyDeepLearning 生成式模型接口并配合重构误差分析。

运行方式

在 Syslab Julia 环境中进入任一案例文件夹,直接运行对应 .jl 脚本即可。例如:

include("深度学习算子可视化.jl")

每个脚本均为独立案例,不依赖统一入口脚本。

预训练网络注意事项

  • 预训练网络可能需要下载模型参数。
  • 建议单次脚本只加载一种预训练网络,避免模型或后端资源冲突。
  • 部分 Windows、离线或后端不完整环境可能不支持预训练网络,运行前应确认模型参数和后端可用。

后续可扩展方向

  • 迁移学习图像分类
  • ONNX 模型导入与预测
  • GAN 二维数据生成
  • 音频频谱图 CNN 分类
  • 遥感图像深度学习分类
  • 工业缺陷深度学习检测
  • 目标检测和语义分割