MCPcopy Create free account

hub / github.com/Leavesfly/TinyDL-0.01 / types & classes

Types & classes216 in github.com/Leavesfly/TinyDL-0.01

ClassAccuracyEval
准确率评估器 用于评估分类模型的准确率性能指标。 通过计算模型在测试数据集上的预测准确率来评估模型性能。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/evaluator/AccuracyEval.java:21
EnumActiveFunc
激活函数类型枚举 定义了框架支持的激活函数类型
src/main/java/io/leavesfly/tinydl/utils/Config.java:23
ClassAdam
Adam优化器 实现了Adam优化算法,融合了Momentum和AdaGrad的优点。 Adam通过计算梯度的一阶矩估计和二阶矩估计来动态调整学习率。 更新公式: m = β1 m + (1 - β1) g v = β2 v + (1 - β2) g^2 θ = θ - lr m_hat / (
src/main/java/io/leavesfly/tinydl/mlearning/optimize/Adam.java:24
ClassAdd
加法函数 实现两个变量的加法运算,支持广播操作。 当两个输入变量的形状不同时,会自动进行广播以匹配形状。
src/main/java/io/leavesfly/tinydl/func/base/Add.java:16
ClassAffineLayer
仿射层(全连接层) @author leavesfly @version 0.01 AffineLayer与LinearLayer功能基本相同,都是实现全连接层的功能。 该层执行以下计算:y = x W + b 其中W是权重矩阵,b是偏置项(可选)。
src/main/java/io/leavesfly/tinydl/nnet/layer/dnn/AffineLayer.java:20
ClassAgent
强化学习智能体抽象基类 @author leavesfly @version 0.01 Agent类定义了强化学习智能体的标准接口,包括动作选择、学习更新等功能。 智能体负责与环境交互,根据状态选择动作,并从经验中学习改进策略。 支持不同的强化学习算法实现,如Q-Learning、Policy
src/main/java/io/leavesfly/tinydl/modality/rl/Agent.java:20
ClassArrayDataset
能全量装载到内存的DataSet的简单实现 该类是DataSet的抽象实现,适用于能够完全加载到内存中的数据集。 提供了批次处理、数据分割和数据打乱等基本功能。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/dataset/ArrayDataset.java:17
ClassBanditAgent
多臂老虎机智能体基类 提供多臂老虎机算法的通用功能,包括统计信息记录、动作选择历史等。 具体的选择策略由子类实现。 @author leavesfly
src/main/java/io/leavesfly/tinydl/modality/rl/agent/BanditAgent.java:18
ClassBaseOperationsTest
基础运算函数的单元测试 @author TinyDL
src/test/java/io/leavesfly/tinydl/test/func/base/BaseOperationsTest.java:17
ClassBasicConvNetTest
简单的卷积网络测试 @author leavesfly @version 0.01 测试一个基本的卷积网络结构:Conv -> ReLU -> Pool -> Flatten -> FC 用于验证卷积层、池化层、激活层和全连接层的基本功能和形状变换。
src/main/java/io/leavesfly/tinydl/example/cv/BasicConvNetTest.java:22
ClassBatch
一批数据 该类表示机器学习中的一批训练或测试数据,包含输入数据和对应的标签数据。 提供了将数据转换为Variable对象的方法,便于模型训练和推理。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/dataset/Batch.java:16
ClassBatchNorm
批量归一化层 实现Batch Normalization算法,提高训练稳定性和收敛速度
src/main/java/io/leavesfly/tinydl/nnet/layer/norm/BatchNorm.java:16
ClassBatchOptimizationExample
Batch优化功能演示示例 该示例演示了Batch类的优化功能,包括: 1. Variable缓存机制,避免频繁创建对象 2. 迭代器功能,支持逐个访问数据对 3. 索引重置功能 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/example/BatchOptimizationExample.java:18
ClassBatchProcessResult
批次处理结果
src/main/java/io/leavesfly/tinydl/mlearning/parallel/ParallelBatchProcessor.java:97
ClassBatchTest
Batch类的单元测试 @author TinyDL @version 1.0
src/test/java/io/leavesfly/tinydl/test/dataset/BatchTest.java:16
ClassBlock
表示由层组合起来的更大的神经网络的块 @author leavesfly @version 0.01 Block是神经网络中用于组合多个Layer的容器类,可以包含其他Layer或Block, 是构建复杂神经网络结构的基础组件。
src/main/java/io/leavesfly/tinydl/nnet/Block.java:20
ClassBroadcastTo
广播函数 将输入数组广播到指定形状。
src/main/java/io/leavesfly/tinydl/func/matrix/BroadcastTo.java:15
ClassCartPoleDQNExample
CartPole环境下使用DQN算法的示例 @author leavesfly @version 0.01 这个示例展示了如何使用DQN算法来解决CartPole(倒立摆)问题。 CartPole是强化学习的经典控制问题,目标是通过控制小车的左右移动来平衡杆子。 主要学习内容: 1. DQN算
src/main/java/io/leavesfly/tinydl/example/rl/CartPoleDQNExample.java:26
ClassCartPoleEnvironment
CartPole(倒立摆)环境实现 @author leavesfly @version 0.01 CartPoleEnvironment实现了经典的倒立摆控制问题。 目标是通过控制小车的左右移动来平衡杆子,使其不倒下。 这是强化学习领域的经典控制问题,适合测试各种RL算法的性能。 状态空间:
src/main/java/io/leavesfly/tinydl/modality/rl/environment/CartPoleEnvironment.java:26
ClassClassify
分类评估工具类 提供分类模型的评估方法,如准确率计算等。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/loss/Classify.java:14
ClassClip
裁剪函数 将输入值限制在指定的最小值和最大值之间。
src/main/java/io/leavesfly/tinydl/func/math/Clip.java:14
ClassCnnPerformanceBenchmark
CNN优化前后的性能基准测试和对比分析
src/test/java/io/leavesfly/tinydl/test/cnn/CnnPerformanceBenchmark.java:16
ClassCol2ImUtil
优化的Col2Im工具类 增加了缓存机制和性能优化
src/main/java/io/leavesfly/tinydl/nnet/layer/cnn/Col2ImUtil.java:10
ClassCol2ImUtilTest
src/test/java/io/leavesfly/tinydl/test/Col2ImUtilTest.java:5
ClassCompleteRnnExample
完整的RNN示例,比较不同RNN层的性能 @author leavesfly @version 0.01 该示例演示并比较三种不同的递归神经网络架构: 1. SimpleRNN - 基础递归网络 2. LSTM - 长短期记忆网络,能够处理长序列依赖 3. GRU - 门控递归单元,LSTM的简
src/main/java/io/leavesfly/tinydl/example/rnn/CompleteRnnExample.java:33
ClassConfig
简单的配置类 @author leavesfly @version 0.01 Config类用于存储全局配置信息,包括训练模式和激活函数类型枚举。
src/main/java/io/leavesfly/tinydl/utils/Config.java:11
ClassConvLayer
卷积层实现类 实现了标准的卷积操作,支持步长、填充、偏置等参数。 使用Im2Col技术将卷积操作转换为矩阵乘法,提高计算效率。
src/main/java/io/leavesfly/tinydl/nnet/layer/cnn/ConvLayer.java:19
ClassConvLayerOptimizationExample
ConvLayer优化示例 展示优化后的ConvLayer类的功能和使用方法
src/main/java/io/leavesfly/tinydl/example/cv/ConvLayerOptimizationExample.java:13
ClassConvNetConfig
网络配置类 用于配置卷积神经网络的各种超参数,包括批量归一化、残差连接、偏置使用、Dropout率等。
src/main/java/io/leavesfly/tinydl/modality/cv/SimpleConvNet.java:30
ClassCos
余弦函数 计算输入值的余弦值。
src/main/java/io/leavesfly/tinydl/func/math/Cos.java:14
ClassCosDataSet
src/main/java/io/leavesfly/tinydl/mlearning/dataset/simple/CosDataSet.java:9
ClassDQNAgent
Deep Q-Network (DQN) 智能体实现 @author leavesfly @version 0.01 DQNAgent实现了深度Q网络算法,这是第一个成功将深度学习应用于强化学习的算法。 主要特点包括: 1. 使用神经网络逼近Q函数 2. 经验回放机制提高数据利用率 3. 目标网
src/main/java/io/leavesfly/tinydl/modality/rl/agent/DQNAgent.java:30
ClassDataSet
表示机器学习中的用于训练、测试或验证的数据集抽象类 该类是所有数据集实现的基类,定义了数据集的基本操作接口: 1. 批次数据的获取 2. 数据集的准备和预处理 3. 数据的随机打乱 4. 数据集的分割(训练/测试/验证) @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/dataset/DataSet.java:19
ClassDecoder
序列到序列模型解码器抽象基类 解码器负责接收编码器的输出状态,并根据该状态和目标序列的部分输入, 逐步生成目标序列。解码过程可以是自回归的(传统解码)或并行的(Transformer)。 主要职责: 1. 状态初始化:接收编码器的输出状态并初始化内部状态 2. 序列生成:根据上下文信息逐步生成目
src/main/java/io/leavesfly/tinydl/nnet/block/seq2seq/Decoder.java:36
ClassDepthwiseSeparableConvLayer
深度可分离卷积层(简化版本) 实现MobileNet中的Depthwise Separable Convolution 包含深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)
src/main/java/io/leavesfly/tinydl/nnet/layer/cnn/DepthwiseSeparableConvLayer.java:17
ClassDiv
除法函数 实现两个变量的除法运算。
src/main/java/io/leavesfly/tinydl/func/base/Div.java:14
ClassDropout
抑制过拟合,采用的随机丢弃一些参数权重的方法
src/main/java/io/leavesfly/tinydl/nnet/layer/norm/Dropout.java:15
ClassEmbedding
词嵌入层实现 @author leavesfly @version 0.01 Embedding层用于将离散的词汇索引转换为连续的向量表示。 它维护一个词汇表大小×嵌入维度的权重矩阵,通过查找表的方式获取对应词向量。 前向传播过程: 1. 输入为词汇索引序列 2. 根据索引从权重矩阵中查找对应
src/main/java/io/leavesfly/tinydl/nnet/layer/embedd/Embedding.java:29
ClassEmbeddingFullExample
Embedding层完整示例 @author leavesfly @version 0.01 该示例演示如何在实际场景中使用Embedding层,包括: 1. 创建Embedding层 2. 将词汇索引转换为词向量 3. 与全连接层和激活函数组合使用
src/main/java/io/leavesfly/tinydl/example/embedd/EmbeddingFullExample.java:21
ClassEmbeddingTest
Embedding层测试示例 @author leavesfly @version 0.01 该示例演示如何使用Embedding层将词汇索引转换为词向量表示。
src/main/java/io/leavesfly/tinydl/example/embedd/EmbeddingTest.java:16
ClassEncoder
序列到序列模型编码器抽象基类 编码器负责将输入序列编码为一个固定长度的上下文向量或状态表示, 该表示包含了输入序列的所有关键信息,用于指导解码器生成目标序列。 主要职责: 1. 序列编码:将变长输入序列转换为固定维度的表示 2. 信息压缩:提取输入序列的关键特征和语义信息 3. 状态传递:为解码
src/main/java/io/leavesfly/tinydl/nnet/block/seq2seq/Encoder.java:34
ClassEncoderDecoder
序列到序列模型的编码解码器组合类 <p> 这个类将编码器和解码器组合成一个完整的序列到序列模型。 它协调编码器和解码器的工作流程,实现完整的序列转换功能。 <p> 工作流程: 1. 编码阶段:使用编码器将输入序列编码为上下文状态 2. 状态传递:将编码器的输出状态传递给解码器 3. 解码阶段:使用解
src/main/java/io/leavesfly/tinydl/nnet/block/seq2seq/EncoderDecoder.java:42
ClassEnvironment
强化学习环境抽象基类 @author leavesfly @version 0.01 Environment类定义了强化学习环境的标准接口,所有具体环境都应继承此类。 环境负责维护状态、处理动作、计算奖励,并判断回合是否结束。 遵循OpenAI Gym的标准接口设计。
src/main/java/io/leavesfly/tinydl/modality/rl/Environment.java:19
ClassEpsilonGreedyBanditAgent
ε-贪心多臂老虎机智能体 ε-贪心算法是最简单的多臂老虎机算法之一: - 以ε的概率随机选择一个臂(探索) - 以(1-ε)的概率选择当前估计奖励最高的臂(利用) 算法特点: - 实现简单 - 平衡探索和利用 - 适合奖励分布相对稳定的环境 @author leavesfly
src/main/java/io/leavesfly/tinydl/modality/rl/agent/EpsilonGreedyBanditAgent.java:23
ClassEpsilonGreedyPolicy
ε-贪婪策略实现 @author leavesfly @version 0.01 EpsilonGreedyPolicy实现了ε-贪婪策略,这是强化学习中最常用的探索策略之一。 以1-ε的概率选择当前最优动作(贪婪),以ε的概率随机选择动作(探索)。 支持动态调整ε值,通常在训练过程中逐渐减小ε
src/main/java/io/leavesfly/tinydl/modality/rl/policy/EpsilonGreedyPolicy.java:20
ClassEvaluator
模型效果评估器抽象类 该类是所有模型评估器的基类,定义了模型评估的基本接口。 子类需要实现具体的评估逻辑,如准确率评估、回归损失评估等。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/evaluator/Evaluator.java:15
ClassExp
指数函数 计算以e为底的指数值。
src/main/java/io/leavesfly/tinydl/func/math/Exp.java:14
ClassExperience
强化学习经验数据类 @author leavesfly @version 0.01 Experience类用于存储强化学习中的一步经验,包含状态、动作、奖励、下一状态等信息。 主要用于经验回放(Experience Replay)机制,提高学习效率和稳定性。
src/main/java/io/leavesfly/tinydl/modality/rl/Experience.java:14
ClassExperimentResult
实验结果数据类
src/main/java/io/leavesfly/tinydl/example/rl/MultiArmedBanditExample.java:275
ClassFeedForward
前馈神经网络层(Feed Forward Network)实现 Transformer中的前馈网络是一个两层的全连接网络,通常包含: 1. 第一个线性层:将输入维度扩展到更大的隐藏维度 2. ReLU激活函数 3. 第二个线性层:将隐藏维度压缩回原始维度 FFN(x) = max(0, xW1
src/main/java/io/leavesfly/tinydl/nnet/layer/transformer/FeedForward.java:23
ClassFlatten
将矩阵打平
src/main/java/io/leavesfly/tinydl/nnet/layer/norm/Flatten.java:14
ClassFunction
抽象的数学函数基类 在TinyDL深度学习框架中,Function类是所有数学函数操作的基类。 它定义了前向传播和反向传播的接口,并负责构建计算图。 每个函数实例都维护输入变量和输出变量之间的关系。
src/main/java/io/leavesfly/tinydl/func/Function.java:17
ClassFunctionOptimizationExample
Function类优化示例 展示优化后的Function类的功能和使用方法
src/main/java/io/leavesfly/tinydl/example/FunctionOptimizationExample.java:16
ClassFunctionOptimizationTest
Function类优化的单元测试 @author TinyDL
src/test/java/io/leavesfly/tinydl/test/func/FunctionOptimizationTest.java:20
ClassGPT2Block
GPT-2 Transformer Block实现 GPT-2使用仅解码器的架构,每个block包含: 1. 层归一化(前置) 2. 带掩码的多头自注意力 3. 残差连接 4. 层归一化(前置) 5. 前馈网络 6. 残差连接 注意:GPT-2使用Pre-LayerNorm结构(在子层之前应用层
src/main/java/io/leavesfly/tinydl/nnet/block/transformer/GPT2Block.java:25
ClassGPT2Example
GPT-2语言模型训练和生成示例 @author leavesfly @version 0.01 本示例展示了如何: 1. 创建和配置GPT-2模型 2. 准备训练数据 3. 训练语言模型 4. 生成文本
src/main/java/io/leavesfly/tinydl/example/nlp/GPT2Example.java:31
ClassGPT2Model
GPT-2 小规模语言模型实现 @author leavesfly @version 0.01 GPT2Model类实现了GPT-2语言模型,基于Transformer解码器的自回归语言模型。 特点: 1. 仅使用解码器架构 2. 使用掩码多头自注意力防止未来信息泄露 3. Pre-LayerN
src/main/java/io/leavesfly/tinydl/modality/nlp/GPT2Model.java:34
ClassGPT2OutputHead
GPT-2 输出头实现 将Transformer的输出转换为词汇表上的概率分布 通常使用线性变换将隐藏状态映射到词汇表大小的logits
src/main/java/io/leavesfly/tinydl/nnet/layer/transformer/GPT2OutputHead.java:18
ClassGPT2SimpleTest
GPT-2模型简单测试示例 @author leavesfly @version 0.01 该示例演示了GPT-2模型的基本功能测试,包括: 1. 分词器功能测试 2. 模型创建和初始化测试 3. 前向传播测试 4. 基本文本生成测试 GPT-2是一种基于Transformer的自回归语言模型
src/main/java/io/leavesfly/tinydl/example/nlp/GPT2SimpleTest.java:26
ClassGPT2TextDataset
GPT-2文本数据集 专门为GPT-2语言模型设计的数据集类,支持: 1. 文本序列的自回归训练数据生成 2. 输入序列和目标序列的准备 3. 批次数据的生成和管理 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/dataset/GPT2TextDataset.java:20
ClassGPT2TokenEmbedding
GPT-2 Token嵌入层实现 将token ID转换为高维向量表示 包含两种嵌入: 1. Token嵌入:将词汇ID映射到向量 2. 位置嵌入:为每个位置学习位置向量(可选,也可以使用PositionalEncoding)
src/main/java/io/leavesfly/tinydl/nnet/layer/transformer/GPT2TokenEmbedding.java:20
ClassGetItem
索引获取函数 根据指定的行列索引从输入数组中获取子数组。
src/main/java/io/leavesfly/tinydl/func/matrix/GetItem.java:14
ClassGradientAggregator
梯度聚合器 - 用于多线程训练中收集和平均梯度 支持多个线程并发提交梯度,自动进行梯度平均,确保线程安全
src/main/java/io/leavesfly/tinydl/mlearning/parallel/GradientAggregator.java:17
ClassGridWorldEnvironment
GridWorld(网格世界)环境实现 @author leavesfly @version 0.01 GridWorldEnvironment实现了经典的网格世界导航问题。 智能体在网格中移动,目标是从起始位置到达目标位置,同时避开障碍物。 这是强化学习领域的经典导航问题,适合测试路径规划和策
src/main/java/io/leavesfly/tinydl/modality/rl/environment/GridWorldEnvironment.java:26
ClassGridWorldREINFORCEExample
GridWorld环境下使用REINFORCE算法的示例 @author leavesfly @version 0.01 这个示例展示了如何使用REINFORCE算法来解决GridWorld(网格世界)导航问题。 GridWorld是强化学习的经典导航问题,目标是从起始位置到达目标位置,同时避开
src/main/java/io/leavesfly/tinydl/example/rl/GridWorldREINFORCEExample.java:26
ClassGruBlock
GRU块,包含一个GRU层和一个线性输出层 @author leavesfly @version 0.01 GruBlock是一个组合块,包含一个GRU层和一个线性输出层, 用于构建基于GRU的序列模型。
src/main/java/io/leavesfly/tinydl/nnet/block/GruBlock.java:18
ClassGruLayer
门控循环单元层(GRU) @author leavesfly @version 0.01 GRU是LSTM的简化版本,包含更新门和重置门,能够有效处理序列数据中的长期依赖问题。 GRU通过两个门控机制来控制信息的流动: 1. 更新门 (Update Gate) - 控制前一状态信息的保留程度 2
src/main/java/io/leavesfly/tinydl/nnet/layer/rnn/GruLayer.java:39
ClassIm2ColUtil
优化的Im2Col工具类 当处理四维数组时,我们通常处理的是多个样本(例如,一批图像)其中每个样本可能包含多个通道(例如,RGB图像有三个通道) 增加了缓存机制和性能优化
src/main/java/io/leavesfly/tinydl/nnet/layer/cnn/Im2ColUtil.java:11
ClassIm2colTest
src/test/java/io/leavesfly/tinydl/test/Im2colTest.java:5
ClassImageTranslator
图像数据转换器 用于图像数据与NdArray之间的相互转换。 TODO: 当前实现尚未完成,需要进一步完善图像数据处理逻辑。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/inference/ImageTranslator.java:14
ClassLayer
表示神经网络中具体的层,对应数学中的一个函数 @author leavesfly @version 0.01 Layer是神经网络的基本组成单元,每个Layer实现特定的数学变换功能。 Layer继承自LayerAble抽象类,提供了参数管理和梯度清零等基础功能。
src/main/java/io/leavesfly/tinydl/nnet/Layer.java:16
ClassLayerAble
神经网络层的抽象基类 @author leavesfly @version 0.01 LayerAble是所有神经网络层的抽象基类,继承自Function类。 定义了神经网络层的基本接口和属性,包括参数管理、前向传播、梯度清零等功能。
src/main/java/io/leavesfly/tinydl/nnet/LayerAble.java:20
ClassLayerNorm
层归一化(Layer Normalization)实现 层归一化对每个样本的特征维度进行归一化,公式如下: LayerNorm(x) = γ (x - μ) / σ + β 其中: - μ 是均值 - σ 是标准差 - γ 是学习的缩放参数 - β 是学习的偏移参数
src/main/java/io/leavesfly/tinydl/nnet/layer/transformer/LayerNorm.java:24
ClassLineExam
线性回归示例 @author leavesfly @version 0.01 该示例演示如何使用梯度下降法拟合带有噪声的线性数据。 线性回归是机器学习中最基础的回归算法之一,用于建立输入特征与目标值之间的线性关系。
src/main/java/io/leavesfly/tinydl/example/regress/LineExam.java:19
ClassLinear
线性变换函数 执行线性变换操作:y = x w + b,其中b为可选偏置项。
src/main/java/io/leavesfly/tinydl/func/matrix/Linear.java:14
ClassLinearLayer
线性层(全连接层) @author leavesfly @version 0.01 LinearLayer实现了一个标准的全连接层,对输入进行线性变换。 该层执行以下计算:y = x W + b 其中W是权重矩阵,b是偏置项(可选)。
src/main/java/io/leavesfly/tinydl/nnet/layer/dnn/LinearLayer.java:21
ClassLog
对数函数 计算以e为底的对数值。
src/main/java/io/leavesfly/tinydl/func/math/Log.java:14
ClassLoss
损失函数抽象类 该类是所有损失函数实现的基类,定义了计算损失值的基本接口。 子类需要实现具体的损失计算逻辑。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/loss/Loss.java:14
ClassLossFunctionsTest
损失函数的单元测试 @author TinyDL
src/test/java/io/leavesfly/tinydl/test/func/loss/LossFunctionsTest.java:19
ClassLstmBlock
LSTM块,包含一个LSTM层和一个线性输出层 注意:由于编译器问题,暂时使用SimpleRnnLayer作为占位符 @author leavesfly @version 0.01 LstmBlock是一个组合块,包含一个LSTM层和一个线性输出层, 用于构建基于LSTM的序列模型。当前实现使用
src/main/java/io/leavesfly/tinydl/nnet/block/LstmBlock.java:19
ClassLstmLayer
长短期记忆网络层 (LSTM Layer) @author leavesfly @version 0.01 LSTM是一种特殊的循环神经网络,能够学习长期依赖信息,有效缓解梯度消失问题。 LSTM通过三个门控机制来控制信息的流动: 1. 遗忘门 (Forget Gate) - 控制从细胞状态中丢
src/main/java/io/leavesfly/tinydl/nnet/layer/rnn/LstmLayer.java:43
ClassMaskedSoftmaxCELoss
掩码Softmax交叉熵损失函数 用于处理序列模型中的掩码交叉熵损失计算,特别适用于处理变长序列。 在序列处理中,较短的序列会被填充到固定长度,掩码用于忽略填充部分的损失计算。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/loss/MaskedSoftmaxCELoss.java:16
ClassMaskedSoftmaxCELossTest
MaskedSoftmaxCELoss测试类
src/test/java/io/leavesfly/tinydl/test/loss/MaskedSoftmaxCELossTest.java:15
ClassMatMul
矩阵乘法函数 计算两个矩阵的内积(点积)。
src/main/java/io/leavesfly/tinydl/func/matrix/MatMul.java:14
ClassMathFunctionsTest
数学函数的单元测试 @author TinyDL
src/test/java/io/leavesfly/tinydl/test/func/math/MathFunctionsTest.java:17
ClassMatrixOperationsTest
矩阵操作函数的单元测试 @author TinyDL
src/test/java/io/leavesfly/tinydl/test/func/matrix/MatrixOperationsTest.java:18
ClassMax
最大值函数 计算输入数组沿指定轴的最大值。
src/main/java/io/leavesfly/tinydl/func/math/Max.java:14
ClassMeanSE
均方误差损失函数 (Mean Squared Error) 计算预测值与真实标签之间的均方误差,常用于回归问题。
src/main/java/io/leavesfly/tinydl/func/loss/MeanSE.java:14
ClassMeanSquaredLoss
均方误差损失函数 用于回归任务的损失计算,计算预测值与真实值之间的均方误差。 @author TinyDL @version 1.0
src/main/java/io/leavesfly/tinydl/mlearning/loss/MeanSquaredLoss.java:13
ClassMin
最小值函数 计算输入数组沿指定轴的最小值。
src/main/java/io/leavesfly/tinydl/func/math/Min.java:11
ClassMlpBlock
多层全连接的BP神经网络 @author leavesfly @version 0.01 <p> MlpBlock是一个多层感知机块,由多个全连接层和激活函数层组成, 可以构建任意深度的前馈神经网络。
src/main/java/io/leavesfly/tinydl/nnet/block/MlpBlock.java:23
ClassMlpSinExam
MLP拟合正弦曲线示例 @author leavesfly @version 0.01 该示例演示如何使用多层感知机(MLP)神经网络拟合带有噪声的正弦曲线数据。 MLP是一种前馈神经网络,能够学习非线性函数映射,适用于回归和分类任务。
src/main/java/io/leavesfly/tinydl/example/regress/MlpSinExam.java:28
ClassMnistDataSet
手写数字的图像集合
src/main/java/io/leavesfly/tinydl/mlearning/dataset/simple/MnistDataSet.java:20
ClassMnistMlpExam
手写数字识别示例 @author leavesfly @version 0.01 使用MLP神经网络对MNIST手写数字数据集进行分类训练的示例。 展示了完整的深度学习训练流程: 1. 定义超参数 2. 定义模型结构 3. 准备数据集 4. 配置训练器 5. 执行模型训练 6. 评估模型性能
src/main/java/io/leavesfly/tinydl/example/classify/MnistMlpExam.java:35
ClassMoEExpertNetwork
MoE专家网络实现 每个专家是一个独立的前馈神经网络,具有自己的参数。 专家网络的结构与标准的FeedForward层相同: Expert(x) = ReLU(xW1 + b1)W2 + b2 在MoE中,每个专家专注于处理特定类型的输入模式, 通过门控网络的路由机制来选择最合适的专家。 @a
src/main/java/io/leavesfly/tinydl/modality/nlp/layer/MoEExpertNetwork.java:26
ClassMoEGPTExample
Mixture of Experts (MoE) GPT模型使用示例 这个示例演示了如何: 1. 创建和配置MoE-GPT模型 2. 准备文本数据和训练 3. 监控专家使用情况和负载均衡 4. 进行文本生成推理 5. 分析模型性能和专家分工 MoE模型的主要优势: - 大幅增加模型容量而保持计算
src/main/java/io/leavesfly/tinydl/example/nlp/MoEGPTExample.java:36
ClassMoEGPTModel
基于Mixture of Experts (MoE) 的GPT模型实现 这个模型将传统GPT-2中的FeedForward层替换为MoE层, 从而大幅增加模型容量而不显著增加计算开销。 MoE-GPT模型的核心优势: 1. 大幅增加模型参数量而保持合理的计算成本 2. 每个token只激活部分专
src/main/java/io/leavesfly/tinydl/modality/nlp/MoEGPTModel.java:36
ClassMoEGatingNetwork
MoE门控网络实现 门控网络负责计算每个专家的权重,决定对于给定输入应该使用哪些专家。 门控网络通常使用softmax函数来生成归一化的权重分布。 公式:G(x) = softmax(xW_g + b_g) 其中G(x)是一个长度为num_experts的概率分布向量 @author leav
src/main/java/io/leavesfly/tinydl/modality/nlp/layer/MoEGatingNetwork.java:26
ClassMoELayer
Mixture of Experts (MoE) 层实现 MoE层是一种高效的神经网络架构,通过组合多个专家网络来增加模型容量。 核心思想是对于不同的输入,激活不同的专家子集,从而实现专业化处理。 MoE层的工作流程: 1. 门控网络(Gating Network)计算每个专家的权重 2. 根据
src/main/java/io/leavesfly/tinydl/modality/nlp/layer/MoELayer.java:30
ClassMoETransformerBlock
支持MoE的Transformer Block实现 这个Block替换传统的FeedForward层为MoE层,从而大幅增加模型容量 同时保持计算效率。结构如下: 1. 层归一化(前置) 2. 带掩码的多头自注意力 3. 残差连接 4. 层归一化(前置) 5. MoE层(替换传统FeedForw
src/main/java/io/leavesfly/tinydl/modality/nlp/block/MoETransformerBlock.java:33
next →1–100 of 216, ranked by callers