Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions wandb_data/performance.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def compute_miner_performance(
download_fake_images=False,
validator_run_name=None):

miner_perf = defaultdict(lambda: {'predictions': [], 'labels': []})
miner_preds_labels = defaultdict(lambda: {'predictions': [], 'labels': []})
fake_image_preds = defaultdict(dict)
for run in wandb_validator_runs:

Expand All @@ -21,7 +21,7 @@ def compute_miner_performance(

history_df = run.history()
image_files = [f for f in run.files() if f.name.endswith(".png")]
for i, challenge_row in history_df.iterrows():
for _, challenge_row in history_df.iterrows():
if start_ts is not None and challenge_row['_timestamp'] < start_ts:
continue
if end_ts is not None and challenge_row['_timestamp'] > end_ts:
Expand Down Expand Up @@ -60,16 +60,20 @@ def compute_miner_performance(

if pred == -1:
continue
miner_perf[uid]['predictions'].append(pred)
miner_perf[uid]['labels'].append(label)

miner_preds_labels[uid]['predictions'].append(pred)
miner_preds_labels[uid]['labels'].append(label)

metrics = {uid: compute_metrics(data['predictions'], data['labels']) for uid, data in miner_perf.items()}
metrics = {
uid: compute_metrics(data['predictions'], data['labels'])
for uid, data in miner_preds_labels.items()
}
flattened_metrics = []
for uid, metric_dict in metrics.items():
flattened_metrics.append({'uid': uid, **metric_dict})
metrics_df = pd.DataFrame(flattened_metrics)

return metrics_df, fake_image_preds
return metrics_df, fake_image_preds, miner_preds_labels


def compute_metrics(predictions, labels):
Expand Down
142 changes: 86 additions & 56 deletions wandb_data/wandb_miner_performance.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 1,
"id": "14848402081f829b",
"metadata": {
"ExecuteTime": {
Expand Down Expand Up @@ -33,7 +33,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 2,
"id": "cf87818a8afd8bb8",
"metadata": {
"ExecuteTime": {
Expand All @@ -47,15 +47,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Querying data for uid 0 starting at 2024-10-18T16:09:49\n"
"Querying data for uid 0 starting at 2024-10-22T13:09:49\n"
]
}
],
"source": [
"project = \"bitmind-subnet\" # mainnet wandb project name\n",
"entity = \"bitmindai\"\n",
"validator_run_name = 'validator-122-1.2.1'\n",
"start_dt = '2024-10-18T16:09:49'\n",
"validator_run_name = None #'validator-122-1.2.2'\n",
"start_dt = '2024-10-22T13:09:49'\n",
"# start_dt = formatted_ts_from_epoch(1729494162)\n",
"end_dt = None\n",
"\n",
Expand All @@ -65,15 +65,15 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 3,
"id": "37dd8282",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Querying w&b with filters: {'display_name': 'validator-122-1.2.1', 'created_at': {'$gte': '2024-10-18T16:09:49'}}\n"
"Querying w&b with filters: {'created_at': {'$gte': '2024-10-22T13:09:49'}}\n"
]
}
],
Expand All @@ -83,7 +83,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 4,
"id": "ae1fec8d",
"metadata": {},
"outputs": [
Expand Down Expand Up @@ -121,28 +121,28 @@
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>0.952703</td>\n",
" <td>0.986014</td>\n",
" <td>0.921569</td>\n",
" <td>0.952703</td>\n",
" <td>0.99223</td>\n",
" <td>592</td>\n",
" <td>0.852941</td>\n",
" <td>1.0</td>\n",
" <td>0.782609</td>\n",
" <td>0.878049</td>\n",
" <td>0.960474</td>\n",
" <td>34</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" uid accuracy precision recall f1 auc sample_size\n",
"0 0 0.952703 0.986014 0.921569 0.952703 0.99223 592"
" uid accuracy precision recall f1 auc sample_size\n",
"0 0 0.852941 1.0 0.782609 0.878049 0.960474 34"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"metrics_df, fake_image_preds = compute_miner_performance(\n",
"metrics_df, fake_image_preds, miner_preds = compute_miner_performance(\n",
" runs,\n",
" miner_uid=miner_uid, # example uid\n",
" start_ts=epoch_from_formatted_ts(start_dt),\n",
Expand Down Expand Up @@ -285,7 +285,7 @@
},
{
"cell_type": "code",
"execution_count": 44,
"execution_count": 15,
"id": "beff084a4853e438",
"metadata": {
"ExecuteTime": {
Expand All @@ -299,15 +299,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Querying data for uid None starting at 2024-10-19T16:09:49\n"
"Querying data for uid None starting at 2024-10-22T16:09:49\n"
]
}
],
"source": [
"project = \"bitmind\" # mainnet wandb project name\n",
"entity = \"bitmindai\"\n",
"validator_run_name = 'validator-39-1.2.0'\n",
"start_dt = '2024-10-19T16:09:49'\n",
"validator_run_name = 'validator-39-1.2.2'\n",
"start_dt = '2024-10-22T16:09:49'\n",
"# start_dt = formatted_ts_from_epoch(1729494162)\n",
"end_dt = None\n",
"\n",
Expand All @@ -317,7 +317,7 @@
},
{
"cell_type": "code",
"execution_count": 45,
"execution_count": 16,
"id": "d844f9310e28daa9",
"metadata": {
"ExecuteTime": {
Expand All @@ -331,7 +331,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Querying w&b with filters: {'display_name': 'validator-39-1.2.0', 'created_at': {'$gte': '2024-10-19T16:09:49'}}\n"
"Querying w&b with filters: {'display_name': 'validator-39-1.2.2', 'created_at': {'$gte': '2024-10-22T16:09:49'}}\n"
]
}
],
Expand All @@ -341,7 +341,7 @@
},
{
"cell_type": "code",
"execution_count": 46,
"execution_count": 17,
"id": "21ed23cf8d100746",
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -381,61 +381,83 @@
" <tr>\n",
" <th>0</th>\n",
" <td>198</td>\n",
" <td>0.525326</td>\n",
" <td>0.505376</td>\n",
" <td>0.982090</td>\n",
" <td>0.667343</td>\n",
" <td>0.605484</td>\n",
" <td>691</td>\n",
" <td>0.75</td>\n",
" <td>0.75</td>\n",
" <td>1.000000</td>\n",
" <td>0.857143</td>\n",
" <td>0.666667</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>196</td>\n",
" <td>0.553687</td>\n",
" <td>0.530410</td>\n",
" <td>0.966495</td>\n",
" <td>0.684932</td>\n",
" <td>0.572205</td>\n",
" <td>773</td>\n",
" <td>218</td>\n",
" <td>0.50</td>\n",
" <td>1.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.500000</td>\n",
" <td>1.000000</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>130</td>\n",
" <td>0.667162</td>\n",
" <td>0.605568</td>\n",
" <td>0.828571</td>\n",
" <td>0.699732</td>\n",
" <td>0.685439</td>\n",
" <td>673</td>\n",
" <td>225</td>\n",
" <td>0.75</td>\n",
" <td>0.75</td>\n",
" <td>1.000000</td>\n",
" <td>0.857143</td>\n",
" <td>0.666667</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>125</td>\n",
" <td>0.800718</td>\n",
" <td>0.977273</td>\n",
" <td>0.616487</td>\n",
" <td>0.756044</td>\n",
" <td>0.790426</td>\n",
" <td>557</td>\n",
" <td>217</td>\n",
" <td>0.50</td>\n",
" <td>1.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.500000</td>\n",
" <td>1.000000</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>216</td>\n",
" <td>0.75</td>\n",
" <td>0.75</td>\n",
" <td>1.000000</td>\n",
" <td>0.857143</td>\n",
" <td>0.666667</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>196</td>\n",
" <td>0.75</td>\n",
" <td>0.75</td>\n",
" <td>1.000000</td>\n",
" <td>0.857143</td>\n",
" <td>0.666667</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" uid accuracy precision recall f1 auc sample_size\n",
"0 198 0.525326 0.505376 0.982090 0.667343 0.605484 691\n",
"1 196 0.553687 0.530410 0.966495 0.684932 0.572205 773\n",
"2 130 0.667162 0.605568 0.828571 0.699732 0.685439 673\n",
"3 125 0.800718 0.977273 0.616487 0.756044 0.790426 557"
"0 198 0.75 0.75 1.000000 0.857143 0.666667 4\n",
"1 218 0.50 1.00 0.333333 0.500000 1.000000 4\n",
"2 225 0.75 0.75 1.000000 0.857143 0.666667 4\n",
"3 217 0.50 1.00 0.333333 0.500000 1.000000 4\n",
"4 216 0.75 0.75 1.000000 0.857143 0.666667 4\n",
"5 196 0.75 0.75 1.000000 0.857143 0.666667 4"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"metrics_df, fake_image_preds = compute_miner_performance(\n",
"metrics_df, fake_image_preds, miner_preds = compute_miner_performance(\n",
" runs,\n",
" miner_uid=miner_uid, # example uid\n",
" start_ts=epoch_from_formatted_ts(start_dt),\n",
Expand All @@ -445,6 +467,14 @@
"\n",
"display(metrics_df)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a6e60aee",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down