多くの観測値/データ行へのネットワークの適用
ここでは predict_with_network() という関数を定義し、複数のデータ観測値に対して予測を生成します。観測値は input_data としてあらかじめ読み込まれています。これまでと同様に、weights も読み込まれています。加えて、前の演習で定義した relu() 関数も読み込まれています。
この演習はコースの一部です
Pythonで学ぶDeep Learning入門
演習の手順
input_data_rowとweightsの2つの引数を受け取り、ネットワークの予測を返すpredict_with_network()関数を定義します。- 各ノードの入力値と出力値を計算し、
node_0_input、node_0_output、node_1_input、node_1_outputとして保存します。- ノードの入力値は、対応する配列同士を掛け合わせて合計して計算します。
- ノードの出力値は、そのノードの入力値に
relu()関数を適用して計算します。
- ノードと同様の手順で
input_to_final_layerとmodel_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)