Add debugging print statements
This commit is contained in:
parent
708a8e7222
commit
0fb1f69b1f
1 changed files with 56 additions and 13 deletions
|
|
@ -2,7 +2,7 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -61,6 +61,25 @@
|
|||
"X_train, X_val = X_train.T, X_val.T"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(\"Data shapes:\")\n",
|
||||
"print(f\"X_train shape: {X_train.shape}\")\n",
|
||||
"print(f\"Y_train shape: {Y_train.shape}\")\n",
|
||||
"print(f\"X_test shape: {X_test.shape}\")\n",
|
||||
"print(f\"Y_test shape: {Y_test.shape}\")\n",
|
||||
"\n",
|
||||
"print(\"\\nData statistics:\")\n",
|
||||
"print(f\"X_train mean: {xp.mean(X_train)}, std: {xp.std(X_train)}\")\n",
|
||||
"print(f\"X_test mean: {xp.mean(X_test)}, std: {xp.std(X_test)}\")\n",
|
||||
"print(f\"Unique Y_train values: {xp.unique(Y_train)}\")\n",
|
||||
"print(f\"Unique Y_test values: {xp.unique(Y_test)}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
|
|
@ -77,7 +96,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -88,7 +107,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -105,7 +124,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -113,8 +132,8 @@
|
|||
" return xp.maximum(Z, 0)\n",
|
||||
"\n",
|
||||
"def softmax(Z):\n",
|
||||
" A = xp.exp(Z) / sum(xp.exp(Z))\n",
|
||||
" return A\n",
|
||||
" exp_Z = xp.exp(Z - xp.max(Z, axis=0, keepdims=True))\n",
|
||||
" return exp_Z / xp.sum(exp_Z, axis=0, keepdims=True)\n",
|
||||
"\n",
|
||||
"def forward_prop(X, params):\n",
|
||||
" caches = []\n",
|
||||
|
|
@ -190,7 +209,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -213,6 +232,10 @@
|
|||
" val_accuracy = get_accuracy(val_predictions, Y_val)\n",
|
||||
" \n",
|
||||
" print(f\"Iteration {i}: Train Accuracy: {train_accuracy:.4f}, Validation Accuracy: {val_accuracy:.4f}\")\n",
|
||||
" print(f\"Sample predictions: {train_predictions[:10]}\")\n",
|
||||
" print(f\"Sample true labels: {Y_train[:10]}\")\n",
|
||||
" \n",
|
||||
" print(f\"Iteration {i}: Train Accuracy: {train_accuracy:.4f}, Validation Accuracy: {val_accuracy:.4f}\")\n",
|
||||
" acc_store.append((train_accuracy, val_accuracy))\n",
|
||||
" \n",
|
||||
" if val_accuracy > best_val_accuracy:\n",
|
||||
|
|
@ -229,7 +252,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 30,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -248,7 +271,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"execution_count": 31,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -284,15 +307,24 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"execution_count": 32,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"hidden_layers = [1, 2, 3, 4]\n",
|
||||
"neurons_per_layer = [64, 128, 256]\n",
|
||||
"hidden_layers = [1, 2]\n",
|
||||
"neurons_per_layer = [64, 128, 256, 512]\n",
|
||||
"layer_configs = list(product(*[neurons_per_layer] * max(hidden_layers)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(layer_configs)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
|
|
@ -315,6 +347,17 @@
|
|||
"print(f\"Best validation accuracy: {best_accuracy:.4f}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(\"\\nModel Architecture:\")\n",
|
||||
"for i in range(1, len(best_params)//2 + 1):\n",
|
||||
" print(f\"Layer {i}: {best_params[f'W{i}'].shape}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue