Repository navigation
Module_DeepLearning_Audio_zh
cyclone_dll edited this page Jul 6, 2026
·
6 revisions
本文档汇总 Signal → BatchTensor → Trainer 全链路(阶段 A–D),主 API 在 Vorcyc.Mathematics.DeepLearning.Integration 与 Integration.Frontends。
| 用途 | 形状 | 典型入口 |
|---|---|---|
| 波形批 | N×1×1×L | BatchTensorSignalExtensions.FromSignalVectors |
| 谱图批 | N×T×F×1 | SpectrogramBatchBuilder.FromSignals |
| 周期图 / 特征向量 | N×1×1×F |
FeatureBatchBuilder.FromPeriodograms / FromExtractorMeans
|
| 帧特征序列 | N×T×F×1 | FeatureBatchBuilder.FromExtractors |
| 分类标签 | N×1×1×C | AudioTrainingSamples.CreateOneHotTargets |
| 回归标量 | N×1×1×1 | AudioTrainingSamples.CreateScalarTargets |
依赖方向:DeepLearning → SignalProcessing(DSP 核心不引用 DL)。
var sample = AudioTrainingSamples.SpectrogramClassification(
signals, labels, numClasses: 2, stft);
trainer.FitBatchSequential(model, loss, optimizer, [sample], epochs: 100);var mfcc = AudioTrainingSamples.CreateDefaultMfccExtractor(8000);
var features = FeatureBatchBuilder.FromExtractorMeans(signals, mfcc); // N×1×1×13var stack = AudioFrontendLayers.CreateMelSpectrogramStack(8000, 64, 32, melBands: 24);
var model = new BatchSequential<float>(stack[0], stack[1], stack[2], /* CNN head */);-
BatchStftMagnitudeLayer反向为 stop-gradient(仅训练 CNN 头)。 -
BatchPreEmphasisLayer、BatchMelFilterbankLayer支持梯度(线性)。
神经网络的曲线拟合请使用 MlpRegressor(DeepLearning.Training)——见 Examples/DeepLearning_example/CurveFitDemo.cs。波形 → 标量回归可构建 BatchSequential,用批 MSE 损失训练:
var sample = AudioTrainingSamples.WaveformRegression(signals, scalarTargets);
trainer.FitBatchSequential(model, new BatchMeanSquaredErrorLoss<float>(), optimizer, [sample], epochs: 100);| 测试 | 说明 |
|---|---|
SignalBatchTensor_test |
波形往返 |
SpectrogramBatch_training_test |
谱图 CNN 分类 |
FeatureBatchBuilder_test |
特征形状 |
MfccMean_training_test |
MFCC 均值 + MLP |
AudioFrontend_training_test |
波形 → 前端 → CNN |
WaveformScalarRegression_test |
波形 → 幅度回归 |
更完整的模块说明见 Module_DeepLearning_zh.md。
-
- 🔖 ArrayExtension class
- 🔖 BaseConverter class
- 🔖 BitMathExtension class
- 🔖 Combinatorics class
- 🔖 ConstantsFp32 class
- 🔖 NumberMapper class
- 🔖 PinnableArray<T> class
- 🔖 SimpleRNG_Fp32 and SimpleRNG_Fp64 classes
- 🔖 TrigonometryHelper class
- 🔖 VMath class
- 🔖 Pinned buffers (Buffers)
- 🔖 IPinnedBuffer<T> interface
- 🔖 POHBuffer<T> class
- 🔖 NativeBuffer<T> class
-
- 🔖 0.9 classifier walkthrough
- 🔖 KNN<T> class
- 🔖 MultipleLinearRegression<T> class
- 🔖 SimpleLinearRegression<T> class
- 🔖 SupportVectorMachine<TSelf> class
- 🔖 DBSCAN<T> class
- 🔖 ExpectationMaximization<T> class
- 🔖 GMM<T> class
- 🔖 HierarchicalClustering<T> class
- 🔖 KMeansClusterer<T> class
- 🔖 VectorQuantization<T> class
- 🔖 FactorAnalysis<T> class
- 🔖 PCA<TSelf> class
- 🔖 TSNE<T> class
- 🔖 Distance metric classes
-
📒 Examples
-
📒 GPU 策略说明
- 🔖 为何放弃主包 GPU
- 🔖 当前性能路径
- 🔖 若仍需要更强算力
-
📒 计算上下文模块
-
📒 核心模块
-
📒 深度学习模块
-
📒 线性代数模块
-
📒 机器学习模块
- 🔖 0.9 分类器完整示例
- 🔖 KNN<T> 类
- 🔖 MultipleLinearRegression<T> 类
- 🔖 SimpleLinearRegression<T> 类
- 🔖 SupportVectorMachine<TSelf> 类
- 🔖 DBSCAN<T> 类
- 🔖 ExpectationMaximization<T> 类
- 🔖 GMM<T> 类
- 🔖 HierarchicalClustering<T> 类
- 🔖 KMeansClusterer<T> 类
- 🔖 VectorQuantization<T> 类
- 🔖 FactorAnalysis<T> 类
- 🔖 PCA<TSelf> 类
- 🔖 TSNE<T> 类
- 🔖 距离度量类
-
📒 信号处理模块
-
📒 数值模块
-
📒 统计模块
- 🔖 基础统计函数
- 🔖 高级统计函数
- 🔖 稳健统计 / RunningMoments
- 🔖 其它统计函数
- 🔖 分布相关函数
- 🔖 时间序列分析
- 🔖 IComparable 扩展
- 🔖 ExtremeValueFinder
- 🔖 INumber 扩展
-
📒 FFTW 扩展
-
📒 示例