开始使用免费开始使用

多层神经网络

在本练习中,您将编写代码,为一个包含 2 个隐藏层的神经网络执行前向传播。每个隐藏层都有 2 个节点。输入数据已预加载为 input_data。第一隐藏层中的节点名为 node_0_0node_0_1。它们的权重已分别预加载为 weights['node_0_0']weights['node_0_1']

第二隐藏层中的节点名为 node_1_0node_1_1。它们的权重已分别预加载为 weights['node_1_0']weights['node_1_1']

随后,我们使用已预加载为 weights['output'] 的权重,将隐藏层的节点组合得到模型输出。

Ch1Ex10

本练习是课程的一部分

Python 深度学习入门

查看课程

练习说明

  • 使用权重 weights['node_0_0'] 和给定的 input_data 计算 node_0_0_input。然后应用 relu() 函数得到 node_0_0_output
  • 按照上一步的方法计算 node_0_1_input,并得到 node_0_1_output
  • 使用权重 weights['node_1_0'] 和第一隐藏层的输出 hidden_0_outputs 计算 node_1_0_input。然后应用 relu() 函数得到 node_1_0_output
  • 按照上一步的方法计算 node_1_1_input,并得到 node_1_1_output
  • 使用权重 weights['output'] 和第二隐藏层的输出数组 hidden_1_outputs 计算 model_output。对此输出不要应用 relu() 函数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

def predict_with_network(input_data):
    # Calculate node 0 in the first hidden layer
    node_0_0_input = (____ * ____).sum()
    node_0_0_output = relu(____)

    # Calculate node 1 in the first hidden layer
    node_0_1_input = ____
    node_0_1_output = ____

    # Put node values into array: hidden_0_outputs
    hidden_0_outputs = np.array([node_0_0_output, node_0_1_output])
    
    # Calculate node 0 in the second hidden layer
    node_1_0_input = ____
    node_1_0_output = ____

    # Calculate node 1 in the second hidden layer
    node_1_1_input = ____
    node_1_1_output = ____

    # Put node values into array: hidden_1_outputs
    hidden_1_outputs = np.array([node_1_0_output, node_1_1_output])

    # Calculate model output: model_output
    model_output = ____
    
    # Return model_output
    return(model_output)

output = predict_with_network(input_data)
print(output)
编辑并运行代码