# 保存损失函数的值
train_loss_list = []
# 迭代items_num 10000次
for i in range(items_num):
# 从数据中抽取出100个数据
batch_mask = np.random.choice(train_size, batch_size)
x_batch = x_train[batch_mask]
# 对应的把这100个样本的监督标签页提取出来
y_batch = y_train[batch_mask]
# 利用模型计算梯度
# 梯度计算方法速度非常非常的慢
# grad = neural_networks.numerical_gradient(x_batch , y_batch)
# 反向传播: 相当于一个快速梯度计算方法
grad = neural_networks.gradient(x_batch,y_batch)
# 有了梯度矩阵, 根据梯度对所有的参数进行更新
for key in [\'W1\',\'W2\',\'b1\',\'b2\']:
neural_networks.params[key] -= learning_rate * grad[key]
# 记录当前损失函数的值
loss = neural_networks.loss(x_batch ,y_batch)
# 在迭代的过程中,观察损失函数的变化
train_loss_list.append(loss)
# 每迭代100次,我们打印一次损失函数
if i % 100 == 0 :
print(\"当前损失函数的值为:\",loss)