```
feat(tensor): 添加激活函数、卷积池化和神经网络层功能 - 新增Sigmoid、ReLU、Softmax等激活函数 - 实现Conv2D、MaxPool2D、AvgPool2D等卷积和池化操作 - 添加Flatten层和CrossEntropy、MeanSquaredError等损失函数 - 更新README文档,添加CNN示例说明 - 扩展API文档,详细说明新增功能的使用方法 ```
This commit is contained in:
parent
fd232d65fa
commit
3e9e913dd4
25
README.md
25
README.md
|
|
@ -7,6 +7,9 @@ gotensor 是一个用 Go 语言编写的张量计算库,提供了基本的张
|
||||||
- 基本张量运算:加法、减法、乘法、矩阵乘法等
|
- 基本张量运算:加法、减法、乘法、矩阵乘法等
|
||||||
- 张量操作:数乘、转置等
|
- 张量操作:数乘、转置等
|
||||||
- 自动微分和反向传播
|
- 自动微分和反向传播
|
||||||
|
- 激活函数:Sigmoid、ReLU、Softmax等
|
||||||
|
- 卷积和池化操作:Conv2D、MaxPool2D、AvgPool2D等
|
||||||
|
- 神经网络层:Flatten、损失函数等
|
||||||
- 支持多种初始化方式:零张量、单位矩阵、随机张量等
|
- 支持多种初始化方式:零张量、单位矩阵、随机张量等
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
@ -57,6 +60,7 @@ func main() {
|
||||||
- [基本运算示例](examples/basic_operations.go):展示基本的张量运算
|
- [基本运算示例](examples/basic_operations.go):展示基本的张量运算
|
||||||
- [自动微分示例](examples/autograd_example.go):演示自动微分和反向传播
|
- [自动微分示例](examples/autograd_example.go):演示自动微分和反向传播
|
||||||
- [线性回归示例](examples/linear_regression.go):使用 gotensor 实现简单的线性回归
|
- [线性回归示例](examples/linear_regression.go):使用 gotensor 实现简单的线性回归
|
||||||
|
- [CNN示例](examples/cnn_example.go):使用卷积、池化等操作构建简单的卷积神经网络
|
||||||
|
|
||||||
运行示例:
|
运行示例:
|
||||||
|
|
||||||
|
|
@ -69,6 +73,9 @@ go run examples/autograd_example.go
|
||||||
|
|
||||||
# 线性回归示例
|
# 线性回归示例
|
||||||
go run examples/linear_regression.go
|
go run examples/linear_regression.go
|
||||||
|
|
||||||
|
# CNN示例
|
||||||
|
go run examples/cnn_example.go
|
||||||
```
|
```
|
||||||
|
|
||||||
## API 文档
|
## API 文档
|
||||||
|
|
@ -88,6 +95,24 @@ go run examples/linear_regression.go
|
||||||
- `MatMul(other *Tensor)` - 矩阵乘法
|
- `MatMul(other *Tensor)` - 矩阵乘法
|
||||||
- `Scale(factor float64)` - 数乘
|
- `Scale(factor float64)` - 数乘
|
||||||
|
|
||||||
|
### 激活函数
|
||||||
|
|
||||||
|
- `Sigmoid()` - Sigmoid激活函数
|
||||||
|
- `ReLU()` - ReLU激活函数
|
||||||
|
- `Softmax()` - Softmax激活函数
|
||||||
|
|
||||||
|
### 卷积和池化
|
||||||
|
|
||||||
|
- `Conv2D(kernel *Tensor, stride, padding int)` - 二维卷积操作
|
||||||
|
- `MaxPool2D(kernelSize, stride int)` - 二维最大池化
|
||||||
|
- `AvgPool2D(kernelSize, stride int)` - 二维平均池化
|
||||||
|
|
||||||
|
### 神经网络层
|
||||||
|
|
||||||
|
- `Flatten()` - 将多维张量展平为一维
|
||||||
|
- `CrossEntropy(target *Tensor)` - 交叉熵损失函数
|
||||||
|
- `MeanSquaredError(target *Tensor)` - 均方误差损失函数
|
||||||
|
|
||||||
### 其他方法
|
### 其他方法
|
||||||
|
|
||||||
- `ZeroGrad()` - 将梯度置零
|
- `ZeroGrad()` - 将梯度置零
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue