Skip to content

Commit

Permalink
fix-embedding-notebook (#307)
Browse files Browse the repository at this point in the history
Co-authored-by: Egor Baturin <egoriyaa@github.com>
  • Loading branch information
egoriyaa and Egor Baturin committed May 7, 2024
1 parent d604429 commit 97515b9
Showing 1 changed file with 88 additions and 111 deletions.
199 changes: 88 additions & 111 deletions examples/210-embedding_models.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[34m\u001b[1mwandb\u001b[0m: \u001b[33mWARNING\u001b[0m Disabling SSL verification. Connections to this server are not verified and may be insecure!\n",
"Global seed set to 42\n"
]
},
Expand Down Expand Up @@ -655,18 +654,21 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 6.0s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 12.3s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 18.8s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 18.8s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.7s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 1.3s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 2.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 2.2s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n"
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.3s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.0s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.6s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.6s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s finished\n"
]
}
],
Expand Down Expand Up @@ -762,48 +764,7 @@
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"\u001b[0;31mSignature:\u001b[0m\n",
"\u001b[0mTSTCCEmbeddingModel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mn_epochs\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m40\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mlr\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfloat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.001\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mtemperature\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfloat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mlambda1\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfloat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mlambda2\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mfloat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.7\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mbool\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
"\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;34m'TSTCCEmbeddingModel'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mDocstring:\u001b[0m\n",
"Fit TSTCC embedding model.\n",
"\n",
"Parameters\n",
"----------\n",
"x:\n",
" data with shapes (n_segments, n_timestamps, input_dims).\n",
"n_epochs:\n",
" The number of epochs. When this reaches, the training stops.\n",
"lr:\n",
" The learning rate.\n",
"temperature:\n",
" Temperature in NTXentLoss.\n",
"lambda1:\n",
" The relative weight of the first item in the loss (temporal contrasting loss).\n",
"lambda2:\n",
" The relative weight of the second item in the loss (contextual contrasting loss).\n",
"verbose:\n",
" Whether to print the training loss after each epoch.\n",
"\u001b[0;31mFile:\u001b[0m /workdir/src/etna/etna/transforms/embeddings/models/tstcc.py\n",
"\u001b[0;31mType:\u001b[0m function\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"outputs": [],
"source": [
"?TSTCCEmbeddingModel.fit"
]
Expand All @@ -820,23 +781,30 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 33.3s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 1.1min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.7min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.7min\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 1.2s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 2.4s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 3.9s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 3.9s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n"
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 35.0s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.2min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8min finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 2.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 3.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 3.2s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s finished\n"
]
}
],
"source": [
"emb_model = TSTCCEmbeddingModel(input_dims=1, tc_hidden_dim=16, depth=3, output_dims=6, device=\"cuda\")\n",
"import torch\n",
"\n",
"device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n",
"\n",
"emb_model = TSTCCEmbeddingModel(input_dims=1, tc_hidden_dim=16, depth=3, output_dims=6, device=device)\n",
"training_params = {\"n_epochs\": 10}\n",
"smape_score = forecast_with_segment_embeddings(emb_model, training_params)"
]
Expand All @@ -853,7 +821,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"SMAPE: 14.18648029957201\n"
"SMAPE: 14.214904390075835\n"
]
}
],
Expand Down Expand Up @@ -881,23 +849,26 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 25.7s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 52.0s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.3min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.3min\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 1.5s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 2.8s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 4.0s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 4.0s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n"
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 26.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 55.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.4min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.4min finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.9s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s finished\n"
]
}
],
"source": [
"emb_model = TS2VecEmbeddingModel(input_dims=1, hidden_dims=16, depth=3, output_dims=6, device=\"cuda\")\n",
"emb_model = TS2VecEmbeddingModel(input_dims=1, hidden_dims=16, depth=3, output_dims=6, device=device)\n",
"training_params = {\"n_epochs\": 10}\n",
"smape_score = forecast_with_segment_embeddings(emb_model, training_params)"
]
Expand All @@ -914,7 +885,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"SMAPE: 13.620591044127748\n"
"SMAPE: 13.549340740762041\n"
]
}
],
Expand Down Expand Up @@ -995,23 +966,26 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 46.8s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 1.6min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 2.4min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 2.4min\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 14.5s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 29.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 43.3s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 43.3s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n"
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 43.7s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.5min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.3min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.3min finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.9s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 17.8s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.5s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.5s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s finished\n"
]
}
],
"source": [
"emb_model = TSTCCEmbeddingModel(input_dims=1, tc_hidden_dim=16, depth=3, output_dims=6, device=\"cuda\")\n",
"emb_model = TSTCCEmbeddingModel(input_dims=1, tc_hidden_dim=16, depth=3, output_dims=6, device=device)\n",
"training_params = {\"n_epochs\": 10}\n",
"smape_score = forecast_with_window_embeddings(emb_model, training_params)"
]
Expand All @@ -1028,7 +1002,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"SMAPE: 123.02843183461513\n"
"SMAPE: 104.68988621650867\n"
]
}
],
Expand Down Expand Up @@ -1056,23 +1030,26 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 38.5s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 1.3min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.9min\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 1.9min\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 14.3s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 28.5s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 42.5s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 42.5s\n",
"[Parallel(n_jobs=1)]: Done 1 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 2 tasks | elapsed: 0.1s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n",
"[Parallel(n_jobs=1)]: Done 3 tasks | elapsed: 0.2s\n"
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 34.5s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.2min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8min remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8min finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.7s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 17.4s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.4s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.4s finished\n",
"[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
"[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n",
"[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s finished\n"
]
}
],
"source": [
"emb_model = TS2VecEmbeddingModel(input_dims=1, hidden_dims=16, depth=3, output_dims=6, device=\"cuda\")\n",
"emb_model = TS2VecEmbeddingModel(input_dims=1, hidden_dims=16, depth=3, output_dims=6, device=device)\n",
"training_params = {\"n_epochs\": 10}\n",
"smape_score = forecast_with_window_embeddings(emb_model, training_params)"
]
Expand All @@ -1089,7 +1066,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"SMAPE: 27.93511865651414\n"
"SMAPE: 29.776520212845234\n"
]
}
],
Expand Down

0 comments on commit 97515b9

Please sign in to comment.