kingecg
|
28cf1f533a
|
```
test(model): 修复矩阵形状不匹配的测试用例
- 将bias从vector改为1x2矩阵以匹配输出形状
- 更新梯度初始化为矩阵格式而非向量
- 修改输入数据创建方式,使用NewMatrix替代NewVector
- 调整期望输出计算逻辑以正确处理矩阵运算
fix(optimizer): 修复Adam优化器在矩阵参数下的索引访问
- 添加对1维和2维形状的分别处理逻辑
- 修正一阶矩和二阶矩估计的索引访问方式
- 确保矩阵参数的每个元素都能正确更新
test(optimizer): 增强优化器测试覆盖矩阵参数场景
- 添加矩阵参数的Adam优化器测试用例
- 验证内部状态矩阵形状与参数保持一致
- 确保参数沿梯度反方向正确更新
```
|
2026-01-01 15:44:04 +08:00 |
kingecg
|
16c2277474
|
```
feat(examples): 更新simple_model_example.go以使用gomatrix包
- 导入gomatrix包替代部分gotensor功能
- 修改权重张量梯度初始化使用gomatrix.NewZeros
- 更新must函数为泛型实现
- 重构损失函数实现使用gomatrix操作
- 优化输出格式化避免重复数据访问
refactor(model_test): 更新测试用例使用gomatrix构造函数
- 修改TestSequential测试使用gomatrix.NewMatrix和gomatrix.NewVector
- 更新TestSaveLoadModel测试使用gomatrix构造函数
- 修改TestLinearLayer测试使用NewTensor构造权重矩阵
refactor(trainer_test): 将Must函数改为泛型实现
- 更新Must函数为泛型版本支持任意类型
```
|
2026-01-01 15:14:10 +08:00 |
程广
|
9aa53cbd5c
|
```
feat: 添加高级优化器示例和简单模型示例
添加了 advanced_optimizer_example.go 和 simple_model_example.go
两个示例文件,演示了不同优化器的使用方法和简单模型的训练过程。
同时添加了模型、优化器和训练器的单元测试文件,包括:
- model_test.go: 测试Sequential模型、模型保存加载功能和线性层
- optimizer_test.go: 测试SGD和Adam优化器功能
- trainer_test.go: 测试训练器的基本功能和完整训练过程
更新了go.mod和go.sum中的gomatrix依赖版本。
```
|
2025-12-31 17:52:34 +08:00 |
程广
|
6afb8362ac
|
```
refactor(examples): 重命名CNN示例文件为目录结构
将 cnn_example.go 文件移动到 cnn_example 目录中,以更好地组织示例代码结构。
```
|
2025-12-31 14:46:16 +08:00 |
程广
|
fcc2e54144
|
```
feat: 添加模型定义、优化器和训练器功能
- 实现Model接口和Sequential序列模型,支持模型定义和前向传播
- 添加SGD和Adam优化器,支持参数更新和梯度清零
- 创建Trainer训练器,提供完整的训练和评估流程
- 实现模型保存和加载功能,支持参数序列化
- 更新README文档,添加模型训练示例和API文档
- 重构README中的功能特性和示例代码
```
|
2025-12-31 14:45:29 +08:00 |
kingecg
|
3e9e913dd4
|
```
feat(tensor): 添加激活函数、卷积池化和神经网络层功能
- 新增Sigmoid、ReLU、Softmax等激活函数
- 实现Conv2D、MaxPool2D、AvgPool2D等卷积和池化操作
- 添加Flatten层和CrossEntropy、MeanSquaredError等损失函数
- 更新README文档,添加CNN示例说明
- 扩展API文档,详细说明新增功能的使用方法
```
|
2025-12-30 23:29:24 +08:00 |
kingecg
|
fd232d65fa
|
```
feat(examples): 更新CNN示例中的全连接层实现
- 修复权重矩阵大小计算,根据展平后的实际大小动态创建权重
- 添加张量重塑逻辑,将展平后的张量转换为正确的2D格式进行矩阵乘法
- 使用动态生成的权重值替代固定的权重数组
- 确保矩阵乘法维度匹配:(1, N) * (N, 2) = (1, 2)
```
|
2025-12-30 23:23:51 +08:00 |
kingecg
|
3536fdf8cf
|
```
feat(tensor): 添加卷积和池化操作支持
新增Conv2D、MaxPool2D和AvgPool2D方法,支持二维卷积神经网络操作。
实现了前向传播和反向传播功能,包括梯度计算。
feat(layers): 添加激活函数和损失函数
新增Softmax、Sigmoid、ReLU激活函数和CrossEntropy、MSE损失函数。
实现了展平层Flatten操作,支持多维张量展平为一维。
test(tensor): 添加扩展张量操作的单元测试
新增Sigmoid、ReLU、Softmax、Flatten和MeanSquaredError的测试用例。
验证激活函数和损失函数的正确性及数值稳定性。
example(cnn): 添加卷积神经网络示例
创建CNN示例程序,演示卷积、池化、激活函数等操作的使用。
包含完整的前向传播流程和损失计算示例。
```
|
2025-12-30 23:18:07 +08:00 |
kingecg
|
9d6d4bdf56
|
```
docs: 添加项目文档和示例代码
添加了完整的项目文档,包括README.md文件,详细介绍gotensor库的功能特性、
安装方法和使用示例。同时添加了多个示例程序展示基本运算、自动微分和线性
回归功能,并完善了测试用例。
- 添加LICENSE文件(MIT许可证)
- 添加README.md项目文档
- 添加基本运算示例
- 添加自动微分示例
- 添加线性回归示例
- 添加单元测试文件
```
|
2025-12-30 23:03:54 +08:00 |
kingecg
|
2da5bc6ece
|
```
feat: 初始化Go张量库基础实现
- 添加Tensor数据结构定义,包含数据、梯度和反向传播相关字段
- 实现基本张量操作:加法、减法、乘法、矩阵乘法和数乘
- 实现张量创建函数:全零、全一、单位矩阵
- 实现反向传播机制和梯度计算
- 添加.go文件到gitignore以忽略vendor目录
- 配置go模块依赖和版本信息
```
|
2025-12-30 22:49:34 +08:00 |