diff --git a/README.md b/README.md index ab7fb08..7d6b63e 100644 --- a/README.md +++ b/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/autograd_example.go):演示自动微分和反向传播 - [线性回归示例](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 + +# CNN示例 +go run examples/cnn_example.go ``` ## API 文档 @@ -88,6 +95,24 @@ go run examples/linear_regression.go - `MatMul(other *Tensor)` - 矩阵乘法 - `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()` - 将梯度置零