始める無料で始める

多くの観測値/データ行へのネットワークの適用

ここでは predict_with_network() という関数を定義し、複数のデータ観測値に対して予測を生成します。観測値は input_data としてあらかじめ読み込まれています。これまでと同様に、weights も読み込まれています。加えて、前の演習で定義した relu() 関数も読み込まれています。

この演習はコースの一部です

Pythonで学ぶDeep Learning入門

コースを見る

演習の手順

  • input_data_rowweights の2つの引数を受け取り、ネットワークの予測を返す predict_with_network() 関数を定義します。
  • 各ノードの入力値と出力値を計算し、node_0_inputnode_0_outputnode_1_inputnode_1_output として保存します。
    • ノードの入力値は、対応する配列同士を掛け合わせて合計して計算します。
    • ノードの出力値は、そのノードの入力値に relu() 関数を適用して計算します。
  • ノードと同様の手順で input_to_final_layermodel_output を計算し、モデルの出力を求めます。
  • for ループを使って input_data を反復処理します。
    • predict_with_network() を使って、input_data の各行(input_data_row)の予測を生成し、各予測を results に追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Define predict_with_network()
def predict_with_network(input_data_row, weights):

    # Calculate node 0 value
    node_0_input = ____
    node_0_output = ____

    # Calculate node 1 value
    node_1_input = ____
    node_1_output = ____

    # Put node values into array: hidden_layer_outputs
    hidden_layer_outputs = np.array([node_0_output, node_1_output])
    
    # Calculate model output
    input_to_final_layer = ____
    model_output = ____
    
    # Return model output
    return(model_output)

# Create empty list to store prediction results
results = []
for input_data_row in input_data:
    # Append prediction to results
    results.append(____)

# Print results
print(results)     
コードを編集して実行