791 lines
43 KiB
Plaintext
791 lines
43 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "ecad719c",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Using Weights & Biases with Tune\n",
|
|
"\n",
|
|
"<a id=\"try-anyscale-quickstart-tune-wandb\" href=\"https://console.anyscale.com/register/ha?render_flow=ray&utm_source=ray_docs&utm_medium=docs&utm_campaign=tune-wandb\">\n",
|
|
" <img src=\"../../_static/img/run-on-anyscale.svg\" alt=\"try-anyscale-quickstart\">\n",
|
|
"</a>\n",
|
|
"<br></br>\n",
|
|
"\n",
|
|
"(tune-wandb-ref)=\n",
|
|
"\n",
|
|
"[Weights & Biases](https://www.wandb.ai/) (Wandb) is a tool for experiment\n",
|
|
"tracking, model optimizaton, and dataset versioning. It is very popular\n",
|
|
"in the machine learning and data science community for its superb visualization\n",
|
|
"tools.\n",
|
|
"\n",
|
|
"```{image} /images/wandb_logo_full.png\n",
|
|
":align: center\n",
|
|
":alt: Weights & Biases\n",
|
|
":height: 80px\n",
|
|
":target: https://www.wandb.ai/\n",
|
|
"```\n",
|
|
"\n",
|
|
"Ray Tune currently offers two lightweight integrations for Weights & Biases.\n",
|
|
"One is the {ref}`WandbLoggerCallback <air-wandb-logger>`, which automatically logs\n",
|
|
"metrics reported to Tune to the Wandb API.\n",
|
|
"\n",
|
|
"The other one is the {ref}`setup_wandb() <air-wandb-setup>` function, which can be\n",
|
|
"used with the function API. It automatically\n",
|
|
"initializes the Wandb API with Tune's training information. You can just use the\n",
|
|
"Wandb API like you would normally do, e.g. using `wandb.log()` to log your training\n",
|
|
"process.\n",
|
|
"\n",
|
|
"```{contents}\n",
|
|
":backlinks: none\n",
|
|
":local: true\n",
|
|
"```\n",
|
|
"\n",
|
|
"## Running A Weights & Biases Example\n",
|
|
"\n",
|
|
"In the following example we're going to use both of the above methods, namely the `WandbLoggerCallback` and\n",
|
|
"the `setup_wandb` function to log metrics.\n",
|
|
"\n",
|
|
"As the very first step, make sure you're logged in into wandb on all machines you're running your training on:\n",
|
|
"\n",
|
|
" wandb login\n",
|
|
"\n",
|
|
"We can then start with a few crucial imports:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "100bcf8a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"import ray\n",
|
|
"from ray import tune\n",
|
|
"from ray.air.integrations.wandb import WandbLoggerCallback, setup_wandb\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "9346c0f6",
|
|
"metadata": {},
|
|
"source": [
|
|
"Next, let's define an easy `train_function` function (a Tune `Trainable`) that reports a random loss to Tune.\n",
|
|
"The objective function itself is not important for this example, since we want to focus on the Weights & Biases\n",
|
|
"integration primarily."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "e8b4fc4d",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def train_function(config):\n",
|
|
" for i in range(30):\n",
|
|
" loss = config[\"mean\"] + config[\"sd\"] * np.random.randn()\n",
|
|
" tune.report({\"loss\": loss})\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "831eed42",
|
|
"metadata": {},
|
|
"source": [
|
|
"You can define a\n",
|
|
"simple grid-search Tune run using the `WandbLoggerCallback` as follows:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "52988599",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def tune_with_callback():\n",
|
|
" \"\"\"Example for using a WandbLoggerCallback with the function API\"\"\"\n",
|
|
" tuner = tune.Tuner(\n",
|
|
" train_function,\n",
|
|
" tune_config=tune.TuneConfig(\n",
|
|
" metric=\"loss\",\n",
|
|
" mode=\"min\",\n",
|
|
" ),\n",
|
|
" run_config=tune.RunConfig(\n",
|
|
" callbacks=[WandbLoggerCallback(project=\"Wandb_example\")]\n",
|
|
" ),\n",
|
|
" param_space={\n",
|
|
" \"mean\": tune.grid_search([1, 2, 3, 4, 5]),\n",
|
|
" \"sd\": tune.uniform(0.2, 0.8),\n",
|
|
" },\n",
|
|
" )\n",
|
|
" tuner.fit()\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "e24c05fa",
|
|
"metadata": {},
|
|
"source": [
|
|
"To use the `setup_wandb` utility, you simply call this function in your objective.\n",
|
|
"Note that we also use `wandb.log(...)` to log the `loss` to Weights & Biases as a dictionary.\n",
|
|
"Otherwise, this version of our objective is identical to its original."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "5e30d5e7",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def train_function_wandb(config):\n",
|
|
" wandb = setup_wandb(config, project=\"Wandb_example\")\n",
|
|
"\n",
|
|
" for i in range(30):\n",
|
|
" loss = config[\"mean\"] + config[\"sd\"] * np.random.randn()\n",
|
|
" tune.report({\"loss\": loss})\n",
|
|
" wandb.log(dict(loss=loss))\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "04040bcb",
|
|
"metadata": {},
|
|
"source": [
|
|
"With the `train_function_wandb` defined, your Tune experiment will set up `wandb` in each trial once it starts!"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "d4fbd368",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def tune_with_setup():\n",
|
|
" \"\"\"Example for using the setup_wandb utility with the function API\"\"\"\n",
|
|
" tuner = tune.Tuner(\n",
|
|
" train_function_wandb,\n",
|
|
" tune_config=tune.TuneConfig(\n",
|
|
" metric=\"loss\",\n",
|
|
" mode=\"min\",\n",
|
|
" ),\n",
|
|
" param_space={\n",
|
|
" \"mean\": tune.grid_search([1, 2, 3, 4, 5]),\n",
|
|
" \"sd\": tune.uniform(0.2, 0.8),\n",
|
|
" },\n",
|
|
" )\n",
|
|
" tuner.fit()\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "f9521481",
|
|
"metadata": {},
|
|
"source": [
|
|
"Finally, you can also define a class-based Tune `Trainable` by using the `setup_wandb` in the `setup()` method and storing the run object as an attribute. Please note that with the class trainable, you have to pass the trial id, name, and group separately:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "d27a7a35",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"class WandbTrainable(tune.Trainable):\n",
|
|
" def setup(self, config):\n",
|
|
" self.wandb = setup_wandb(\n",
|
|
" config,\n",
|
|
" trial_id=self.trial_id,\n",
|
|
" trial_name=self.trial_name,\n",
|
|
" group=\"Example\",\n",
|
|
" project=\"Wandb_example\",\n",
|
|
" )\n",
|
|
"\n",
|
|
" def step(self):\n",
|
|
" for i in range(30):\n",
|
|
" loss = self.config[\"mean\"] + self.config[\"sd\"] * np.random.randn()\n",
|
|
" self.wandb.log({\"loss\": loss})\n",
|
|
" return {\"loss\": loss, \"done\": True}\n",
|
|
"\n",
|
|
" def save_checkpoint(self, checkpoint_dir: str):\n",
|
|
" pass\n",
|
|
"\n",
|
|
" def load_checkpoint(self, checkpoint_dir: str):\n",
|
|
" pass\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "fa189bb2",
|
|
"metadata": {},
|
|
"source": [
|
|
"Running Tune with this `WandbTrainable` works exactly the same as with the function API.\n",
|
|
"The below `tune_trainable` function differs from `tune_decorated` above only in the first argument we pass to\n",
|
|
"`Tuner()`:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "6e546cc2",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def tune_trainable():\n",
|
|
" \"\"\"Example for using a WandTrainableMixin with the class API\"\"\"\n",
|
|
" tuner = tune.Tuner(\n",
|
|
" WandbTrainable,\n",
|
|
" tune_config=tune.TuneConfig(\n",
|
|
" metric=\"loss\",\n",
|
|
" mode=\"min\",\n",
|
|
" ),\n",
|
|
" param_space={\n",
|
|
" \"mean\": tune.grid_search([1, 2, 3, 4, 5]),\n",
|
|
" \"sd\": tune.uniform(0.2, 0.8),\n",
|
|
" },\n",
|
|
" )\n",
|
|
" results = tuner.fit()\n",
|
|
"\n",
|
|
" return results.get_best_result().config\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "0b736172",
|
|
"metadata": {},
|
|
"source": [
|
|
"Since you may not have an API key for Wandb, we can _mock_ the Wandb logger and test all three of our training\n",
|
|
"functions as follows.\n",
|
|
"If you are logged in into wandb, you can set `mock_api = False` to actually upload your results to Weights & Biases."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "e0e7f481",
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"2022-11-02 16:02:45,355\tINFO worker.py:1534 -- Started a local Ray instance. View the dashboard at \u001b[1m\u001b[32mhttp://127.0.0.1:8266 \u001b[39m\u001b[22m\n",
|
|
"2022-11-02 16:02:46,513\tINFO wandb.py:282 -- Already logged into W&B.\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"tuneStatus\">\n",
|
|
" <div style=\"display: flex;flex-direction: row\">\n",
|
|
" <div style=\"display: flex;flex-direction: column;\">\n",
|
|
" <h3>Tune Status</h3>\n",
|
|
" <table>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>Current time:</td><td>2022-11-02 16:03:13</td></tr>\n",
|
|
"<tr><td>Running for: </td><td>00:00:27.28 </td></tr>\n",
|
|
"<tr><td>Memory: </td><td>10.8/16.0 GiB </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
" <div class=\"vDivider\"></div>\n",
|
|
" <div class=\"systemInfo\">\n",
|
|
" <h3>System Info</h3>\n",
|
|
" Using FIFO scheduling algorithm.<br>Resources requested: 0/16 CPUs, 0/0 GPUs, 0.0/3.44 GiB heap, 0.0/1.72 GiB objects\n",
|
|
" </div>\n",
|
|
" \n",
|
|
" </div>\n",
|
|
" <div class=\"hDivider\"></div>\n",
|
|
" <div class=\"trialStatus\">\n",
|
|
" <h3>Trial Status</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>status </th><th>loc </th><th style=\"text-align: right;\"> mean</th><th style=\"text-align: right;\"> sd</th><th style=\"text-align: right;\"> iter</th><th style=\"text-align: right;\"> total time (s)</th><th style=\"text-align: right;\"> loss</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>train_function_7676d_00000</td><td>TERMINATED</td><td>127.0.0.1:14578</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">0.411212</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 0.236137</td><td style=\"text-align: right;\">0.828527</td></tr>\n",
|
|
"<tr><td>train_function_7676d_00001</td><td>TERMINATED</td><td>127.0.0.1:14591</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\">0.756339</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 5.57185 </td><td style=\"text-align: right;\">3.13156 </td></tr>\n",
|
|
"<tr><td>train_function_7676d_00002</td><td>TERMINATED</td><td>127.0.0.1:14593</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\">0.436643</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 5.50237 </td><td style=\"text-align: right;\">3.26679 </td></tr>\n",
|
|
"<tr><td>train_function_7676d_00003</td><td>TERMINATED</td><td>127.0.0.1:14595</td><td style=\"text-align: right;\"> 4</td><td style=\"text-align: right;\">0.295929</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 5.60986 </td><td style=\"text-align: right;\">3.70388 </td></tr>\n",
|
|
"<tr><td>train_function_7676d_00004</td><td>TERMINATED</td><td>127.0.0.1:14596</td><td style=\"text-align: right;\"> 5</td><td style=\"text-align: right;\">0.335292</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 5.61385 </td><td style=\"text-align: right;\">4.74294 </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".tuneStatus {\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".tuneStatus .systemInfo {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
".tuneStatus .trialStatus {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".tuneStatus .hDivider {\n",
|
|
" border-bottom-width: var(--jp-border-width);\n",
|
|
" border-bottom-color: var(--jp-border-color0);\n",
|
|
" border-bottom-style: solid;\n",
|
|
"}\n",
|
|
".tuneStatus .vDivider {\n",
|
|
" border-left-width: var(--jp-border-width);\n",
|
|
" border-left-color: var(--jp-border-color0);\n",
|
|
" border-left-style: solid;\n",
|
|
" margin: 0.5em 1em 0.5em 1em;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"trialProgress\">\n",
|
|
" <h3>Trial Progress</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>date </th><th>done </th><th>episodes_total </th><th>experiment_id </th><th>experiment_tag </th><th>hostname </th><th style=\"text-align: right;\"> iterations_since_restore</th><th style=\"text-align: right;\"> loss</th><th>node_ip </th><th style=\"text-align: right;\"> pid</th><th style=\"text-align: right;\"> time_since_restore</th><th style=\"text-align: right;\"> time_this_iter_s</th><th style=\"text-align: right;\"> time_total_s</th><th style=\"text-align: right;\"> timestamp</th><th style=\"text-align: right;\"> timesteps_since_restore</th><th>timesteps_total </th><th style=\"text-align: right;\"> training_iteration</th><th>trial_id </th><th style=\"text-align: right;\"> warmup_time</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>train_function_7676d_00000</td><td>2022-11-02_16-02-53</td><td>True </td><td> </td><td>a9f242fa70184d9dadd8952b16fb0ecc</td><td>0_mean=1,sd=0.4112</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">0.828527</td><td>127.0.0.1</td><td style=\"text-align: right;\">14578</td><td style=\"text-align: right;\"> 0.236137</td><td style=\"text-align: right;\"> 0.00381589</td><td style=\"text-align: right;\"> 0.236137</td><td style=\"text-align: right;\"> 1667430173</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>7676d_00000</td><td style=\"text-align: right;\"> 0.00366998</td></tr>\n",
|
|
"<tr><td>train_function_7676d_00001</td><td>2022-11-02_16-03-03</td><td>True </td><td> </td><td>f57118365bcb4c229fe41c5911f05ad6</td><td>1_mean=2,sd=0.7563</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">3.13156 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14591</td><td style=\"text-align: right;\"> 5.57185 </td><td style=\"text-align: right;\"> 0.00627518</td><td style=\"text-align: right;\"> 5.57185 </td><td style=\"text-align: right;\"> 1667430183</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>7676d_00001</td><td style=\"text-align: right;\"> 0.0027349 </td></tr>\n",
|
|
"<tr><td>train_function_7676d_00002</td><td>2022-11-02_16-03-03</td><td>True </td><td> </td><td>394021d4515d4616bae7126668f73b2b</td><td>2_mean=3,sd=0.4366</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">3.26679 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14593</td><td style=\"text-align: right;\"> 5.50237 </td><td style=\"text-align: right;\"> 0.00494576</td><td style=\"text-align: right;\"> 5.50237 </td><td style=\"text-align: right;\"> 1667430183</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>7676d_00002</td><td style=\"text-align: right;\"> 0.00286222</td></tr>\n",
|
|
"<tr><td>train_function_7676d_00003</td><td>2022-11-02_16-03-03</td><td>True </td><td> </td><td>a575e79c9d95485fa37deaa86267aea4</td><td>3_mean=4,sd=0.2959</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">3.70388 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14595</td><td style=\"text-align: right;\"> 5.60986 </td><td style=\"text-align: right;\"> 0.00689816</td><td style=\"text-align: right;\"> 5.60986 </td><td style=\"text-align: right;\"> 1667430183</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>7676d_00003</td><td style=\"text-align: right;\"> 0.00299597</td></tr>\n",
|
|
"<tr><td>train_function_7676d_00004</td><td>2022-11-02_16-03-03</td><td>True </td><td> </td><td>91ce57dcdbb54536b1874666b711350d</td><td>4_mean=5,sd=0.3353</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">4.74294 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14596</td><td style=\"text-align: right;\"> 5.61385 </td><td style=\"text-align: right;\"> 0.00672579</td><td style=\"text-align: right;\"> 5.61385 </td><td style=\"text-align: right;\"> 1667430183</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>7676d_00004</td><td style=\"text-align: right;\"> 0.00323987</td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".trialProgress {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".trialProgress h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".trialProgress td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"2022-11-02 16:03:13,913\tINFO tune.py:788 -- Total run time: 28.53 seconds (27.28 seconds for the tuning loop).\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"tuneStatus\">\n",
|
|
" <div style=\"display: flex;flex-direction: row\">\n",
|
|
" <div style=\"display: flex;flex-direction: column;\">\n",
|
|
" <h3>Tune Status</h3>\n",
|
|
" <table>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>Current time:</td><td>2022-11-02 16:03:22</td></tr>\n",
|
|
"<tr><td>Running for: </td><td>00:00:08.49 </td></tr>\n",
|
|
"<tr><td>Memory: </td><td>9.9/16.0 GiB </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
" <div class=\"vDivider\"></div>\n",
|
|
" <div class=\"systemInfo\">\n",
|
|
" <h3>System Info</h3>\n",
|
|
" Using FIFO scheduling algorithm.<br>Resources requested: 0/16 CPUs, 0/0 GPUs, 0.0/3.44 GiB heap, 0.0/1.72 GiB objects\n",
|
|
" </div>\n",
|
|
" \n",
|
|
" </div>\n",
|
|
" <div class=\"hDivider\"></div>\n",
|
|
" <div class=\"trialStatus\">\n",
|
|
" <h3>Trial Status</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>status </th><th>loc </th><th style=\"text-align: right;\"> mean</th><th style=\"text-align: right;\"> sd</th><th style=\"text-align: right;\"> iter</th><th style=\"text-align: right;\"> total time (s)</th><th style=\"text-align: right;\"> loss</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>train_function_wandb_877eb_00000</td><td>TERMINATED</td><td>127.0.0.1:14647</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">0.738281</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 1.61319</td><td style=\"text-align: right;\">0.555153</td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00001</td><td>TERMINATED</td><td>127.0.0.1:14660</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\">0.321178</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 1.72447</td><td style=\"text-align: right;\">2.52109 </td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00002</td><td>TERMINATED</td><td>127.0.0.1:14661</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\">0.202487</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 1.8159 </td><td style=\"text-align: right;\">2.45412 </td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00003</td><td>TERMINATED</td><td>127.0.0.1:14662</td><td style=\"text-align: right;\"> 4</td><td style=\"text-align: right;\">0.515434</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 1.715 </td><td style=\"text-align: right;\">4.51413 </td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00004</td><td>TERMINATED</td><td>127.0.0.1:14663</td><td style=\"text-align: right;\"> 5</td><td style=\"text-align: right;\">0.216098</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\"> 1.72827</td><td style=\"text-align: right;\">5.2814 </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".tuneStatus {\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".tuneStatus .systemInfo {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
".tuneStatus .trialStatus {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".tuneStatus .hDivider {\n",
|
|
" border-bottom-width: var(--jp-border-width);\n",
|
|
" border-bottom-color: var(--jp-border-color0);\n",
|
|
" border-bottom-style: solid;\n",
|
|
"}\n",
|
|
".tuneStatus .vDivider {\n",
|
|
" border-left-width: var(--jp-border-width);\n",
|
|
" border-left-color: var(--jp-border-color0);\n",
|
|
" border-left-style: solid;\n",
|
|
" margin: 0.5em 1em 0.5em 1em;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[2m\u001b[36m(train_function_wandb pid=14647)\u001b[0m 2022-11-02 16:03:17,149\tINFO wandb.py:282 -- Already logged into W&B.\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"trialProgress\">\n",
|
|
" <h3>Trial Progress</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>date </th><th>done </th><th>episodes_total </th><th>experiment_id </th><th>experiment_tag </th><th>hostname </th><th style=\"text-align: right;\"> iterations_since_restore</th><th style=\"text-align: right;\"> loss</th><th>node_ip </th><th style=\"text-align: right;\"> pid</th><th style=\"text-align: right;\"> time_since_restore</th><th style=\"text-align: right;\"> time_this_iter_s</th><th style=\"text-align: right;\"> time_total_s</th><th style=\"text-align: right;\"> timestamp</th><th style=\"text-align: right;\"> timesteps_since_restore</th><th>timesteps_total </th><th style=\"text-align: right;\"> training_iteration</th><th>trial_id </th><th style=\"text-align: right;\"> warmup_time</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>train_function_wandb_877eb_00000</td><td>2022-11-02_16-03-18</td><td>True </td><td> </td><td>7b250c9f31ab484dad1a1fd29823afdf</td><td>0_mean=1,sd=0.7383</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">0.555153</td><td>127.0.0.1</td><td style=\"text-align: right;\">14647</td><td style=\"text-align: right;\"> 1.61319</td><td style=\"text-align: right;\"> 0.00232315</td><td style=\"text-align: right;\"> 1.61319</td><td style=\"text-align: right;\"> 1667430198</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>877eb_00000</td><td style=\"text-align: right;\"> 0.00391102</td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00001</td><td>2022-11-02_16-03-22</td><td>True </td><td> </td><td>5172868368074557a3044ea3a9146673</td><td>1_mean=2,sd=0.3212</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">2.52109 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14660</td><td style=\"text-align: right;\"> 1.72447</td><td style=\"text-align: right;\"> 0.0152011 </td><td style=\"text-align: right;\"> 1.72447</td><td style=\"text-align: right;\"> 1667430202</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>877eb_00001</td><td style=\"text-align: right;\"> 0.00901699</td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00002</td><td>2022-11-02_16-03-22</td><td>True </td><td> </td><td>b13d9bccb1964b4b95e1a858a3ea64c7</td><td>2_mean=3,sd=0.2025</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">2.45412 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14661</td><td style=\"text-align: right;\"> 1.8159 </td><td style=\"text-align: right;\"> 0.00437403</td><td style=\"text-align: right;\"> 1.8159 </td><td style=\"text-align: right;\"> 1667430202</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>877eb_00002</td><td style=\"text-align: right;\"> 0.00844812</td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00003</td><td>2022-11-02_16-03-22</td><td>True </td><td> </td><td>869d7ec7a3544a8387985103e626818f</td><td>3_mean=4,sd=0.5154</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">4.51413 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14662</td><td style=\"text-align: right;\"> 1.715 </td><td style=\"text-align: right;\"> 0.00247812</td><td style=\"text-align: right;\"> 1.715 </td><td style=\"text-align: right;\"> 1667430202</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>877eb_00003</td><td style=\"text-align: right;\"> 0.00282907</td></tr>\n",
|
|
"<tr><td>train_function_wandb_877eb_00004</td><td>2022-11-02_16-03-22</td><td>True </td><td> </td><td>84d3112d66f64325bc469e44b8447ef5</td><td>4_mean=5,sd=0.2161</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 30</td><td style=\"text-align: right;\">5.2814 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14663</td><td style=\"text-align: right;\"> 1.72827</td><td style=\"text-align: right;\"> 0.00517201</td><td style=\"text-align: right;\"> 1.72827</td><td style=\"text-align: right;\"> 1667430202</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 30</td><td>877eb_00004</td><td style=\"text-align: right;\"> 0.00272107</td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".trialProgress {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".trialProgress h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".trialProgress td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[2m\u001b[36m(train_function_wandb pid=14660)\u001b[0m 2022-11-02 16:03:20,600\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(train_function_wandb pid=14661)\u001b[0m 2022-11-02 16:03:20,600\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(train_function_wandb pid=14663)\u001b[0m 2022-11-02 16:03:20,628\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(train_function_wandb pid=14662)\u001b[0m 2022-11-02 16:03:20,723\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"2022-11-02 16:03:22,565\tINFO tune.py:788 -- Total run time: 8.60 seconds (8.48 seconds for the tuning loop).\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"tuneStatus\">\n",
|
|
" <div style=\"display: flex;flex-direction: row\">\n",
|
|
" <div style=\"display: flex;flex-direction: column;\">\n",
|
|
" <h3>Tune Status</h3>\n",
|
|
" <table>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>Current time:</td><td>2022-11-02 16:03:31</td></tr>\n",
|
|
"<tr><td>Running for: </td><td>00:00:09.28 </td></tr>\n",
|
|
"<tr><td>Memory: </td><td>9.9/16.0 GiB </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
" <div class=\"vDivider\"></div>\n",
|
|
" <div class=\"systemInfo\">\n",
|
|
" <h3>System Info</h3>\n",
|
|
" Using FIFO scheduling algorithm.<br>Resources requested: 0/16 CPUs, 0/0 GPUs, 0.0/3.44 GiB heap, 0.0/1.72 GiB objects\n",
|
|
" </div>\n",
|
|
" \n",
|
|
" </div>\n",
|
|
" <div class=\"hDivider\"></div>\n",
|
|
" <div class=\"trialStatus\">\n",
|
|
" <h3>Trial Status</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>status </th><th>loc </th><th style=\"text-align: right;\"> mean</th><th style=\"text-align: right;\"> sd</th><th style=\"text-align: right;\"> iter</th><th style=\"text-align: right;\"> total time (s)</th><th style=\"text-align: right;\"> loss</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00000</td><td>TERMINATED</td><td>127.0.0.1:14718</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">0.397894</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.000187159</td><td style=\"text-align: right;\">0.742345</td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00001</td><td>TERMINATED</td><td>127.0.0.1:14737</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\">0.386883</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.000151873</td><td style=\"text-align: right;\">2.5709 </td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00002</td><td>TERMINATED</td><td>127.0.0.1:14738</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\">0.290693</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.00014019 </td><td style=\"text-align: right;\">2.99601 </td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00003</td><td>TERMINATED</td><td>127.0.0.1:14739</td><td style=\"text-align: right;\"> 4</td><td style=\"text-align: right;\">0.33333 </td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.00015831 </td><td style=\"text-align: right;\">3.91276 </td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00004</td><td>TERMINATED</td><td>127.0.0.1:14740</td><td style=\"text-align: right;\"> 5</td><td style=\"text-align: right;\">0.645479</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.000150919</td><td style=\"text-align: right;\">5.47779 </td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
" </div>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".tuneStatus {\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".tuneStatus .systemInfo {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
".tuneStatus .trialStatus {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
"}\n",
|
|
".tuneStatus h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".tuneStatus .hDivider {\n",
|
|
" border-bottom-width: var(--jp-border-width);\n",
|
|
" border-bottom-color: var(--jp-border-color0);\n",
|
|
" border-bottom-style: solid;\n",
|
|
"}\n",
|
|
".tuneStatus .vDivider {\n",
|
|
" border-left-width: var(--jp-border-width);\n",
|
|
" border-left-color: var(--jp-border-color0);\n",
|
|
" border-left-style: solid;\n",
|
|
" margin: 0.5em 1em 0.5em 1em;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[2m\u001b[36m(WandbTrainable pid=14718)\u001b[0m 2022-11-02 16:03:25,742\tINFO wandb.py:282 -- Already logged into W&B.\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div class=\"trialProgress\">\n",
|
|
" <h3>Trial Progress</h3>\n",
|
|
" <table>\n",
|
|
"<thead>\n",
|
|
"<tr><th>Trial name </th><th>date </th><th>done </th><th>episodes_total </th><th>experiment_id </th><th>hostname </th><th style=\"text-align: right;\"> iterations_since_restore</th><th style=\"text-align: right;\"> loss</th><th>node_ip </th><th style=\"text-align: right;\"> pid</th><th style=\"text-align: right;\"> time_since_restore</th><th style=\"text-align: right;\"> time_this_iter_s</th><th style=\"text-align: right;\"> time_total_s</th><th style=\"text-align: right;\"> timestamp</th><th style=\"text-align: right;\"> timesteps_since_restore</th><th>timesteps_total </th><th style=\"text-align: right;\"> training_iteration</th><th>trial_id </th><th style=\"text-align: right;\"> warmup_time</th></tr>\n",
|
|
"</thead>\n",
|
|
"<tbody>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00000</td><td>2022-11-02_16-03-27</td><td>True </td><td> </td><td>3adb4d0ae0d74d1c9ddd07924b5653b0</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">0.742345</td><td>127.0.0.1</td><td style=\"text-align: right;\">14718</td><td style=\"text-align: right;\"> 0.000187159</td><td style=\"text-align: right;\"> 0.000187159</td><td style=\"text-align: right;\"> 0.000187159</td><td style=\"text-align: right;\"> 1667430207</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 1</td><td>8ca33_00000</td><td style=\"text-align: right;\"> 1.31382</td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00001</td><td>2022-11-02_16-03-31</td><td>True </td><td> </td><td>f1511cfd51f94b3d9cf192181ccc08a9</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">2.5709 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14737</td><td style=\"text-align: right;\"> 0.000151873</td><td style=\"text-align: right;\"> 0.000151873</td><td style=\"text-align: right;\"> 0.000151873</td><td style=\"text-align: right;\"> 1667430211</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 1</td><td>8ca33_00001</td><td style=\"text-align: right;\"> 1.31668</td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00002</td><td>2022-11-02_16-03-31</td><td>True </td><td> </td><td>a7528ec6adf74de0b73aa98ebedab66d</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">2.99601 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14738</td><td style=\"text-align: right;\"> 0.00014019 </td><td style=\"text-align: right;\"> 0.00014019 </td><td style=\"text-align: right;\"> 0.00014019 </td><td style=\"text-align: right;\"> 1667430211</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 1</td><td>8ca33_00002</td><td style=\"text-align: right;\"> 1.32008</td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00003</td><td>2022-11-02_16-03-31</td><td>True </td><td> </td><td>b7af756ca586449ba2d4c44141b53b06</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">3.91276 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14739</td><td style=\"text-align: right;\"> 0.00015831 </td><td style=\"text-align: right;\"> 0.00015831 </td><td style=\"text-align: right;\"> 0.00015831 </td><td style=\"text-align: right;\"> 1667430211</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 1</td><td>8ca33_00003</td><td style=\"text-align: right;\"> 1.31879</td></tr>\n",
|
|
"<tr><td>WandbTrainable_8ca33_00004</td><td>2022-11-02_16-03-31</td><td>True </td><td> </td><td>196624f42bcc45c18a26778573a43a2c</td><td>Kais-MBP.local.meter</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\">5.47779 </td><td>127.0.0.1</td><td style=\"text-align: right;\">14740</td><td style=\"text-align: right;\"> 0.000150919</td><td style=\"text-align: right;\"> 0.000150919</td><td style=\"text-align: right;\"> 0.000150919</td><td style=\"text-align: right;\"> 1667430211</td><td style=\"text-align: right;\"> 0</td><td> </td><td style=\"text-align: right;\"> 1</td><td>8ca33_00004</td><td style=\"text-align: right;\"> 1.31945</td></tr>\n",
|
|
"</tbody>\n",
|
|
"</table>\n",
|
|
"</div>\n",
|
|
"<style>\n",
|
|
".trialProgress {\n",
|
|
" display: flex;\n",
|
|
" flex-direction: column;\n",
|
|
" color: var(--jp-ui-font-color1);\n",
|
|
"}\n",
|
|
".trialProgress h3 {\n",
|
|
" font-weight: bold;\n",
|
|
"}\n",
|
|
".trialProgress td {\n",
|
|
" white-space: nowrap;\n",
|
|
"}\n",
|
|
"</style>\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\u001b[2m\u001b[36m(WandbTrainable pid=14739)\u001b[0m 2022-11-02 16:03:30,360\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(WandbTrainable pid=14740)\u001b[0m 2022-11-02 16:03:30,393\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(WandbTrainable pid=14737)\u001b[0m 2022-11-02 16:03:30,454\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"\u001b[2m\u001b[36m(WandbTrainable pid=14738)\u001b[0m 2022-11-02 16:03:30,510\tINFO wandb.py:282 -- Already logged into W&B.\n",
|
|
"2022-11-02 16:03:31,985\tINFO tune.py:788 -- Total run time: 9.40 seconds (9.27 seconds for the tuning loop).\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'mean': 1, 'sd': 0.3978937765393781, 'wandb': {'project': 'Wandb_example'}}"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import os\n",
|
|
"\n",
|
|
"mock_api = True\n",
|
|
"\n",
|
|
"if mock_api:\n",
|
|
" os.environ.setdefault(\"WANDB_MODE\", \"disabled\")\n",
|
|
" os.environ.setdefault(\"WANDB_API_KEY\", \"abcd\")\n",
|
|
" ray.init(\n",
|
|
" runtime_env={\"env_vars\": {\"WANDB_MODE\": \"disabled\", \"WANDB_API_KEY\": \"abcd\"}}\n",
|
|
" )\n",
|
|
"\n",
|
|
"tune_with_callback()\n",
|
|
"tune_with_setup()\n",
|
|
"tune_trainable()\n"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "2f6e9138",
|
|
"metadata": {},
|
|
"source": [
|
|
"This completes our Tune and Wandb walk-through.\n",
|
|
"In the following sections you can find more details on the API of the Tune-Wandb integration.\n",
|
|
"\n",
|
|
"## Tune Wandb API Reference\n",
|
|
"\n",
|
|
"### WandbLoggerCallback\n",
|
|
"\n",
|
|
"(air-wandb-logger)=\n",
|
|
"\n",
|
|
"```{eval-rst}\n",
|
|
".. autoclass:: ray.air.integrations.wandb.WandbLoggerCallback\n",
|
|
" :noindex:\n",
|
|
"```\n",
|
|
"\n",
|
|
"### setup_wandb\n",
|
|
"\n",
|
|
"(air-wandb-setup)=\n",
|
|
"\n",
|
|
"```{eval-rst}\n",
|
|
".. autofunction:: ray.air.integrations.wandb.setup_wandb\n",
|
|
" :noindex:\n",
|
|
"```"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.7.7"
|
|
},
|
|
"orphan": true
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|