# numpy_neural_network **Repository Path**: wangwanli666/numpy_neural_network ## Basic Information - **Project Name**: numpy_neural_network - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-20 - **Last Updated**: 2023-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # numpy_neural_network #### 介绍 该项目为使用numpy实现CNN的前向和反向传播 仓库地址:https://gitee.com/wangwanli666/numpy_neural_network #### 项目结构 activation: - relu.py - softmax.py data: - mnist layers: - convolutional.py - dense.py - dropout.py - flatten.py - pooling.py model: - sequential.py optimizers: - gradient_descent.py utils: - error.py - metrics.py - util.py base.py: 定义了layers和optimizer的基类 ### 模型生成 在model/sequential.py中,使用SequentialModel来生成模型,需要传入定义的网络结构和优化器,如下代码所示 layers = [ ConvLayer2D.initialize(filters=16, kernel_shape=(3, 3, 1), stride=1), ReluLayer(), MaxPoolLayer(pool_size=(2, 2), stride=2) FlattenLayer(), DenseLayer.initialize(units_prev=288, units_curr=64), ReluLayer(), DenseLayer.initialize(units_prev=64, units_curr=N_CLASSES), SoftmaxLayer() ] optimizer = GradientDescent(lr=LR) model = SequentialModel( layers=layers, optimizer=optimizer ) #### 实例 demo.py: 使用mnist数据集,训练手写数字识别的CNN模型