├── code_snippets
├── torch_sle_loss.py
├── torch_autodiff_grad_hess.py
├── torch_autodiff_output.ipynb
├── torch_autodiff_housing_output.ipynb
└── jax_autodiff_housing_output.ipynb
├── README.md
├── LICENSE
└── benchmark.ipynb
/code_snippets/torch_sle_loss.py:
--------------------------------------------------------------------------------
1 | def torch_sle_loss(y_true: torch.Tensor, y_pred: torch.Tensor):
2 | """Calculate the Squared Log Error loss."""
3 | return 1/2 * (torch.log1p(y_pred) - torch.log1p(y_true))**2
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JAX vs PyTorch: Automatic Differentiation for XGBoost
2 | Code for the [corresponding Medium article](https://medium.com/@1danielr/jax-vs-pytorch-automatic-differentiation-for-xgboost-10222e1404ec).
3 |
4 | ## Benchmark
5 | Please see `benchmark.ipynb` for a working copy of the entire codebase
6 | together with the code used to generate the benchmark.
7 |
--------------------------------------------------------------------------------
/code_snippets/torch_autodiff_grad_hess.py:
--------------------------------------------------------------------------------
1 | def torch_autodiff_grad_hess(
2 | loss_function: Callable[[torch.Tensor, torch.Tensor], torch.Tensor],
3 | y_true: np.ndarray, y_pred: np.ndarray
4 | ):
5 | """Perform automatic differentiation to get the
6 | Gradient and the Hessian of `loss_function`."""
7 | y_true = torch.tensor(y_true, dtype=torch.float, requires_grad=False)
8 | y_pred = torch.tensor(y_pred, dtype=torch.float, requires_grad=True)
9 | loss_function_sum = lambda y_pred: loss_function(y_true, y_pred).sum()
10 |
11 | loss_function_sum(y_pred).backward()
12 | grad = y_pred.grad
13 |
14 | hess_matrix = torch.autograd.functional.hessian(loss_function_sum, y_pred, vectorize=True)
15 | hess = torch.diagonal(hess_matrix)
16 |
17 | return grad, hess
18 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Daniel Reedstone
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/code_snippets/torch_autodiff_output.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "id": "b698ec43-1036-487e-9f34-6b7ba11a4682",
7 | "metadata": {},
8 | "outputs": [
9 | {
10 | "data": {
11 | "text/plain": [
12 | "(tensor([ 0.3466, 0.0000, -0.1014]), tensor([0.0767, 0.1111, 0.0878]))"
13 | ]
14 | },
15 | "execution_count": 1,
16 | "metadata": {},
17 | "output_type": "execute_result"
18 | }
19 | ],
20 | "source": [
21 | "y_true = np.array([0, 2, 5])\n",
22 | "y_pred = np.array([1, 2, 3])\n",
23 | "torch_autodiff_grad_hess(torch_sle_loss, y_true, y_pred)"
24 | ]
25 | }
26 | ],
27 | "metadata": {
28 | "kernelspec": {
29 | "display_name": "Python 3 (ipykernel)",
30 | "language": "python",
31 | "name": "python3"
32 | },
33 | "language_info": {
34 | "codemirror_mode": {
35 | "name": "ipython",
36 | "version": 3
37 | },
38 | "file_extension": ".py",
39 | "mimetype": "text/x-python",
40 | "name": "python",
41 | "nbconvert_exporter": "python",
42 | "pygments_lexer": "ipython3",
43 | "version": "3.9.12"
44 | }
45 | },
46 | "nbformat": 4,
47 | "nbformat_minor": 5
48 | }
49 |
--------------------------------------------------------------------------------
/code_snippets/torch_autodiff_housing_output.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 24,
6 | "id": "87710599-4884-481b-b687-e90fab4156dc",
7 | "metadata": {
8 | "colab": {
9 | "base_uri": "https://localhost:8080/"
10 | },
11 | "id": "IztnR9BhvGLQ",
12 | "outputId": "0d75c392-c958-4494-e3f9-461c57c610f3"
13 | },
14 | "outputs": [
15 | {
16 | "name": "stdout",
17 | "output_type": "stream",
18 | "text": [
19 | "Train Data: 4128 examples, 8 features\n"
20 | ]
21 | }
22 | ],
23 | "source": [
24 | "X, y = sklearn.datasets.fetch_california_housing(return_X_y=True)\n",
25 | "X_train, X_test, y_train, y_test = train_test_split(\n",
26 | " X, y, train_size=0.2, random_state=0)\n",
27 | "print(f\"Train Data: {X_train.shape[0]} examples, {X_train.shape[1]} features\")"
28 | ]
29 | },
30 | {
31 | "cell_type": "code",
32 | "execution_count": 26,
33 | "id": "7nrq9G_tA7D6",
34 | "metadata": {
35 | "id": "7nrq9G_tA7D6"
36 | },
37 | "outputs": [
38 | {
39 | "name": "stdout",
40 | "output_type": "stream",
41 | "text": [
42 | "14.6 s ± 286 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
43 | ]
44 | }
45 | ],
46 | "source": [
47 | "%%timeit\n",
48 | "torch_objective = partial(torch_autodiff_grad_hess, torch_sle_loss)\n",
49 | "reg = XGBRegressor(objective=torch_objective, n_estimators=100)\n",
50 | "reg.fit(X_train, y_train)"
51 | ]
52 | }
53 | ],
54 | "metadata": {
55 | "kernelspec": {
56 | "display_name": "Python 3 (ipykernel)",
57 | "language": "python",
58 | "name": "python3"
59 | },
60 | "language_info": {
61 | "codemirror_mode": {
62 | "name": "ipython",
63 | "version": 3
64 | },
65 | "file_extension": ".py",
66 | "mimetype": "text/x-python",
67 | "name": "python",
68 | "nbconvert_exporter": "python",
69 | "pygments_lexer": "ipython3",
70 | "version": "3.9.12"
71 | }
72 | },
73 | "nbformat": 4,
74 | "nbformat_minor": 5
75 | }
--------------------------------------------------------------------------------
/code_snippets/jax_autodiff_housing_output.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 24,
6 | "id": "IztnR9BhvGLQ",
7 | "metadata": {
8 | "colab": {
9 | "base_uri": "https://localhost:8080/"
10 | },
11 | "id": "IztnR9BhvGLQ",
12 | "outputId": "0d75c392-c958-4494-e3f9-461c57c610f3"
13 | },
14 | "outputs": [
15 | {
16 | "name": "stdout",
17 | "output_type": "stream",
18 | "text": [
19 | "Train Data: 4128 examples, 8 features\n"
20 | ]
21 | }
22 | ],
23 | "source": [
24 | "X, y = sklearn.datasets.fetch_california_housing(return_X_y=True)\n",
25 | "X_train, X_test, y_train, y_test = train_test_split(\n",
26 | " X, y, train_size=0.2, random_state=0)\n",
27 | "print(f\"Train Data: {X_train.shape[0]} examples, {X_train.shape[1]} features\")"
28 | ]
29 | },
30 | {
31 | "cell_type": "code",
32 | "execution_count": 25,
33 | "id": "5LzZ3S0ZA2YX",
34 | "metadata": {
35 | "colab": {
36 | "base_uri": "https://localhost:8080/"
37 | },
38 | "id": "5LzZ3S0ZA2YX",
39 | "outputId": "d4b04c11-e9e4-431b-917c-467807471453"
40 | },
41 | "outputs": [
42 | {
43 | "name": "stdout",
44 | "output_type": "stream",
45 | "text": [
46 | "6.89 s ± 119 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
47 | ]
48 | }
49 | ],
50 | "source": [
51 | "%%timeit\n",
52 | "jax_objective = jax.jit(partial(jax_autodiff_grad_hess, jax_sle_loss))\n",
53 | "reg = XGBRegressor(objective=jax_objective, n_estimators=100)\n",
54 | "reg.fit(X_train, y_train)"
55 | ]
56 | }
57 | ],
58 | "metadata": {
59 | "kernelspec": {
60 | "display_name": "Python 3 (ipykernel)",
61 | "language": "python",
62 | "name": "python3"
63 | },
64 | "language_info": {
65 | "codemirror_mode": {
66 | "name": "ipython",
67 | "version": 3
68 | },
69 | "file_extension": ".py",
70 | "mimetype": "text/x-python",
71 | "name": "python",
72 | "nbconvert_exporter": "python",
73 | "pygments_lexer": "ipython3",
74 | "version": "3.9.12"
75 | }
76 | },
77 | "nbformat": 4,
78 | "nbformat_minor": 5
79 | }
80 |
--------------------------------------------------------------------------------
/benchmark.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "57e52aee-3006-4140-8f6e-668dde48e5b5",
6 | "metadata": {
7 | "id": "0e09e47d-4b93-489d-89af-807d56d55519"
8 | },
9 | "source": [
10 | "### Imports"
11 | ]
12 | },
13 | {
14 | "cell_type": "code",
15 | "execution_count": 1,
16 | "id": "04ffda5f-69b6-4f46-83c7-a06fd02e7dca",
17 | "metadata": {
18 | "id": "5ec61494-67ed-4bec-a39a-d1991d6650c3"
19 | },
20 | "outputs": [],
21 | "source": [
22 | "import numpy as np\n",
23 | "import pandas as pd\n",
24 | "\n",
25 | "import sklearn.datasets\n",
26 | "from sklearn.model_selection import train_test_split\n",
27 | "from sklearn.utils import resample\n",
28 | "\n",
29 | "from xgboost.sklearn import XGBRegressor\n",
30 | "\n",
31 | "import torch\n",
32 | "\n",
33 | "import jax\n",
34 | "import jax.numpy as jnp\n",
35 | "\n",
36 | "from tqdm.notebook import tqdm\n",
37 | "\n",
38 | "import plotly.express as px\n",
39 | "\n",
40 | "import timeit\n",
41 | "from functools import partial\n",
42 | "from typing import Callable"
43 | ]
44 | },
45 | {
46 | "cell_type": "markdown",
47 | "id": "60b50c07-69e9-4e10-9aff-b85932a18480",
48 | "metadata": {},
49 | "source": [
50 | "## Automatic Differentiation"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "id": "f9c1bc1e-239a-46dd-9b84-2d47852772e9",
56 | "metadata": {},
57 | "source": [
58 | "### PyTorch"
59 | ]
60 | },
61 | {
62 | "cell_type": "code",
63 | "execution_count": 2,
64 | "id": "78f7dddc-899c-439b-bae0-4c294c933222",
65 | "metadata": {},
66 | "outputs": [],
67 | "source": [
68 | "def torch_sle_loss(y_true: torch.Tensor, y_pred: torch.Tensor):\n",
69 | " \"\"\"Calculate the Squared Log Error loss.\"\"\"\n",
70 | " return 1/2 * (torch.log1p(y_pred) - torch.log1p(y_true))**2\n",
71 | "\n",
72 | "def torch_autodiff_grad_hess(\n",
73 | " loss_function: Callable[[torch.Tensor, torch.Tensor], torch.Tensor],\n",
74 | " y_true: np.ndarray, y_pred: np.ndarray\n",
75 | "):\n",
76 | " \"\"\"Perform automatic differentiation to get the\n",
77 | " Gradient and the Hessian of `loss_function`.\"\"\"\n",
78 | " y_true = torch.tensor(y_true, dtype=torch.float, requires_grad=False)\n",
79 | " y_pred = torch.tensor(y_pred, dtype=torch.float, requires_grad=True)\n",
80 | " loss_function_sum = lambda y_pred: loss_function(y_true, y_pred).sum()\n",
81 | "\n",
82 | " loss_function_sum(y_pred).backward()\n",
83 | " grad = y_pred.grad\n",
84 | "\n",
85 | " hess_matrix = torch.autograd.functional.hessian(loss_function_sum, y_pred, vectorize=True)\n",
86 | " hess = torch.diagonal(hess_matrix)\n",
87 | "\n",
88 | " return grad, hess"
89 | ]
90 | },
91 | {
92 | "cell_type": "markdown",
93 | "id": "112b872a-37bd-4fdc-a384-fdfceb969eea",
94 | "metadata": {},
95 | "source": [
96 | "### JAX"
97 | ]
98 | },
99 | {
100 | "cell_type": "code",
101 | "execution_count": 3,
102 | "id": "781a05ba-0bac-44f6-a0eb-39d530952737",
103 | "metadata": {},
104 | "outputs": [],
105 | "source": [
106 | "def jax_sle_loss(y_true: np.ndarray, y_pred: np.ndarray):\n",
107 | " \"\"\"Calculate the Squared Log Error loss.\"\"\"\n",
108 | " return (1/2 * (jnp.log1p(y_pred) - jnp.log1p(y_true))**2)\n",
109 | "\n",
110 | "def hvp(f, inputs, vectors):\n",
111 | " \"\"\"Hessian-vector product.\"\"\"\n",
112 | " return jax.jvp(jax.grad(f), inputs, vectors)[1]\n",
113 | "\n",
114 | "def jax_autodiff_grad_hess(\n",
115 | " loss_function: Callable[[np.ndarray, np.ndarray], np.ndarray],\n",
116 | " y_true: np.ndarray, y_pred: np.ndarray\n",
117 | "):\n",
118 | " \"\"\"Perform automatic differentiation to get the\n",
119 | " Gradient and the Hessian of `loss_function`.\"\"\"\n",
120 | " loss_function_sum = lambda y_pred: loss_function(y_true, y_pred).sum()\n",
121 | "\n",
122 | " grad_fn = jax.grad(loss_function_sum)\n",
123 | " grad = grad_fn(y_pred)\n",
124 | "\n",
125 | " hess = hvp(loss_function_sum, (y_pred,), (jnp.ones_like(y_pred), ))\n",
126 | "\n",
127 | " return grad, hess"
128 | ]
129 | },
130 | {
131 | "cell_type": "markdown",
132 | "id": "955fbb3f-4f52-40ab-9abf-9a68f05529ac",
133 | "metadata": {},
134 | "source": [
135 | "# Benchmark"
136 | ]
137 | },
138 | {
139 | "cell_type": "markdown",
140 | "id": "cb12f0e5-07bd-40ff-bb57-3902aea0b258",
141 | "metadata": {},
142 | "source": [
143 | "### Basic Benchmark"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": 4,
149 | "id": "38a094ab-aa20-4745-8d24-b57b03ab4282",
150 | "metadata": {},
151 | "outputs": [
152 | {
153 | "name": "stdout",
154 | "output_type": "stream",
155 | "text": [
156 | "Train Data: 1032 examples, 8 features\n"
157 | ]
158 | }
159 | ],
160 | "source": [
161 | "X, y = sklearn.datasets.fetch_california_housing(return_X_y=True)\n",
162 | "X_train, X_test, y_train, y_test = train_test_split(\n",
163 | " X, y, train_size=0.05, random_state=0)\n",
164 | "print(f\"Train Data: {X_train.shape[0]} examples, {X_train.shape[1]} features\")"
165 | ]
166 | },
167 | {
168 | "cell_type": "code",
169 | "execution_count": 5,
170 | "id": "631498c2-b23f-475c-af37-921103e10e29",
171 | "metadata": {},
172 | "outputs": [
173 | {
174 | "name": "stderr",
175 | "output_type": "stream",
176 | "text": [
177 | "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n"
178 | ]
179 | },
180 | {
181 | "name": "stdout",
182 | "output_type": "stream",
183 | "text": [
184 | "1.79 s ± 26.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
185 | ]
186 | }
187 | ],
188 | "source": [
189 | "%%timeit\n",
190 | "jax_objective = jax.jit(partial(jax_autodiff_grad_hess, jax_sle_loss))\n",
191 | "reg = XGBRegressor(objective=jax_objective, n_estimators=100)\n",
192 | "reg.fit(X_train, y_train)"
193 | ]
194 | },
195 | {
196 | "cell_type": "code",
197 | "execution_count": 6,
198 | "id": "55eccdf6-4b75-4f1d-b45c-9e2b8a33394b",
199 | "metadata": {},
200 | "outputs": [
201 | {
202 | "name": "stdout",
203 | "output_type": "stream",
204 | "text": [
205 | "1.33 s ± 23.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
206 | ]
207 | }
208 | ],
209 | "source": [
210 | "%%timeit\n",
211 | "torch_objective = partial(torch_autodiff_grad_hess, torch_sle_loss)\n",
212 | "reg = XGBRegressor(objective=torch_objective, n_estimators=100)\n",
213 | "reg.fit(X_train, y_train)"
214 | ]
215 | },
216 | {
217 | "cell_type": "markdown",
218 | "id": "5cf179d8-af2a-414f-9bcc-56bfb926d9e8",
219 | "metadata": {},
220 | "source": [
221 | "## Full Benchmark"
222 | ]
223 | },
224 | {
225 | "cell_type": "code",
226 | "execution_count": 7,
227 | "id": "8dfa24b4-11ca-4fce-977e-bad2efc02c15",
228 | "metadata": {},
229 | "outputs": [],
230 | "source": [
231 | "torch_objective = partial(torch_autodiff_grad_hess, torch_sle_loss)\n",
232 | "jax_objective = jax.jit(partial(jax_autodiff_grad_hess, jax_sle_loss))"
233 | ]
234 | },
235 | {
236 | "cell_type": "code",
237 | "execution_count": 8,
238 | "id": "f58f411f-1316-4663-ab6d-02d641f519c0",
239 | "metadata": {},
240 | "outputs": [],
241 | "source": [
242 | "def run_benchmark():\n",
243 | " VERBOSE = 0\n",
244 | " TIMEIT_NUMBER = 5\n",
245 | " N_ESTIMATORS = 10\n",
246 | " N_SAMPLES_OPTIONS = [100, 1000, 2000, 5000, 10000, 20000]\n",
247 | "\n",
248 | " def run_torch():\n",
249 | " print(f\"Running torch with {len(X_train)} training examples.\") if VERBOSE else None\n",
250 | " reg = XGBRegressor(objective=torch_objective, n_estimators=N_ESTIMATORS)\n",
251 | " reg.fit(X_train, y_train)\n",
252 | " \n",
253 | " def run_jax():\n",
254 | " print(f\"Running jax with {len(X_train)} training examples.\") if VERBOSE else None\n",
255 | " reg = XGBRegressor(objective=jax_objective, n_estimators=N_ESTIMATORS)\n",
256 | " reg.fit(X_train, y_train)\n",
257 | "\n",
258 | " def run_manual():\n",
259 | " reg = XGBRegressor(objective='reg:squaredlogerror', n_estimators=N_ESTIMATORS)\n",
260 | " reg.fit(X_train, y_train)\n",
261 | "\n",
262 | " entries = []\n",
263 | " for n_samples in tqdm(N_SAMPLES_OPTIONS):\n",
264 | " entry = {'n_samples': n_samples}\n",
265 | " X_train, y_train = resample(X, y, n_samples=n_samples)\n",
266 | " \n",
267 | " entry['torch'] = timeit.timeit(run_torch, number=TIMEIT_NUMBER) / TIMEIT_NUMBER\n",
268 | " entry['jax'] = timeit.timeit(run_jax, number=TIMEIT_NUMBER) / TIMEIT_NUMBER\n",
269 | " entry['manual'] = timeit.timeit(run_manual, number=TIMEIT_NUMBER) / TIMEIT_NUMBER\n",
270 | "\n",
271 | " entries.append(entry)\n",
272 | " entries = pd.DataFrame(entries)\n",
273 | " return entries"
274 | ]
275 | },
276 | {
277 | "cell_type": "code",
278 | "execution_count": 9,
279 | "id": "ec9b7475-c2fc-46ed-b30e-d7fe1f6f468a",
280 | "metadata": {},
281 | "outputs": [
282 | {
283 | "data": {
284 | "application/vnd.jupyter.widget-view+json": {
285 | "model_id": "98b8541d9d0143529dc155ae5007a82c",
286 | "version_major": 2,
287 | "version_minor": 0
288 | },
289 | "text/plain": [
290 | " 0%| | 0/6 [00:00, ?it/s]"
291 | ]
292 | },
293 | "metadata": {},
294 | "output_type": "display_data"
295 | }
296 | ],
297 | "source": [
298 | "benchmark_results_df = run_benchmark()"
299 | ]
300 | },
301 | {
302 | "cell_type": "markdown",
303 | "id": "fd7a9d34-d2b1-4193-a3a6-b0902605a089",
304 | "metadata": {
305 | "tags": []
306 | },
307 | "source": [
308 | "### Plotting"
309 | ]
310 | },
311 | {
312 | "cell_type": "code",
313 | "execution_count": 16,
314 | "id": "2dc3c0fc-5e08-416e-ad73-2b5563b87b59",
315 | "metadata": {},
316 | "outputs": [],
317 | "source": [
318 | "plot_df = benchmark_results_df.melt(id_vars=['n_samples'], value_vars=['torch', 'jax', 'manual'],\n",
319 | " value_name='time', var_name='implementation')\n",
320 | "plot_df = plot_df[(plot_df['implementation'] != 'manual') & (plot_df['n_samples'] >= 2000)]\n",
321 | "plot_df = plot_df.replace({'implementation': {'torch': 'PyTorch', 'jax': 'JAX', 'manual': 'Manual'}})"
322 | ]
323 | },
324 | {
325 | "cell_type": "code",
326 | "execution_count": 17,
327 | "id": "uriY3ZKooldE",
328 | "metadata": {
329 | "colab": {
330 | "base_uri": "https://localhost:8080/",
331 | "height": 542
332 | },
333 | "id": "uriY3ZKooldE",
334 | "outputId": "946d2878-ae00-4dc2-b843-731d74bfa586"
335 | },
336 | "outputs": [
337 | {
338 | "data": {
339 | "application/vnd.plotly.v1+json": {
340 | "config": {
341 | "plotlyServerURL": "https://plot.ly"
342 | },
343 | "data": [
344 | {
345 | "alignmentgroup": "True",
346 | "hovertemplate": "Implementation=PyTorch
Number of Data Points=%{x}
Time (s)=%{text}",
347 | "legendgroup": "PyTorch",
348 | "marker": {
349 | "color": "#636efa",
350 | "pattern": {
351 | "shape": ""
352 | }
353 | },
354 | "name": "PyTorch",
355 | "offsetgroup": "PyTorch",
356 | "orientation": "v",
357 | "showlegend": true,
358 | "text": [
359 | 0.35879376000000035,
360 | 1.9320429399999994,
361 | 7.311690239999999,
362 | 28.3964026
363 | ],
364 | "textposition": "outside",
365 | "texttemplate": "%{y:.2}",
366 | "type": "bar",
367 | "x": [
368 | 2000,
369 | 5000,
370 | 10000,
371 | 20000
372 | ],
373 | "xaxis": "x",
374 | "y": [
375 | 0.35879376000000035,
376 | 1.9320429399999994,
377 | 7.311690239999999,
378 | 28.3964026
379 | ],
380 | "yaxis": "y"
381 | },
382 | {
383 | "alignmentgroup": "True",
384 | "hovertemplate": "Implementation=JAX
Number of Data Points=%{x}
Time (s)=%{text}",
385 | "legendgroup": "JAX",
386 | "marker": {
387 | "color": "#EF553B",
388 | "pattern": {
389 | "shape": ""
390 | }
391 | },
392 | "name": "JAX",
393 | "offsetgroup": "JAX",
394 | "orientation": "v",
395 | "showlegend": true,
396 | "text": [
397 | 0.3323473000000007,
398 | 0.8418071999999995,
399 | 1.4339120000000007,
400 | 2.587041499999998
401 | ],
402 | "textposition": "outside",
403 | "texttemplate": "%{y:.2}",
404 | "type": "bar",
405 | "x": [
406 | 2000,
407 | 5000,
408 | 10000,
409 | 20000
410 | ],
411 | "xaxis": "x",
412 | "y": [
413 | 0.3323473000000007,
414 | 0.8418071999999995,
415 | 1.4339120000000007,
416 | 2.587041499999998
417 | ],
418 | "yaxis": "y"
419 | }
420 | ],
421 | "layout": {
422 | "autosize": true,
423 | "barmode": "group",
424 | "font": {
425 | "size": 24
426 | },
427 | "legend": {
428 | "title": {
429 | "text": "Implementation"
430 | },
431 | "tracegroupgap": 0
432 | },
433 | "margin": {
434 | "t": 70
435 | },
436 | "template": {
437 | "data": {
438 | "bar": [
439 | {
440 | "error_x": {
441 | "color": "#2a3f5f"
442 | },
443 | "error_y": {
444 | "color": "#2a3f5f"
445 | },
446 | "marker": {
447 | "line": {
448 | "color": "#E5ECF6",
449 | "width": 0.5
450 | },
451 | "pattern": {
452 | "fillmode": "overlay",
453 | "size": 10,
454 | "solidity": 0.2
455 | }
456 | },
457 | "type": "bar"
458 | }
459 | ],
460 | "barpolar": [
461 | {
462 | "marker": {
463 | "line": {
464 | "color": "#E5ECF6",
465 | "width": 0.5
466 | },
467 | "pattern": {
468 | "fillmode": "overlay",
469 | "size": 10,
470 | "solidity": 0.2
471 | }
472 | },
473 | "type": "barpolar"
474 | }
475 | ],
476 | "carpet": [
477 | {
478 | "aaxis": {
479 | "endlinecolor": "#2a3f5f",
480 | "gridcolor": "white",
481 | "linecolor": "white",
482 | "minorgridcolor": "white",
483 | "startlinecolor": "#2a3f5f"
484 | },
485 | "baxis": {
486 | "endlinecolor": "#2a3f5f",
487 | "gridcolor": "white",
488 | "linecolor": "white",
489 | "minorgridcolor": "white",
490 | "startlinecolor": "#2a3f5f"
491 | },
492 | "type": "carpet"
493 | }
494 | ],
495 | "choropleth": [
496 | {
497 | "colorbar": {
498 | "outlinewidth": 0,
499 | "ticks": ""
500 | },
501 | "type": "choropleth"
502 | }
503 | ],
504 | "contour": [
505 | {
506 | "colorbar": {
507 | "outlinewidth": 0,
508 | "ticks": ""
509 | },
510 | "colorscale": [
511 | [
512 | 0,
513 | "#0d0887"
514 | ],
515 | [
516 | 0.1111111111111111,
517 | "#46039f"
518 | ],
519 | [
520 | 0.2222222222222222,
521 | "#7201a8"
522 | ],
523 | [
524 | 0.3333333333333333,
525 | "#9c179e"
526 | ],
527 | [
528 | 0.4444444444444444,
529 | "#bd3786"
530 | ],
531 | [
532 | 0.5555555555555556,
533 | "#d8576b"
534 | ],
535 | [
536 | 0.6666666666666666,
537 | "#ed7953"
538 | ],
539 | [
540 | 0.7777777777777778,
541 | "#fb9f3a"
542 | ],
543 | [
544 | 0.8888888888888888,
545 | "#fdca26"
546 | ],
547 | [
548 | 1,
549 | "#f0f921"
550 | ]
551 | ],
552 | "type": "contour"
553 | }
554 | ],
555 | "contourcarpet": [
556 | {
557 | "colorbar": {
558 | "outlinewidth": 0,
559 | "ticks": ""
560 | },
561 | "type": "contourcarpet"
562 | }
563 | ],
564 | "heatmap": [
565 | {
566 | "colorbar": {
567 | "outlinewidth": 0,
568 | "ticks": ""
569 | },
570 | "colorscale": [
571 | [
572 | 0,
573 | "#0d0887"
574 | ],
575 | [
576 | 0.1111111111111111,
577 | "#46039f"
578 | ],
579 | [
580 | 0.2222222222222222,
581 | "#7201a8"
582 | ],
583 | [
584 | 0.3333333333333333,
585 | "#9c179e"
586 | ],
587 | [
588 | 0.4444444444444444,
589 | "#bd3786"
590 | ],
591 | [
592 | 0.5555555555555556,
593 | "#d8576b"
594 | ],
595 | [
596 | 0.6666666666666666,
597 | "#ed7953"
598 | ],
599 | [
600 | 0.7777777777777778,
601 | "#fb9f3a"
602 | ],
603 | [
604 | 0.8888888888888888,
605 | "#fdca26"
606 | ],
607 | [
608 | 1,
609 | "#f0f921"
610 | ]
611 | ],
612 | "type": "heatmap"
613 | }
614 | ],
615 | "heatmapgl": [
616 | {
617 | "colorbar": {
618 | "outlinewidth": 0,
619 | "ticks": ""
620 | },
621 | "colorscale": [
622 | [
623 | 0,
624 | "#0d0887"
625 | ],
626 | [
627 | 0.1111111111111111,
628 | "#46039f"
629 | ],
630 | [
631 | 0.2222222222222222,
632 | "#7201a8"
633 | ],
634 | [
635 | 0.3333333333333333,
636 | "#9c179e"
637 | ],
638 | [
639 | 0.4444444444444444,
640 | "#bd3786"
641 | ],
642 | [
643 | 0.5555555555555556,
644 | "#d8576b"
645 | ],
646 | [
647 | 0.6666666666666666,
648 | "#ed7953"
649 | ],
650 | [
651 | 0.7777777777777778,
652 | "#fb9f3a"
653 | ],
654 | [
655 | 0.8888888888888888,
656 | "#fdca26"
657 | ],
658 | [
659 | 1,
660 | "#f0f921"
661 | ]
662 | ],
663 | "type": "heatmapgl"
664 | }
665 | ],
666 | "histogram": [
667 | {
668 | "marker": {
669 | "pattern": {
670 | "fillmode": "overlay",
671 | "size": 10,
672 | "solidity": 0.2
673 | }
674 | },
675 | "type": "histogram"
676 | }
677 | ],
678 | "histogram2d": [
679 | {
680 | "colorbar": {
681 | "outlinewidth": 0,
682 | "ticks": ""
683 | },
684 | "colorscale": [
685 | [
686 | 0,
687 | "#0d0887"
688 | ],
689 | [
690 | 0.1111111111111111,
691 | "#46039f"
692 | ],
693 | [
694 | 0.2222222222222222,
695 | "#7201a8"
696 | ],
697 | [
698 | 0.3333333333333333,
699 | "#9c179e"
700 | ],
701 | [
702 | 0.4444444444444444,
703 | "#bd3786"
704 | ],
705 | [
706 | 0.5555555555555556,
707 | "#d8576b"
708 | ],
709 | [
710 | 0.6666666666666666,
711 | "#ed7953"
712 | ],
713 | [
714 | 0.7777777777777778,
715 | "#fb9f3a"
716 | ],
717 | [
718 | 0.8888888888888888,
719 | "#fdca26"
720 | ],
721 | [
722 | 1,
723 | "#f0f921"
724 | ]
725 | ],
726 | "type": "histogram2d"
727 | }
728 | ],
729 | "histogram2dcontour": [
730 | {
731 | "colorbar": {
732 | "outlinewidth": 0,
733 | "ticks": ""
734 | },
735 | "colorscale": [
736 | [
737 | 0,
738 | "#0d0887"
739 | ],
740 | [
741 | 0.1111111111111111,
742 | "#46039f"
743 | ],
744 | [
745 | 0.2222222222222222,
746 | "#7201a8"
747 | ],
748 | [
749 | 0.3333333333333333,
750 | "#9c179e"
751 | ],
752 | [
753 | 0.4444444444444444,
754 | "#bd3786"
755 | ],
756 | [
757 | 0.5555555555555556,
758 | "#d8576b"
759 | ],
760 | [
761 | 0.6666666666666666,
762 | "#ed7953"
763 | ],
764 | [
765 | 0.7777777777777778,
766 | "#fb9f3a"
767 | ],
768 | [
769 | 0.8888888888888888,
770 | "#fdca26"
771 | ],
772 | [
773 | 1,
774 | "#f0f921"
775 | ]
776 | ],
777 | "type": "histogram2dcontour"
778 | }
779 | ],
780 | "mesh3d": [
781 | {
782 | "colorbar": {
783 | "outlinewidth": 0,
784 | "ticks": ""
785 | },
786 | "type": "mesh3d"
787 | }
788 | ],
789 | "parcoords": [
790 | {
791 | "line": {
792 | "colorbar": {
793 | "outlinewidth": 0,
794 | "ticks": ""
795 | }
796 | },
797 | "type": "parcoords"
798 | }
799 | ],
800 | "pie": [
801 | {
802 | "automargin": true,
803 | "type": "pie"
804 | }
805 | ],
806 | "scatter": [
807 | {
808 | "fillpattern": {
809 | "fillmode": "overlay",
810 | "size": 10,
811 | "solidity": 0.2
812 | },
813 | "type": "scatter"
814 | }
815 | ],
816 | "scatter3d": [
817 | {
818 | "line": {
819 | "colorbar": {
820 | "outlinewidth": 0,
821 | "ticks": ""
822 | }
823 | },
824 | "marker": {
825 | "colorbar": {
826 | "outlinewidth": 0,
827 | "ticks": ""
828 | }
829 | },
830 | "type": "scatter3d"
831 | }
832 | ],
833 | "scattercarpet": [
834 | {
835 | "marker": {
836 | "colorbar": {
837 | "outlinewidth": 0,
838 | "ticks": ""
839 | }
840 | },
841 | "type": "scattercarpet"
842 | }
843 | ],
844 | "scattergeo": [
845 | {
846 | "marker": {
847 | "colorbar": {
848 | "outlinewidth": 0,
849 | "ticks": ""
850 | }
851 | },
852 | "type": "scattergeo"
853 | }
854 | ],
855 | "scattergl": [
856 | {
857 | "marker": {
858 | "colorbar": {
859 | "outlinewidth": 0,
860 | "ticks": ""
861 | }
862 | },
863 | "type": "scattergl"
864 | }
865 | ],
866 | "scattermapbox": [
867 | {
868 | "marker": {
869 | "colorbar": {
870 | "outlinewidth": 0,
871 | "ticks": ""
872 | }
873 | },
874 | "type": "scattermapbox"
875 | }
876 | ],
877 | "scatterpolar": [
878 | {
879 | "marker": {
880 | "colorbar": {
881 | "outlinewidth": 0,
882 | "ticks": ""
883 | }
884 | },
885 | "type": "scatterpolar"
886 | }
887 | ],
888 | "scatterpolargl": [
889 | {
890 | "marker": {
891 | "colorbar": {
892 | "outlinewidth": 0,
893 | "ticks": ""
894 | }
895 | },
896 | "type": "scatterpolargl"
897 | }
898 | ],
899 | "scatterternary": [
900 | {
901 | "marker": {
902 | "colorbar": {
903 | "outlinewidth": 0,
904 | "ticks": ""
905 | }
906 | },
907 | "type": "scatterternary"
908 | }
909 | ],
910 | "surface": [
911 | {
912 | "colorbar": {
913 | "outlinewidth": 0,
914 | "ticks": ""
915 | },
916 | "colorscale": [
917 | [
918 | 0,
919 | "#0d0887"
920 | ],
921 | [
922 | 0.1111111111111111,
923 | "#46039f"
924 | ],
925 | [
926 | 0.2222222222222222,
927 | "#7201a8"
928 | ],
929 | [
930 | 0.3333333333333333,
931 | "#9c179e"
932 | ],
933 | [
934 | 0.4444444444444444,
935 | "#bd3786"
936 | ],
937 | [
938 | 0.5555555555555556,
939 | "#d8576b"
940 | ],
941 | [
942 | 0.6666666666666666,
943 | "#ed7953"
944 | ],
945 | [
946 | 0.7777777777777778,
947 | "#fb9f3a"
948 | ],
949 | [
950 | 0.8888888888888888,
951 | "#fdca26"
952 | ],
953 | [
954 | 1,
955 | "#f0f921"
956 | ]
957 | ],
958 | "type": "surface"
959 | }
960 | ],
961 | "table": [
962 | {
963 | "cells": {
964 | "fill": {
965 | "color": "#EBF0F8"
966 | },
967 | "line": {
968 | "color": "white"
969 | }
970 | },
971 | "header": {
972 | "fill": {
973 | "color": "#C8D4E3"
974 | },
975 | "line": {
976 | "color": "white"
977 | }
978 | },
979 | "type": "table"
980 | }
981 | ]
982 | },
983 | "layout": {
984 | "annotationdefaults": {
985 | "arrowcolor": "#2a3f5f",
986 | "arrowhead": 0,
987 | "arrowwidth": 1
988 | },
989 | "autotypenumbers": "strict",
990 | "coloraxis": {
991 | "colorbar": {
992 | "outlinewidth": 0,
993 | "ticks": ""
994 | }
995 | },
996 | "colorscale": {
997 | "diverging": [
998 | [
999 | 0,
1000 | "#8e0152"
1001 | ],
1002 | [
1003 | 0.1,
1004 | "#c51b7d"
1005 | ],
1006 | [
1007 | 0.2,
1008 | "#de77ae"
1009 | ],
1010 | [
1011 | 0.3,
1012 | "#f1b6da"
1013 | ],
1014 | [
1015 | 0.4,
1016 | "#fde0ef"
1017 | ],
1018 | [
1019 | 0.5,
1020 | "#f7f7f7"
1021 | ],
1022 | [
1023 | 0.6,
1024 | "#e6f5d0"
1025 | ],
1026 | [
1027 | 0.7,
1028 | "#b8e186"
1029 | ],
1030 | [
1031 | 0.8,
1032 | "#7fbc41"
1033 | ],
1034 | [
1035 | 0.9,
1036 | "#4d9221"
1037 | ],
1038 | [
1039 | 1,
1040 | "#276419"
1041 | ]
1042 | ],
1043 | "sequential": [
1044 | [
1045 | 0,
1046 | "#0d0887"
1047 | ],
1048 | [
1049 | 0.1111111111111111,
1050 | "#46039f"
1051 | ],
1052 | [
1053 | 0.2222222222222222,
1054 | "#7201a8"
1055 | ],
1056 | [
1057 | 0.3333333333333333,
1058 | "#9c179e"
1059 | ],
1060 | [
1061 | 0.4444444444444444,
1062 | "#bd3786"
1063 | ],
1064 | [
1065 | 0.5555555555555556,
1066 | "#d8576b"
1067 | ],
1068 | [
1069 | 0.6666666666666666,
1070 | "#ed7953"
1071 | ],
1072 | [
1073 | 0.7777777777777778,
1074 | "#fb9f3a"
1075 | ],
1076 | [
1077 | 0.8888888888888888,
1078 | "#fdca26"
1079 | ],
1080 | [
1081 | 1,
1082 | "#f0f921"
1083 | ]
1084 | ],
1085 | "sequentialminus": [
1086 | [
1087 | 0,
1088 | "#0d0887"
1089 | ],
1090 | [
1091 | 0.1111111111111111,
1092 | "#46039f"
1093 | ],
1094 | [
1095 | 0.2222222222222222,
1096 | "#7201a8"
1097 | ],
1098 | [
1099 | 0.3333333333333333,
1100 | "#9c179e"
1101 | ],
1102 | [
1103 | 0.4444444444444444,
1104 | "#bd3786"
1105 | ],
1106 | [
1107 | 0.5555555555555556,
1108 | "#d8576b"
1109 | ],
1110 | [
1111 | 0.6666666666666666,
1112 | "#ed7953"
1113 | ],
1114 | [
1115 | 0.7777777777777778,
1116 | "#fb9f3a"
1117 | ],
1118 | [
1119 | 0.8888888888888888,
1120 | "#fdca26"
1121 | ],
1122 | [
1123 | 1,
1124 | "#f0f921"
1125 | ]
1126 | ]
1127 | },
1128 | "colorway": [
1129 | "#636efa",
1130 | "#EF553B",
1131 | "#00cc96",
1132 | "#ab63fa",
1133 | "#FFA15A",
1134 | "#19d3f3",
1135 | "#FF6692",
1136 | "#B6E880",
1137 | "#FF97FF",
1138 | "#FECB52"
1139 | ],
1140 | "font": {
1141 | "color": "#2a3f5f"
1142 | },
1143 | "geo": {
1144 | "bgcolor": "white",
1145 | "lakecolor": "white",
1146 | "landcolor": "#E5ECF6",
1147 | "showlakes": true,
1148 | "showland": true,
1149 | "subunitcolor": "white"
1150 | },
1151 | "hoverlabel": {
1152 | "align": "left"
1153 | },
1154 | "hovermode": "closest",
1155 | "mapbox": {
1156 | "style": "light"
1157 | },
1158 | "paper_bgcolor": "white",
1159 | "plot_bgcolor": "#E5ECF6",
1160 | "polar": {
1161 | "angularaxis": {
1162 | "gridcolor": "white",
1163 | "linecolor": "white",
1164 | "ticks": ""
1165 | },
1166 | "bgcolor": "#E5ECF6",
1167 | "radialaxis": {
1168 | "gridcolor": "white",
1169 | "linecolor": "white",
1170 | "ticks": ""
1171 | }
1172 | },
1173 | "scene": {
1174 | "xaxis": {
1175 | "backgroundcolor": "#E5ECF6",
1176 | "gridcolor": "white",
1177 | "gridwidth": 2,
1178 | "linecolor": "white",
1179 | "showbackground": true,
1180 | "ticks": "",
1181 | "zerolinecolor": "white"
1182 | },
1183 | "yaxis": {
1184 | "backgroundcolor": "#E5ECF6",
1185 | "gridcolor": "white",
1186 | "gridwidth": 2,
1187 | "linecolor": "white",
1188 | "showbackground": true,
1189 | "ticks": "",
1190 | "zerolinecolor": "white"
1191 | },
1192 | "zaxis": {
1193 | "backgroundcolor": "#E5ECF6",
1194 | "gridcolor": "white",
1195 | "gridwidth": 2,
1196 | "linecolor": "white",
1197 | "showbackground": true,
1198 | "ticks": "",
1199 | "zerolinecolor": "white"
1200 | }
1201 | },
1202 | "shapedefaults": {
1203 | "line": {
1204 | "color": "#2a3f5f"
1205 | }
1206 | },
1207 | "ternary": {
1208 | "aaxis": {
1209 | "gridcolor": "white",
1210 | "linecolor": "white",
1211 | "ticks": ""
1212 | },
1213 | "baxis": {
1214 | "gridcolor": "white",
1215 | "linecolor": "white",
1216 | "ticks": ""
1217 | },
1218 | "bgcolor": "#E5ECF6",
1219 | "caxis": {
1220 | "gridcolor": "white",
1221 | "linecolor": "white",
1222 | "ticks": ""
1223 | }
1224 | },
1225 | "title": {
1226 | "x": 0.05
1227 | },
1228 | "xaxis": {
1229 | "automargin": true,
1230 | "gridcolor": "white",
1231 | "linecolor": "white",
1232 | "ticks": "",
1233 | "title": {
1234 | "standoff": 15
1235 | },
1236 | "zerolinecolor": "white",
1237 | "zerolinewidth": 2
1238 | },
1239 | "yaxis": {
1240 | "automargin": true,
1241 | "gridcolor": "white",
1242 | "linecolor": "white",
1243 | "ticks": "",
1244 | "title": {
1245 | "standoff": 15
1246 | },
1247 | "zerolinecolor": "white",
1248 | "zerolinewidth": 2
1249 | }
1250 | }
1251 | },
1252 | "title": {
1253 | "text": "XGBRegressor with `n_estimators=10`, Custom SLE Loss Benchmark"
1254 | },
1255 | "xaxis": {
1256 | "anchor": "y",
1257 | "autorange": true,
1258 | "domain": [
1259 | 0,
1260 | 1
1261 | ],
1262 | "range": [
1263 | -0.5,
1264 | 3.5
1265 | ],
1266 | "title": {
1267 | "standoff": 30,
1268 | "text": "Number of Data Points"
1269 | },
1270 | "type": "category"
1271 | },
1272 | "yaxis": {
1273 | "anchor": "x",
1274 | "domain": [
1275 | 0,
1276 | 1
1277 | ],
1278 | "range": [
1279 | 0,
1280 | 34
1281 | ],
1282 | "title": {
1283 | "standoff": 50,
1284 | "text": "Time (s)"
1285 | },
1286 | "type": "linear"
1287 | }
1288 | }
1289 | },
1290 | "image/png": "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bj3kF0xGYCwoOgiAAAiAAAiAgAcIyC9l5GPqrb+rBosvD9QDkgQBEAABEAABEAABEPBuAhC/vbt+kDsvISD5dOs6aLI43utOv5peUmRkAwRAAARAAARAwEsJsPsI9ve5cv0uYe09Zbi/cBWCBwRAAARAAARAAARAAARAICQBiN9oERGaAPvXYmvuN+/eUZmieYQfT/btHT36x8s82dcd+/xkdyfzlmwUvgrZN9rYQT/A5UmEbjkofHgmIPcTaGc5lZeP2hk34gIBEIhYBOSXL9euUoL6+jV1elFgxKKD0oIACIAACIAACIAACIDAfwQgfqM1RGgCZi5DkUBpXcAZoUGi8CAQjghA/A5HlYmigEA4JcAX/7G/b34mDP2Rin+ZM5yWFMUCARAAARAAARAAARAAAdcIQPx2jR/e9nECZsTvaJ9GJfap2bB2eVhX+Xi9I/sgAAIgAAIg4MsEps77k8ZMX0KF8mWloAEdKV7cWL5cHOQdBEAABEAABEAABEAABNxGAOK329AiYl8gwL68r1y7TX8fOEl7Dv9DV6/dpotXb9K7d+9F9hMliEfZMqWmCqUKUolCucS/8YAACIAACIAACIAACIAACIAACIAACIAACIAACHg/AYjf3l9HyCEIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIBJAhC/TQJDcBAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAe8nAPHb++sIOQQBEAABEAABEAABEAABEAABEAABEAABEAABEAABEDBJAOK3SWAIDgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4P0EIH57fx0hhyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiYJQPw2CQzBQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEvJ8AxG/vryPkEARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwCQBiN8mgSE4CIAACIAACIAACIAACIAACIAACIAACIAACIAACICA9xOA+O39dYQcggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAImCQA8dskMAQHARAAARAAARAAARAAARAAARAAARAAARAAARAAARDwfgIQv72/jpBDEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABkwQgfpsEhuAgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALeTwDit/fXEXIIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiBgkgDEb5PAEBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMD7CUD89v46Qg5BAARAAARAAARAAARAAARAAARAAARAAARAAARAAARMEoD4bRIYgoMACIAACIAACIAACIAACIAACIAACIAACIAACIAACHg/AYjf3l9HyCEIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIBJAhC/TQJDcBAAARAAARAAARAAAS2d4sMAACAASURBVBAAARAAARAAARAAARAAARAAAe8nAPHb++sIOQQBEAABEAABEAABEAABEAABEAABEAABEAABEAABEDBJAOK3SWAIDgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4P0EIH57fx0hhyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiYJQPw2CQzBQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEvJ8AxG/vryPkEARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwCQBiN8mgSE4CIAACIAACIAACIAACIAACIAACIAACIAACIAACICA9xOA+O39dYQcggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAImCQA8dskMAQHARAAARAAARAAARAAARAAARAAARAAARAAARAAARDwfgIQv72/jpBDEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABkwQgfpsEhuAgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALeTwDit/fXkaEc3rj/0lA4BAIBEAABEAABEAABEAABEAABEAABEAABXySQPGEMX8w28gwCIOBBAhC/PQjfzqQhfttJE3GBAAiAAAiAAAiAAAiAAAiAAAiAAAh4GwGI395WI8gPCHg/AYjf3l9HhnII8dsQJgQCARAAARAAARAAARAAARAAARAAARDwUQIQv3204pBtEPAgAYjfHoRvZ9IQv+2kibhAAARAAARAAARAAARAAARAAARAAAS8jQDEb2+rEeQHBLyfAMRv768jQzmE+G0IEwKBAAiAAAiAAAiAAAiAAAiAAAiA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",
1291 | "text/html": [
1292 | "
"
1317 | ]
1318 | },
1319 | "metadata": {},
1320 | "output_type": "display_data"
1321 | }
1322 | ],
1323 | "source": [
1324 | "fig = px.bar(plot_df, x='n_samples', y='time', color='implementation',\n",
1325 | " barmode='group', text='time', text_auto='.2',\n",
1326 | " labels=dict(\n",
1327 | " time='Time (s)',\n",
1328 | " implementation='Implementation',\n",
1329 | " n_samples='Number of Data Points'))\n",
1330 | "fig.update_xaxes(type='category', title_standoff=30)\n",
1331 | "fig.update_yaxes(title_standoff=50)\n",
1332 | "fig.update_traces(textposition=\"outside\")\n",
1333 | "fig.update_layout(font=dict(size=24), yaxis_range=[0, 34], margin=dict(t=70))\n",
1334 | "fig.update_layout(title_text='XGBRegressor with `n_estimators=10`, Custom SLE Loss Benchmark')"
1335 | ]
1336 | }
1337 | ],
1338 | "metadata": {
1339 | "kernelspec": {
1340 | "display_name": "Python 3 (ipykernel)",
1341 | "language": "python",
1342 | "name": "python3"
1343 | },
1344 | "language_info": {
1345 | "codemirror_mode": {
1346 | "name": "ipython",
1347 | "version": 3
1348 | },
1349 | "file_extension": ".py",
1350 | "mimetype": "text/x-python",
1351 | "name": "python",
1352 | "nbconvert_exporter": "python",
1353 | "pygments_lexer": "ipython3",
1354 | "version": "3.9.12"
1355 | }
1356 | },
1357 | "nbformat": 4,
1358 | "nbformat_minor": 5
1359 | }
1360 |
--------------------------------------------------------------------------------