
# 自定义函数:可以复用的代码,表达算法def f(a,b): #参数return a*b #返回for i in range(10):print(f(i,10-i)) # 多次调用函数
# 类:封闭的对象,属性(数据)、方法(算法)class Person:def __init__(self,name): #参数self.name = name # 属性:类内数据def say(self): # 方法:类内自定义函数s=self.name+"您好!"return sPerson1=Person('李宁')#定义类的实例print(Person1.say() ) # 调用类的方法Person2=Person('张宁')print(Person2.say() )

已关注
关注
重播 分享 赞
import numpy as npclass SimpleNeuralNet:def __init__(self, input_size, hidden_size, output_size):#输入层-隐藏层的权重self.W1 = np.random.randn(input_size, hidden_size) * 0.1print("W1:", self.W1)#隐藏层偏置self.b1 = np.zeros(hidden_size)print("b1:", self.b1)#隐藏层-输出层权重self.W2 = np.random.randn(hidden_size, output_size) * 0.1print("W2:", self.W2)#输出层的偏置self.b2 = np.zeros(output_size)print("b2:", self.b2)print(f"模型初始化各层的神经元数量: {input_size}→{hidden_size}→{output_size}")def sigmoid(self, x):#自定义函数,激活函数return 1 / (1 + np.exp(-x))def forward(self, x):#自定义函数,前向传播算法print("输入层输入:", x)hidden_z = np.dot(x, self.W1) + self.b1 # 加权求和+偏置print("隐藏层输入:", hidden_z)hidden = self.sigmoid(hidden_z) # 激活函数print("隐藏层输出:", hidden)output_z = np.dot(hidden, self.W2) + self.b2print("输出层输入:", output_z)output = self.sigmoid(output_z)print("输出层输出:", output)return outputmodel = SimpleNeuralNet(3, 2, 1)# 初始化模型sample_input = np.array([[0.5, 0.2, 0.9]])# 输入样本,更换输入值实验output = model.forward(sample_input)# 前向传播print("前向传播输出:", output)

夜雨聆风