You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter notebook运行神经网络Python代码报语法错误求助

代码错误排查结果

所有问题点:

  • 别名缺失:导入numpy时未设置np别名,后续代码大量使用np调用numpy方法会报错,需改为import numpy as np
  • 方法未调用:nnfs.init是可执行方法,缺少调用括号,需改为nnfs.init()
  • 构造方法语法错误:Python类的构造函数是双下划线包裹的__init__,你写的单下划线init_不会被自动执行,参数传递会直接报错
  • 大小写不匹配:类定义名为layer_Dense,实例化时写的layer_dense大小写不一致,Python对标识符大小写敏感
  • np.zeros参数错误:np.zeros第一个参数需传入表示shape的元组,你写的np.zeros(1, n_neurons)需改为np.zeros((1, n_neurons))
  • 括号缺失:Activation_Softmax类的forward方法中,np.exp行缺少右闭合括号,属于明确语法错误
  • 参数传反:spiral_data的入参顺序是samples在前、classes在后,你写的spiral_data(classes=100, samples=3)数据维度完全不符合预期
  • 变量赋值错误:Activation2 = ()为空元组,未实例化Activation_Softmax类,且后续调用时变量名写为小写的activation2,大小写不匹配
  • 逻辑缺失:dense2执行forward后,未调用activation2的forward方法传入计算结果,直接访问output属性会报错
  • 权重初始化逻辑错误:原代码0.01 + np.random.randn()应为0.01 * np.random.randn(),避免初始权重过大导致激活值饱和

修正后可运行完整代码:

import numpy as np
import nnfs
from nnfs.datasets import spiral_data

nnfs.init()

class Layer_Dense:
    def __init__(self, n_inputs, n_neurons):
        self.weights = 0.01 * np.random.randn(n_inputs, n_neurons)
        self.biases = np.zeros((1, n_neurons))
    def forward(self, inputs):
        self.output = np.dot(inputs, self.weights) + self.biases

class Activation_ReLU:
    def forward(self, inputs):
        self.output = np.maximum(0, inputs)
    
class Activation_Softmax:
    def forward(self, inputs):
        exp_values = np.exp(inputs - np.max(inputs, axis=1, keepdims=True))
        probabilities = exp_values / np.sum(exp_values, axis=1, keepdims=True)
        self.output = probabilities
  
# 修正参数顺序
X, y = spiral_data(samples=100, classes=3)
# 修正类名大小写
dense1 = Layer_Dense(2, 3)
activation1 = Activation_ReLU()
dense2 = Layer_Dense(3, 3)
activation2 = Activation_Softmax()

dense1.forward(X)
activation1.forward(dense1.output)
dense2.forward(activation1.output)
# 补充softmax层的forward调用
activation2.forward(dense2.output)
print(activation2.output[:5])

内容的提问来源于stack exchange,提问作者Zek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:12:01