Files
pytorch-study/15.ipynb

2463 lines
135 KiB
Plaintext

{
"cells": [
{
"metadata": {},
"cell_type": "code",
"source": [
"from numpy.conftest import dtype\n",
"!pip install tensorboard"
],
"id": "add52c783768e27a",
"outputs": [],
"execution_count": null
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T11:55:23.302447Z",
"start_time": "2025-06-24T11:55:21.276115Z"
}
},
"cell_type": "code",
"source": [
"%load_ext tensorboard\n",
"%tensorboard --logdir runs --host 0.0.0.0 --port 6006"
],
"id": "6d148c29e2c0fbbe",
"outputs": [
{
"data": {
"text/plain": [
"<IPython.core.display.HTML object>"
],
"text/html": [
"\n",
" <iframe id=\"tensorboard-frame-e2d2c2813765bfcb\" width=\"100%\" height=\"800\" frameborder=\"0\">\n",
" </iframe>\n",
" <script>\n",
" (function() {\n",
" const frame = document.getElementById(\"tensorboard-frame-e2d2c2813765bfcb\");\n",
" const url = new URL(\"/\", window.location);\n",
" const port = 6006;\n",
" if (port) {\n",
" url.port = port;\n",
" }\n",
" frame.src = url;\n",
" })();\n",
" </script>\n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 1
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-06-24T11:55:30.639537Z",
"start_time": "2025-06-24T11:55:23.347017Z"
}
},
"source": [
"from torch.utils.tensorboard import SummaryWriter\n",
"import numpy as np\n",
"\n",
"# 创建一个SummaryWriter对象\n",
"writer = SummaryWriter()\n",
"\n",
"for n_iter in range(100):\n",
" writer.add_scalar('Loss/train', np.random.random(), n_iter)\n",
" writer.add_scalar('Loss/test', np.random.random(), n_iter)\n",
" writer.add_scalar('Accuracy/train', np.random.random(), n_iter)\n",
" writer.add_scalar('Accuracy/test', np.random.random(), n_iter)\n",
"\n",
"img = np.zeros((3, 100, 100))\n",
"img[0] = np.arange(0, 10000).reshape(100, 100) / 10000\n",
"img[1] = np.arange(0, 10000).reshape(100, 100) / 10000\n",
"\n",
"writer.add_image('my_image', img, 0)\n",
"writer.close()"
],
"outputs": [],
"execution_count": 2
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:03:25.235901Z",
"start_time": "2025-06-24T12:03:25.229585Z"
}
},
"cell_type": "code",
"source": [
"import random\n",
"import numpy as np\n",
"import torch\n",
"from torch import nn\n",
"\n",
"\n",
"# 模型定义\n",
"class LinearModel(nn.Module):\n",
" def __init__(self):\n",
" super().__init__()\n",
" self.weight = nn.Parameter(torch.randn(1))\n",
" self.bias = nn.Parameter(torch.randn(1))\n",
"\n",
" def forward(self, input):\n",
" return (input * self.weight) + self.bias\n",
"\n",
"\n",
"# 数据\n",
"w = 2\n",
"b = 3\n",
"xlim = [-10, 10]\n",
"x_train = np.random.randint(xlim[0], xlim[1], size=30)\n",
"y_train = [w * x + b + random.randint(0, 2) for x in x_train]"
],
"id": "d369c1a6c54a96ba",
"outputs": [],
"execution_count": 5
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:04:12.866134Z",
"start_time": "2025-06-24T12:04:07.348595Z"
}
},
"cell_type": "code",
"source": [
"from torch.utils.tensorboard import SummaryWriter\n",
"\n",
"# 训练\n",
"model = LinearModel()\n",
"optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, weight_decay=1e-4, momentum=0.9)\n",
"y_train = torch.tensor(y_train, dtype=torch.float32)\n",
"\n",
"writer = SummaryWriter()\n",
"\n",
"for epoch in range(500):\n",
" input = torch.from_numpy(x_train)\n",
" out = model(input)\n",
" loss = nn.MSELoss()(out, y_train)\n",
" model.zero_grad()\n",
" loss.backward()\n",
" optimizer.step()\n",
" # 打印损失\n",
" print(f'Epoch {epoch}, Loss: {loss.item()}')\n",
"\n",
" # 记录损失\n",
" writer.add_scalar('Loss/train', loss, epoch)"
],
"id": "ca85e6948a7190a7",
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_15/3398267037.py:6: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
" y_train = torch.tensor(y_train, dtype=torch.float32)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 0, Loss: 47.03325271606445\n",
"Epoch 1, Loss: 47.01589584350586\n",
"Epoch 2, Loss: 46.98295593261719\n",
"Epoch 3, Loss: 46.93598556518555\n",
"Epoch 4, Loss: 46.87645721435547\n",
"Epoch 5, Loss: 46.80564880371094\n",
"Epoch 6, Loss: 46.724754333496094\n",
"Epoch 7, Loss: 46.63483810424805\n",
"Epoch 8, Loss: 46.53687286376953\n",
"Epoch 9, Loss: 46.43171310424805\n",
"Epoch 10, Loss: 46.32015609741211\n",
"Epoch 11, Loss: 46.20289993286133\n",
"Epoch 12, Loss: 46.08058166503906\n",
"Epoch 13, Loss: 45.95378494262695\n",
"Epoch 14, Loss: 45.8230094909668\n",
"Epoch 15, Loss: 45.68872833251953\n",
"Epoch 16, Loss: 45.55135726928711\n",
"Epoch 17, Loss: 45.411277770996094\n",
"Epoch 18, Loss: 45.26881790161133\n",
"Epoch 19, Loss: 45.12428283691406\n",
"Epoch 20, Loss: 44.97793960571289\n",
"Epoch 21, Loss: 44.830039978027344\n",
"Epoch 22, Loss: 44.68079376220703\n",
"Epoch 23, Loss: 44.5303955078125\n",
"Epoch 24, Loss: 44.379024505615234\n",
"Epoch 25, Loss: 44.22684860229492\n",
"Epoch 26, Loss: 44.07398986816406\n",
"Epoch 27, Loss: 43.920589447021484\n",
"Epoch 28, Loss: 43.76675033569336\n",
"Epoch 29, Loss: 43.61259078979492\n",
"Epoch 30, Loss: 43.45817565917969\n",
"Epoch 31, Loss: 43.30360794067383\n",
"Epoch 32, Loss: 43.14896774291992\n",
"Epoch 33, Loss: 42.99429702758789\n",
"Epoch 34, Loss: 42.83967208862305\n",
"Epoch 35, Loss: 42.68513488769531\n",
"Epoch 36, Loss: 42.53075408935547\n",
"Epoch 37, Loss: 42.37654495239258\n",
"Epoch 38, Loss: 42.22256851196289\n",
"Epoch 39, Loss: 42.06884765625\n",
"Epoch 40, Loss: 41.9154052734375\n",
"Epoch 41, Loss: 41.76228332519531\n",
"Epoch 42, Loss: 41.60950469970703\n",
"Epoch 43, Loss: 41.45708465576172\n",
"Epoch 44, Loss: 41.305049896240234\n",
"Epoch 45, Loss: 41.15340805053711\n",
"Epoch 46, Loss: 41.00218963623047\n",
"Epoch 47, Loss: 40.85139083862305\n",
"Epoch 48, Loss: 40.701045989990234\n",
"Epoch 49, Loss: 40.551143646240234\n",
"Epoch 50, Loss: 40.401710510253906\n",
"Epoch 51, Loss: 40.252742767333984\n",
"Epoch 52, Loss: 40.104248046875\n",
"Epoch 53, Loss: 39.95624542236328\n",
"Epoch 54, Loss: 39.80873107910156\n",
"Epoch 55, Loss: 39.66170883178711\n",
"Epoch 56, Loss: 39.515193939208984\n",
"Epoch 57, Loss: 39.36917495727539\n",
"Epoch 58, Loss: 39.22365951538086\n",
"Epoch 59, Loss: 39.07866287231445\n",
"Epoch 60, Loss: 38.93416976928711\n",
"Epoch 61, Loss: 38.790199279785156\n",
"Epoch 62, Loss: 38.646732330322266\n",
"Epoch 63, Loss: 38.503780364990234\n",
"Epoch 64, Loss: 38.36134719848633\n",
"Epoch 65, Loss: 38.219425201416016\n",
"Epoch 66, Loss: 38.07802200317383\n",
"Epoch 67, Loss: 37.9371337890625\n",
"Epoch 68, Loss: 37.79676055908203\n",
"Epoch 69, Loss: 37.65690231323242\n",
"Epoch 70, Loss: 37.5175666809082\n",
"Epoch 71, Loss: 37.37874221801758\n",
"Epoch 72, Loss: 37.24042510986328\n",
"Epoch 73, Loss: 37.10261917114258\n",
"Epoch 74, Loss: 36.965328216552734\n",
"Epoch 75, Loss: 36.828548431396484\n",
"Epoch 76, Loss: 36.69227600097656\n",
"Epoch 77, Loss: 36.55651092529297\n",
"Epoch 78, Loss: 36.4212532043457\n",
"Epoch 79, Loss: 36.2864990234375\n",
"Epoch 80, Loss: 36.15225601196289\n",
"Epoch 81, Loss: 36.01850509643555\n",
"Epoch 82, Loss: 35.88526153564453\n",
"Epoch 83, Loss: 35.75251007080078\n",
"Epoch 84, Loss: 35.620262145996094\n",
"Epoch 85, Loss: 35.48851013183594\n",
"Epoch 86, Loss: 35.357242584228516\n",
"Epoch 87, Loss: 35.226478576660156\n",
"Epoch 88, Loss: 35.0962028503418\n",
"Epoch 89, Loss: 34.96641540527344\n",
"Epoch 90, Loss: 34.83710861206055\n",
"Epoch 91, Loss: 34.70829391479492\n",
"Epoch 92, Loss: 34.5799674987793\n",
"Epoch 93, Loss: 34.45211410522461\n",
"Epoch 94, Loss: 34.32474899291992\n",
"Epoch 95, Loss: 34.19786071777344\n",
"Epoch 96, Loss: 34.071449279785156\n",
"Epoch 97, Loss: 33.94551086425781\n",
"Epoch 98, Loss: 33.82004928588867\n",
"Epoch 99, Loss: 33.69506072998047\n",
"Epoch 100, Loss: 33.5705451965332\n",
"Epoch 101, Loss: 33.44648361206055\n",
"Epoch 102, Loss: 33.32290267944336\n",
"Epoch 103, Loss: 33.199790954589844\n",
"Epoch 104, Loss: 33.07713317871094\n",
"Epoch 105, Loss: 32.95493698120117\n",
"Epoch 106, Loss: 32.83320236206055\n",
"Epoch 107, Loss: 32.71192932128906\n",
"Epoch 108, Loss: 32.59111022949219\n",
"Epoch 109, Loss: 32.47074890136719\n",
"Epoch 110, Loss: 32.350833892822266\n",
"Epoch 111, Loss: 32.23137664794922\n",
"Epoch 112, Loss: 32.112369537353516\n",
"Epoch 113, Loss: 31.993806838989258\n",
"Epoch 114, Loss: 31.875696182250977\n",
"Epoch 115, Loss: 31.758024215698242\n",
"Epoch 116, Loss: 31.64080047607422\n",
"Epoch 117, Loss: 31.524015426635742\n",
"Epoch 118, Loss: 31.407676696777344\n",
"Epoch 119, Loss: 31.291770935058594\n",
"Epoch 120, Loss: 31.17629623413086\n",
"Epoch 121, Loss: 31.061262130737305\n",
"Epoch 122, Loss: 30.9466609954834\n",
"Epoch 123, Loss: 30.832494735717773\n",
"Epoch 124, Loss: 30.718753814697266\n",
"Epoch 125, Loss: 30.605443954467773\n",
"Epoch 126, Loss: 30.4925594329834\n",
"Epoch 127, Loss: 30.380102157592773\n",
"Epoch 128, Loss: 30.268068313598633\n",
"Epoch 129, Loss: 30.156457901000977\n",
"Epoch 130, Loss: 30.045259475708008\n",
"Epoch 131, Loss: 29.93448829650879\n",
"Epoch 132, Loss: 29.82413101196289\n",
"Epoch 133, Loss: 29.71419334411621\n",
"Epoch 134, Loss: 29.60466766357422\n",
"Epoch 135, Loss: 29.495553970336914\n",
"Epoch 136, Loss: 29.38684844970703\n",
"Epoch 137, Loss: 29.278554916381836\n",
"Epoch 138, Loss: 29.17067527770996\n",
"Epoch 139, Loss: 29.06319808959961\n",
"Epoch 140, Loss: 28.956119537353516\n",
"Epoch 141, Loss: 28.849451065063477\n",
"Epoch 142, Loss: 28.743181228637695\n",
"Epoch 143, Loss: 28.637317657470703\n",
"Epoch 144, Loss: 28.53184700012207\n",
"Epoch 145, Loss: 28.426776885986328\n",
"Epoch 146, Loss: 28.322099685668945\n",
"Epoch 147, Loss: 28.217817306518555\n",
"Epoch 148, Loss: 28.11393165588379\n",
"Epoch 149, Loss: 28.01043128967285\n",
"Epoch 150, Loss: 27.907325744628906\n",
"Epoch 151, Loss: 27.804603576660156\n",
"Epoch 152, Loss: 27.702274322509766\n",
"Epoch 153, Loss: 27.60032844543457\n",
"Epoch 154, Loss: 27.498767852783203\n",
"Epoch 155, Loss: 27.397586822509766\n",
"Epoch 156, Loss: 27.296785354614258\n",
"Epoch 157, Loss: 27.196372985839844\n",
"Epoch 158, Loss: 27.096330642700195\n",
"Epoch 159, Loss: 26.996667861938477\n",
"Epoch 160, Loss: 26.89737892150879\n",
"Epoch 161, Loss: 26.798465728759766\n",
"Epoch 162, Loss: 26.699922561645508\n",
"Epoch 163, Loss: 26.60175323486328\n",
"Epoch 164, Loss: 26.503950119018555\n",
"Epoch 165, Loss: 26.406524658203125\n",
"Epoch 166, Loss: 26.30945587158203\n",
"Epoch 167, Loss: 26.212759017944336\n",
"Epoch 168, Loss: 26.116424560546875\n",
"Epoch 169, Loss: 26.02045249938965\n",
"Epoch 170, Loss: 25.92484474182129\n",
"Epoch 171, Loss: 25.8295955657959\n",
"Epoch 172, Loss: 25.734704971313477\n",
"Epoch 173, Loss: 25.640172958374023\n",
"Epoch 174, Loss: 25.545991897583008\n",
"Epoch 175, Loss: 25.45216941833496\n",
"Epoch 176, Loss: 25.35870361328125\n",
"Epoch 177, Loss: 25.265588760375977\n",
"Epoch 178, Loss: 25.172819137573242\n",
"Epoch 179, Loss: 25.080406188964844\n",
"Epoch 180, Loss: 24.98833656311035\n",
"Epoch 181, Loss: 24.8966121673584\n",
"Epoch 182, Loss: 24.80524253845215\n",
"Epoch 183, Loss: 24.71420669555664\n",
"Epoch 184, Loss: 24.62352180480957\n",
"Epoch 185, Loss: 24.533170700073242\n",
"Epoch 186, Loss: 24.44316864013672\n",
"Epoch 187, Loss: 24.35349464416504\n",
"Epoch 188, Loss: 24.264169692993164\n",
"Epoch 189, Loss: 24.17517852783203\n",
"Epoch 190, Loss: 24.086517333984375\n",
"Epoch 191, Loss: 23.99819564819336\n",
"Epoch 192, Loss: 23.910205841064453\n",
"Epoch 193, Loss: 23.822547912597656\n",
"Epoch 194, Loss: 23.73521614074707\n",
"Epoch 195, Loss: 23.648218154907227\n",
"Epoch 196, Loss: 23.56155014038086\n",
"Epoch 197, Loss: 23.47519874572754\n",
"Epoch 198, Loss: 23.389179229736328\n",
"Epoch 199, Loss: 23.303483963012695\n",
"Epoch 200, Loss: 23.218111038208008\n",
"Epoch 201, Loss: 23.133058547973633\n",
"Epoch 202, Loss: 23.04832649230957\n",
"Epoch 203, Loss: 22.963916778564453\n",
"Epoch 204, Loss: 22.879819869995117\n",
"Epoch 205, Loss: 22.79604148864746\n",
"Epoch 206, Loss: 22.712581634521484\n",
"Epoch 207, Loss: 22.62943458557129\n",
"Epoch 208, Loss: 22.546600341796875\n",
"Epoch 209, Loss: 22.464082717895508\n",
"Epoch 210, Loss: 22.381868362426758\n",
"Epoch 211, Loss: 22.299968719482422\n",
"Epoch 212, Loss: 22.218379974365234\n",
"Epoch 213, Loss: 22.137088775634766\n",
"Epoch 214, Loss: 22.056114196777344\n",
"Epoch 215, Loss: 21.975439071655273\n",
"Epoch 216, Loss: 21.895069122314453\n",
"Epoch 217, Loss: 21.815000534057617\n",
"Epoch 218, Loss: 21.7352352142334\n",
"Epoch 219, Loss: 21.655773162841797\n",
"Epoch 220, Loss: 21.57660484313965\n",
"Epoch 221, Loss: 21.49774169921875\n",
"Epoch 222, Loss: 21.419166564941406\n",
"Epoch 223, Loss: 21.34089469909668\n",
"Epoch 224, Loss: 21.262920379638672\n",
"Epoch 225, Loss: 21.185232162475586\n",
"Epoch 226, Loss: 21.107839584350586\n",
"Epoch 227, Loss: 21.030736923217773\n",
"Epoch 228, Loss: 20.953927993774414\n",
"Epoch 229, Loss: 20.87740707397461\n",
"Epoch 230, Loss: 20.80117416381836\n",
"Epoch 231, Loss: 20.72522735595703\n",
"Epoch 232, Loss: 20.649568557739258\n",
"Epoch 233, Loss: 20.57419204711914\n",
"Epoch 234, Loss: 20.499103546142578\n",
"Epoch 235, Loss: 20.424297332763672\n",
"Epoch 236, Loss: 20.349769592285156\n",
"Epoch 237, Loss: 20.27552604675293\n",
"Epoch 238, Loss: 20.20155906677246\n",
"Epoch 239, Loss: 20.127872467041016\n",
"Epoch 240, Loss: 20.05446434020996\n",
"Epoch 241, Loss: 19.981334686279297\n",
"Epoch 242, Loss: 19.908477783203125\n",
"Epoch 243, Loss: 19.835895538330078\n",
"Epoch 244, Loss: 19.76358413696289\n",
"Epoch 245, Loss: 19.69154930114746\n",
"Epoch 246, Loss: 19.619783401489258\n",
"Epoch 247, Loss: 19.548288345336914\n",
"Epoch 248, Loss: 19.47706413269043\n",
"Epoch 249, Loss: 19.406105041503906\n",
"Epoch 250, Loss: 19.335418701171875\n",
"Epoch 251, Loss: 19.26499366760254\n",
"Epoch 252, Loss: 19.194833755493164\n",
"Epoch 253, Loss: 19.124942779541016\n",
"Epoch 254, Loss: 19.055309295654297\n",
"Epoch 255, Loss: 18.985942840576172\n",
"Epoch 256, Loss: 18.91683578491211\n",
"Epoch 257, Loss: 18.847990036010742\n",
"Epoch 258, Loss: 18.77940559387207\n",
"Epoch 259, Loss: 18.711078643798828\n",
"Epoch 260, Loss: 18.64300537109375\n",
"Epoch 261, Loss: 18.5751895904541\n",
"Epoch 262, Loss: 18.50762939453125\n",
"Epoch 263, Loss: 18.440326690673828\n",
"Epoch 264, Loss: 18.373273849487305\n",
"Epoch 265, Loss: 18.30647850036621\n",
"Epoch 266, Loss: 18.23992919921875\n",
"Epoch 267, Loss: 18.173635482788086\n",
"Epoch 268, Loss: 18.107585906982422\n",
"Epoch 269, Loss: 18.041791915893555\n",
"Epoch 270, Loss: 17.97624397277832\n",
"Epoch 271, Loss: 17.910938262939453\n",
"Epoch 272, Loss: 17.84587860107422\n",
"Epoch 273, Loss: 17.781070709228516\n",
"Epoch 274, Loss: 17.716503143310547\n",
"Epoch 275, Loss: 17.652179718017578\n",
"Epoch 276, Loss: 17.58810043334961\n",
"Epoch 277, Loss: 17.524261474609375\n",
"Epoch 278, Loss: 17.460657119750977\n",
"Epoch 279, Loss: 17.39729881286621\n",
"Epoch 280, Loss: 17.33417510986328\n",
"Epoch 281, Loss: 17.27129554748535\n",
"Epoch 282, Loss: 17.208646774291992\n",
"Epoch 283, Loss: 17.146238327026367\n",
"Epoch 284, Loss: 17.08405876159668\n",
"Epoch 285, Loss: 17.02212142944336\n",
"Epoch 286, Loss: 16.960412979125977\n",
"Epoch 287, Loss: 16.898937225341797\n",
"Epoch 288, Loss: 16.837696075439453\n",
"Epoch 289, Loss: 16.776681900024414\n",
"Epoch 290, Loss: 16.715898513793945\n",
"Epoch 291, Loss: 16.655344009399414\n",
"Epoch 292, Loss: 16.595020294189453\n",
"Epoch 293, Loss: 16.534921646118164\n",
"Epoch 294, Loss: 16.475046157836914\n",
"Epoch 295, Loss: 16.4153995513916\n",
"Epoch 296, Loss: 16.35597801208496\n",
"Epoch 297, Loss: 16.296781539916992\n",
"Epoch 298, Loss: 16.237804412841797\n",
"Epoch 299, Loss: 16.179054260253906\n",
"Epoch 300, Loss: 16.12052345275879\n",
"Epoch 301, Loss: 16.062211990356445\n",
"Epoch 302, Loss: 16.004117965698242\n",
"Epoch 303, Loss: 15.946245193481445\n",
"Epoch 304, Loss: 15.888594627380371\n",
"Epoch 305, Loss: 15.831155776977539\n",
"Epoch 306, Loss: 15.77393627166748\n",
"Epoch 307, Loss: 15.71692943572998\n",
"Epoch 308, Loss: 15.660139083862305\n",
"Epoch 309, Loss: 15.603562355041504\n",
"Epoch 310, Loss: 15.547200202941895\n",
"Epoch 311, Loss: 15.491046905517578\n",
"Epoch 312, Loss: 15.43510913848877\n",
"Epoch 313, Loss: 15.379379272460938\n",
"Epoch 314, Loss: 15.32386302947998\n",
"Epoch 315, Loss: 15.26855182647705\n",
"Epoch 316, Loss: 15.213452339172363\n",
"Epoch 317, Loss: 15.15855884552002\n",
"Epoch 318, Loss: 15.10387134552002\n",
"Epoch 319, Loss: 15.049391746520996\n",
"Epoch 320, Loss: 14.995116233825684\n",
"Epoch 321, Loss: 14.941041946411133\n",
"Epoch 322, Loss: 14.887176513671875\n",
"Epoch 323, Loss: 14.833512306213379\n",
"Epoch 324, Loss: 14.780049324035645\n",
"Epoch 325, Loss: 14.726792335510254\n",
"Epoch 326, Loss: 14.67372989654541\n",
"Epoch 327, Loss: 14.620871543884277\n",
"Epoch 328, Loss: 14.568208694458008\n",
"Epoch 329, Loss: 14.515746116638184\n",
"Epoch 330, Loss: 14.463484764099121\n",
"Epoch 331, Loss: 14.41141414642334\n",
"Epoch 332, Loss: 14.35954475402832\n",
"Epoch 333, Loss: 14.30786418914795\n",
"Epoch 334, Loss: 14.256383895874023\n",
"Epoch 335, Loss: 14.205097198486328\n",
"Epoch 336, Loss: 14.154003143310547\n",
"Epoch 337, Loss: 14.103100776672363\n",
"Epoch 338, Loss: 14.052389144897461\n",
"Epoch 339, Loss: 14.001873016357422\n",
"Epoch 340, Loss: 13.951542854309082\n",
"Epoch 341, Loss: 13.901403427124023\n",
"Epoch 342, Loss: 13.851452827453613\n",
"Epoch 343, Loss: 13.801692008972168\n",
"Epoch 344, Loss: 13.752116203308105\n",
"Epoch 345, Loss: 13.702729225158691\n",
"Epoch 346, Loss: 13.65352725982666\n",
"Epoch 347, Loss: 13.604512214660645\n",
"Epoch 348, Loss: 13.555682182312012\n",
"Epoch 349, Loss: 13.50702953338623\n",
"Epoch 350, Loss: 13.45856761932373\n",
"Epoch 351, Loss: 13.410286903381348\n",
"Epoch 352, Loss: 13.362186431884766\n",
"Epoch 353, Loss: 13.314266204833984\n",
"Epoch 354, Loss: 13.26652717590332\n",
"Epoch 355, Loss: 13.218972206115723\n",
"Epoch 356, Loss: 13.171588897705078\n",
"Epoch 357, Loss: 13.124390602111816\n",
"Epoch 358, Loss: 13.077366828918457\n",
"Epoch 359, Loss: 13.030521392822266\n",
"Epoch 360, Loss: 12.983851432800293\n",
"Epoch 361, Loss: 12.937359809875488\n",
"Epoch 362, Loss: 12.891043663024902\n",
"Epoch 363, Loss: 12.844895362854004\n",
"Epoch 364, Loss: 12.798928260803223\n",
"Epoch 365, Loss: 12.753133773803711\n",
"Epoch 366, Loss: 12.707507133483887\n",
"Epoch 367, Loss: 12.662055015563965\n",
"Epoch 368, Loss: 12.616774559020996\n",
"Epoch 369, Loss: 12.571664810180664\n",
"Epoch 370, Loss: 12.526723861694336\n",
"Epoch 371, Loss: 12.481949806213379\n",
"Epoch 372, Loss: 12.437348365783691\n",
"Epoch 373, Loss: 12.392916679382324\n",
"Epoch 374, Loss: 12.348648071289062\n",
"Epoch 375, Loss: 12.304547309875488\n",
"Epoch 376, Loss: 12.260616302490234\n",
"Epoch 377, Loss: 12.216845512390137\n",
"Epoch 378, Loss: 12.173242568969727\n",
"Epoch 379, Loss: 12.129802703857422\n",
"Epoch 380, Loss: 12.086525917053223\n",
"Epoch 381, Loss: 12.043412208557129\n",
"Epoch 382, Loss: 12.00046443939209\n",
"Epoch 383, Loss: 11.95767593383789\n",
"Epoch 384, Loss: 11.91504955291748\n",
"Epoch 385, Loss: 11.872584342956543\n",
"Epoch 386, Loss: 11.830276489257812\n",
"Epoch 387, Loss: 11.788128852844238\n",
"Epoch 388, Loss: 11.74614143371582\n",
"Epoch 389, Loss: 11.704310417175293\n",
"Epoch 390, Loss: 11.662637710571289\n",
"Epoch 391, Loss: 11.62112045288086\n",
"Epoch 392, Loss: 11.57976245880127\n",
"Epoch 393, Loss: 11.53856086730957\n",
"Epoch 394, Loss: 11.497511863708496\n",
"Epoch 395, Loss: 11.456618309020996\n",
"Epoch 396, Loss: 11.415877342224121\n",
"Epoch 397, Loss: 11.375290870666504\n",
"Epoch 398, Loss: 11.334859848022461\n",
"Epoch 399, Loss: 11.29457950592041\n",
"Epoch 400, Loss: 11.254451751708984\n",
"Epoch 401, Loss: 11.214471817016602\n",
"Epoch 402, Loss: 11.174643516540527\n",
"Epoch 403, Loss: 11.134966850280762\n",
"Epoch 404, Loss: 11.095440864562988\n",
"Epoch 405, Loss: 11.056061744689941\n",
"Epoch 406, Loss: 11.016830444335938\n",
"Epoch 407, Loss: 10.977749824523926\n",
"Epoch 408, Loss: 10.938813209533691\n",
"Epoch 409, Loss: 10.9000244140625\n",
"Epoch 410, Loss: 10.861380577087402\n",
"Epoch 411, Loss: 10.822884559631348\n",
"Epoch 412, Loss: 10.78453254699707\n",
"Epoch 413, Loss: 10.74632740020752\n",
"Epoch 414, Loss: 10.70826244354248\n",
"Epoch 415, Loss: 10.670343399047852\n",
"Epoch 416, Loss: 10.63256549835205\n",
"Epoch 417, Loss: 10.59493350982666\n",
"Epoch 418, Loss: 10.557437896728516\n",
"Epoch 419, Loss: 10.520085334777832\n",
"Epoch 420, Loss: 10.482876777648926\n",
"Epoch 421, Loss: 10.445805549621582\n",
"Epoch 422, Loss: 10.408872604370117\n",
"Epoch 423, Loss: 10.372082710266113\n",
"Epoch 424, Loss: 10.335428237915039\n",
"Epoch 425, Loss: 10.29891300201416\n",
"Epoch 426, Loss: 10.262533187866211\n",
"Epoch 427, Loss: 10.226293563842773\n",
"Epoch 428, Loss: 10.190189361572266\n",
"Epoch 429, Loss: 10.154221534729004\n",
"Epoch 430, Loss: 10.118389129638672\n",
"Epoch 431, Loss: 10.08269214630127\n",
"Epoch 432, Loss: 10.04712963104248\n",
"Epoch 433, Loss: 10.011701583862305\n",
"Epoch 434, Loss: 9.976404190063477\n",
"Epoch 435, Loss: 9.941242218017578\n",
"Epoch 436, Loss: 9.906213760375977\n",
"Epoch 437, Loss: 9.871312141418457\n",
"Epoch 438, Loss: 9.8365478515625\n",
"Epoch 439, Loss: 9.801911354064941\n",
"Epoch 440, Loss: 9.767406463623047\n",
"Epoch 441, Loss: 9.7330322265625\n",
"Epoch 442, Loss: 9.698782920837402\n",
"Epoch 443, Loss: 9.66466999053955\n",
"Epoch 444, Loss: 9.630680084228516\n",
"Epoch 445, Loss: 9.596821784973145\n",
"Epoch 446, Loss: 9.563085556030273\n",
"Epoch 447, Loss: 9.529481887817383\n",
"Epoch 448, Loss: 9.496004104614258\n",
"Epoch 449, Loss: 9.462651252746582\n",
"Epoch 450, Loss: 9.429425239562988\n",
"Epoch 451, Loss: 9.396322250366211\n",
"Epoch 452, Loss: 9.363343238830566\n",
"Epoch 453, Loss: 9.330492973327637\n",
"Epoch 454, Loss: 9.297761917114258\n",
"Epoch 455, Loss: 9.265155792236328\n",
"Epoch 456, Loss: 9.232675552368164\n",
"Epoch 457, Loss: 9.200313568115234\n",
"Epoch 458, Loss: 9.168072700500488\n",
"Epoch 459, Loss: 9.135957717895508\n",
"Epoch 460, Loss: 9.103960990905762\n",
"Epoch 461, Loss: 9.0720853805542\n",
"Epoch 462, Loss: 9.040329933166504\n",
"Epoch 463, Loss: 9.008692741394043\n",
"Epoch 464, Loss: 8.977176666259766\n",
"Epoch 465, Loss: 8.945779800415039\n",
"Epoch 466, Loss: 8.914501190185547\n",
"Epoch 467, Loss: 8.883337020874023\n",
"Epoch 468, Loss: 8.852293014526367\n",
"Epoch 469, Loss: 8.821365356445312\n",
"Epoch 470, Loss: 8.79055404663086\n",
"Epoch 471, Loss: 8.759859085083008\n",
"Epoch 472, Loss: 8.729279518127441\n",
"Epoch 473, Loss: 8.698817253112793\n",
"Epoch 474, Loss: 8.668466567993164\n",
"Epoch 475, Loss: 8.63823413848877\n",
"Epoch 476, Loss: 8.608112335205078\n",
"Epoch 477, Loss: 8.578104019165039\n",
"Epoch 478, Loss: 8.548209190368652\n",
"Epoch 479, Loss: 8.518428802490234\n",
"Epoch 480, Loss: 8.488758087158203\n",
"Epoch 481, Loss: 8.459199905395508\n",
"Epoch 482, Loss: 8.429753303527832\n",
"Epoch 483, Loss: 8.400418281555176\n",
"Epoch 484, Loss: 8.371193885803223\n",
"Epoch 485, Loss: 8.342079162597656\n",
"Epoch 486, Loss: 8.31307315826416\n",
"Epoch 487, Loss: 8.284175872802734\n",
"Epoch 488, Loss: 8.255391120910645\n",
"Epoch 489, Loss: 8.22671127319336\n",
"Epoch 490, Loss: 8.198140144348145\n",
"Epoch 491, Loss: 8.169678688049316\n",
"Epoch 492, Loss: 8.141321182250977\n",
"Epoch 493, Loss: 8.11307430267334\n",
"Epoch 494, Loss: 8.084931373596191\n",
"Epoch 495, Loss: 8.056894302368164\n",
"Epoch 496, Loss: 8.028964042663574\n",
"Epoch 497, Loss: 8.001137733459473\n",
"Epoch 498, Loss: 7.973416805267334\n",
"Epoch 499, Loss: 7.94580078125\n"
]
}
],
"execution_count": 7
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:05:30.351053Z",
"start_time": "2025-06-24T12:05:14.172644Z"
}
},
"cell_type": "code",
"source": "!pip install visdom",
"id": "c15dae5a5c994ff1",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting visdom\r\n",
" Downloading visdom-0.2.4.tar.gz (1.4 MB)\r\n",
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m1.4/1.4 MB\u001B[0m \u001B[31m3.8 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n",
"\u001B[?25h Preparing metadata (setup.py) ... \u001B[?25ldone\r\n",
"\u001B[?25hRequirement already satisfied: numpy>=1.8 in /opt/conda/lib/python3.10/site-packages (from visdom) (1.26.3)\r\n",
"Collecting scipy (from visdom)\r\n",
" Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\r\n",
"Requirement already satisfied: requests in /opt/conda/lib/python3.10/site-packages (from visdom) (2.31.0)\r\n",
"Requirement already satisfied: tornado in /opt/conda/lib/python3.10/site-packages (from visdom) (6.5.1)\r\n",
"Requirement already satisfied: six in /opt/conda/lib/python3.10/site-packages (from visdom) (1.16.0)\r\n",
"Requirement already satisfied: jsonpatch in /opt/conda/lib/python3.10/site-packages (from visdom) (1.32)\r\n",
"Requirement already satisfied: websocket-client in /opt/conda/lib/python3.10/site-packages (from visdom) (1.8.0)\r\n",
"Requirement already satisfied: networkx in /opt/conda/lib/python3.10/site-packages (from visdom) (3.1)\r\n",
"Requirement already satisfied: pillow in /opt/conda/lib/python3.10/site-packages (from visdom) (10.2.0)\r\n",
"Requirement already satisfied: jsonpointer>=1.9 in /opt/conda/lib/python3.10/site-packages (from jsonpatch->visdom) (2.1)\r\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2.0.4)\r\n",
"Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (3.4)\r\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2.1.0)\r\n",
"Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2024.2.2)\r\n",
"Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.7 MB)\r\n",
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m37.7/37.7 MB\u001B[0m \u001B[31m6.3 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m00:01\u001B[0m00:01\u001B[0m\r\n",
"\u001B[?25hBuilding wheels for collected packages: visdom\r\n",
"\u001B[33m DEPRECATION: Building 'visdom' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'visdom'. Discussion can be found at https://github.com/pypa/pip/issues/6334\u001B[0m\u001B[33m\r\n",
"\u001B[0m Building wheel for visdom (setup.py) ... \u001B[?25ldone\r\n",
"\u001B[?25h Created wheel for visdom: filename=visdom-0.2.4-py3-none-any.whl size=1408194 sha256=ac4a41963386402b0b7026649cfe03640129a6763c260f6d33e0591afc354b68\r\n",
" Stored in directory: /root/.cache/pip/wheels/42/29/49/5bed207bac4578e4d2c0c5fc0226bfd33a7e2953ea56356855\r\n",
"Successfully built visdom\r\n",
"Installing collected packages: scipy, visdom\r\n",
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2/2\u001B[0m [visdom]\r\n",
"\u001B[1A\u001B[2KSuccessfully installed scipy-1.15.3 visdom-0.2.4\r\n",
"\u001B[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001B[0m\u001B[33m\r\n",
"\u001B[0m"
]
}
],
"execution_count": 8
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:32:27.272951Z",
"start_time": "2025-06-24T12:32:27.260914Z"
}
},
"cell_type": "code",
"source": [
"import subprocess\n",
"\n",
"# 启动 visdom 服务\n",
"subprocess.Popen([\"visdom\", \"--host\", \"0.0.0.0\"])"
],
"id": "e02f8d6a2b1eb39a",
"outputs": [
{
"data": {
"text/plain": [
"<Popen: returncode: None args: ['visdom', '--host', '0.0.0.0']>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 21
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:32:46.766514Z",
"start_time": "2025-06-24T12:32:36.056568Z"
}
},
"cell_type": "code",
"source": [
"from visdom import Visdom\n",
"import numpy as np\n",
"import time\n",
"\n",
"# 将窗口类实例化\n",
"viz = Visdom()\n",
"# 创建窗口并实例化\n",
"viz.line([0.], [0], win='train_loss', opts=dict(title='Loss', xlabel='Epoch', ylabel='Loss'))\n",
"\n",
"for epoch in range(100):\n",
" # 模拟损失值\n",
" loss = 0.2 * np.random.random() + 1\n",
"\n",
" # 更新窗口\n",
" viz.line([loss], [epoch], win='train_loss', update='append')\n",
"\n",
" # 打印损失\n",
" # print(f'Epoch {epoch}, Loss: {loss}')\n",
"\n",
" # 模拟训练时间\n",
" time.sleep(0.1)\n",
"\n",
"img = np.zeros((3, 100, 100))\n",
"img[0] = np.arange(0, 10000).reshape(100, 100) / 10000\n",
"img[1] = np.arange(0, 10000).reshape(100, 100) / 10000\n",
"\n",
"# 可视化图像\n",
"viz.image(img, win='my_image', opts=dict(title='My Image'))"
],
"id": "e25e293885967efc",
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Setting up a new session...\n",
"INFO:tornado.access:200 POST /env/main (::1) 0.42ms\n",
"INFO:tornado.access:101 GET /vis_socket (::1) 0.52ms\n",
"INFO:root:Opened visdom socket from ip: ::1\n",
"INFO:tornado.access:200 POST /events (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.77ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.14ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.08ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.21ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.89ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.02ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.00ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.81ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.90ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.96ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.24ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.21ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.26ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.16ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.28ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.36ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.10ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.96ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.96ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.44ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.26ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.63ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.30ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.04ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.01ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.23ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.12ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.23ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.12ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.09ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.24ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.05ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.34ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.95ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.33ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.26ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.11ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.49ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.65ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.08ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.74ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.28ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.81ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.79ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.39ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.28ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.99ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /events (::1) 1.41ms\n"
]
},
{
"data": {
"text/plain": [
"'my_image'"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 22
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-24T12:40:19.230624Z",
"start_time": "2025-06-24T12:40:15.382195Z"
}
},
"cell_type": "code",
"source": [
"# Visdom\n",
"from visdom import Visdom\n",
"import numpy as np\n",
"\n",
"# 训练\n",
"model = LinearModel()\n",
"optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, weight_decay=1e-2, momentum=0.9)\n",
"y_train = torch.tensor(y_train, dtype=torch.float32)\n",
"\n",
"# 实例化一个窗口\n",
"viz = Visdom()\n",
"# 创建窗口并实例化\n",
"viz.line([0.], [0], win='train_loss', opts=dict(title='Loss', xlabel='Epoch', ylabel='Loss'))\n",
"\n",
"for epoch in range(500):\n",
" input = torch.from_numpy(x_train)\n",
" out = model(input)\n",
" loss = nn.MSELoss()(out, y_train)\n",
" model.zero_grad()\n",
" loss.backward()\n",
" optimizer.step()\n",
" # 打印损失\n",
" # print(f'Epoch {epoch}, Loss: {loss.item()}')\n",
"\n",
" # 记录损失\n",
" viz.line([loss.item()], [epoch], win='train_loss', update='append')"
],
"id": "de57a336ab346864",
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_15/2491798258.py:8: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
" y_train = torch.tensor(y_train, dtype=torch.float32)\n",
"Setting up a new session...\n",
"INFO:tornado.access:200 POST /env/main (::1) 0.57ms\n",
"INFO:tornado.access:101 GET /vis_socket (::1) 0.57ms\n",
"INFO:root:Opened visdom socket from ip: ::1\n",
"INFO:tornado.access:200 POST /events (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.01ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.08ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.26ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.72ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.49ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.66ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.86ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.05ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.92ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.55ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.21ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.69ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.96ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.49ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.75ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.93ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.75ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.54ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.15ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.92ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.33ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.61ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.90ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.49ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.73ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.61ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.86ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.23ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.01ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.00ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.90ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.75ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.88ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.04ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.39ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.09ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.66ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.08ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.28ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.05ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.56ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.53ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.54ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.49ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.34ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 0.95ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.24ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.31ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.56ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.30ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.31ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.28ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.62ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.00ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.30ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.75ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.09ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.34ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.23ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.53ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.39ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.60ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.48ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.24ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.46ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.32ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.86ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.09ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.15ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.29ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.44ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.25ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.29ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.15ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.30ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.78ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.77ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.44ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.44ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.27ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.32ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.60ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.29ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.31ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.27ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.32ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.80ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.53ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.30ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.56ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.30ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.73ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.31ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.83ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.53ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.80ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.34ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.53ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.92ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.18ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.80ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.91ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.74ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.63ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.23ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.03ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.01ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.99ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.88ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.74ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.17ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.61ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.62ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.88ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.61ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.64ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.66ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.63ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.74ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.75ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.05ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.96ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.88ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.79ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.86ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.80ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.86ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.91ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.68ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.21ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.76ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.38ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.63ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.20ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.13ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.66ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.32ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.04ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.72ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.81ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.78ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.15ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.88ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.98ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.74ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.33ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.29ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.30ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.61ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.33ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.05ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.24ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.74ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.93ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.39ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.05ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.84ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.25ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.66ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.20ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.94ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.36ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.94ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.31ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.88ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.98ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.22ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.84ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 11.10ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.84ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.73ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.82ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.16ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.81ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 5.77ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 6.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 3.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 5.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.33ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.66ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.26ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.49ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.76ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.71ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.14ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.62ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.48ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.49ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.05ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.01ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.76ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.73ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.37ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.04ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.94ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.94ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.74ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.90ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.62ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.65ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.25ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.44ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.15ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.35ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.66ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.88ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.74ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.10ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.28ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.95ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.67ms\n",
"INFO:tornado.access:200 POST /update (::1) 6.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.71ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.90ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.59ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.61ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.28ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.97ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.58ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.42ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.56ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.46ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.69ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.19ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.69ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.62ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.11ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.26ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.61ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.63ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.64ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.18ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.00ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.15ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.93ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.92ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.89ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.94ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.89ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.50ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.24ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.30ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.23ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.59ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.08ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.94ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /update (::1) 1.97ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.39ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.14ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.22ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.54ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.31ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.60ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.01ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.89ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.28ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.68ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.63ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.04ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.79ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.27ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.75ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.21ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.82ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 1.08ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.81ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.19ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.33ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.33ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.00ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.51ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.67ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.45ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.91ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.83ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.51ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.57ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.29ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.76ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.73ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.98ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.76ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.90ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.63ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.24ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.47ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.77ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 3.30ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.62ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.56ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.56ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.59ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.35ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.27ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.72ms\n",
"INFO:tornado.access:200 POST /update (::1) 4.74ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.57ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.86ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.67ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.48ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 3.04ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.57ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.78ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.20ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.54ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.38ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.75ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.18ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.68ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.87ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.53ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.38ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.47ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.16ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.01ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.00ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.71ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.72ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.52ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.68ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.35ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.32ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.36ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.02ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.48ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.37ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.41ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.70ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.48ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.43ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.65ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.29ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.72ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.54ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.90ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.11ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.12ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.40ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.39ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.49ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.42ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.88ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.72ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.24ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.36ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.55ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.65ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.49ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.17ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.58ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.61ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.44ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.94ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.52ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.06ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.42ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.80ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.46ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms\n",
"INFO:tornado.access:200 POST /update (::1) 3.15ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.43ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.85ms\n",
"INFO:tornado.access:200 POST /win_exists (::1) 0.45ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms\n",
"INFO:tornado.access:200 POST /update (::1) 2.09ms\n",
"INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms\n"
]
}
],
"execution_count": 23
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}