diff --git a/examples/210-embedding_models.ipynb b/examples/210-embedding_models.ipynb index cd732b270..24a5950da 100644 --- a/examples/210-embedding_models.ipynb +++ b/examples/210-embedding_models.ipynb @@ -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" ] }, @@ -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" ] } ], @@ -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" ] @@ -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)" ] @@ -853,7 +821,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SMAPE: 14.18648029957201\n" + "SMAPE: 14.214904390075835\n" ] } ], @@ -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)" ] @@ -914,7 +885,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SMAPE: 13.620591044127748\n" + "SMAPE: 13.549340740762041\n" ] } ], @@ -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)" ] @@ -1028,7 +1002,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SMAPE: 123.02843183461513\n" + "SMAPE: 104.68988621650867\n" ] } ], @@ -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)" ] @@ -1089,7 +1066,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SMAPE: 27.93511865651414\n" + "SMAPE: 29.776520212845234\n" ] } ],