Files
pytorch-study/15.ipynb

135 KiB

In [ ]:
from numpy.conftest import dtype
!pip install tensorboard
In [1]:
%load_ext tensorboard
%tensorboard --logdir runs --host 0.0.0.0 --port 6006
<script> (function() { const frame = document.getElementById("tensorboard-frame-e2d2c2813765bfcb"); const url = new URL("/", window.location); const port = 6006; if (port) { url.port = port; } frame.src = url; })(); </script>
In [2]:
from torch.utils.tensorboard import SummaryWriter
import numpy as np

# 创建一个SummaryWriter对象
writer = SummaryWriter()

for n_iter in range(100):
    writer.add_scalar('Loss/train', np.random.random(), n_iter)
    writer.add_scalar('Loss/test', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/test', np.random.random(), n_iter)

img = np.zeros((3, 100, 100))
img[0] = np.arange(0, 10000).reshape(100, 100) / 10000
img[1] = np.arange(0, 10000).reshape(100, 100) / 10000

writer.add_image('my_image', img, 0)
writer.close()
In [5]:
import random
import numpy as np
import torch
from torch import nn


# 模型定义
class LinearModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.weight = nn.Parameter(torch.randn(1))
        self.bias = nn.Parameter(torch.randn(1))

    def forward(self, input):
        return (input * self.weight) + self.bias


# 数据
w = 2
b = 3
xlim = [-10, 10]
x_train = np.random.randint(xlim[0], xlim[1], size=30)
y_train = [w * x + b + random.randint(0, 2) for x in x_train]
In [7]:
from torch.utils.tensorboard import SummaryWriter

# 训练
model = LinearModel()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, weight_decay=1e-4, momentum=0.9)
y_train = torch.tensor(y_train, dtype=torch.float32)

writer = SummaryWriter()

for epoch in range(500):
    input = torch.from_numpy(x_train)
    out = model(input)
    loss = nn.MSELoss()(out, y_train)
    model.zero_grad()
    loss.backward()
    optimizer.step()
    # 打印损失
    print(f'Epoch {epoch}, Loss: {loss.item()}')

    # 记录损失
    writer.add_scalar('Loss/train', loss, epoch)
/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).
  y_train = torch.tensor(y_train, dtype=torch.float32)
Epoch 0, Loss: 47.03325271606445
Epoch 1, Loss: 47.01589584350586
Epoch 2, Loss: 46.98295593261719
Epoch 3, Loss: 46.93598556518555
Epoch 4, Loss: 46.87645721435547
Epoch 5, Loss: 46.80564880371094
Epoch 6, Loss: 46.724754333496094
Epoch 7, Loss: 46.63483810424805
Epoch 8, Loss: 46.53687286376953
Epoch 9, Loss: 46.43171310424805
Epoch 10, Loss: 46.32015609741211
Epoch 11, Loss: 46.20289993286133
Epoch 12, Loss: 46.08058166503906
Epoch 13, Loss: 45.95378494262695
Epoch 14, Loss: 45.8230094909668
Epoch 15, Loss: 45.68872833251953
Epoch 16, Loss: 45.55135726928711
Epoch 17, Loss: 45.411277770996094
Epoch 18, Loss: 45.26881790161133
Epoch 19, Loss: 45.12428283691406
Epoch 20, Loss: 44.97793960571289
Epoch 21, Loss: 44.830039978027344
Epoch 22, Loss: 44.68079376220703
Epoch 23, Loss: 44.5303955078125
Epoch 24, Loss: 44.379024505615234
Epoch 25, Loss: 44.22684860229492
Epoch 26, Loss: 44.07398986816406
Epoch 27, Loss: 43.920589447021484
Epoch 28, Loss: 43.76675033569336
Epoch 29, Loss: 43.61259078979492
Epoch 30, Loss: 43.45817565917969
Epoch 31, Loss: 43.30360794067383
Epoch 32, Loss: 43.14896774291992
Epoch 33, Loss: 42.99429702758789
Epoch 34, Loss: 42.83967208862305
Epoch 35, Loss: 42.68513488769531
Epoch 36, Loss: 42.53075408935547
Epoch 37, Loss: 42.37654495239258
Epoch 38, Loss: 42.22256851196289
Epoch 39, Loss: 42.06884765625
Epoch 40, Loss: 41.9154052734375
Epoch 41, Loss: 41.76228332519531
Epoch 42, Loss: 41.60950469970703
Epoch 43, Loss: 41.45708465576172
Epoch 44, Loss: 41.305049896240234
Epoch 45, Loss: 41.15340805053711
Epoch 46, Loss: 41.00218963623047
Epoch 47, Loss: 40.85139083862305
Epoch 48, Loss: 40.701045989990234
Epoch 49, Loss: 40.551143646240234
Epoch 50, Loss: 40.401710510253906
Epoch 51, Loss: 40.252742767333984
Epoch 52, Loss: 40.104248046875
Epoch 53, Loss: 39.95624542236328
Epoch 54, Loss: 39.80873107910156
Epoch 55, Loss: 39.66170883178711
Epoch 56, Loss: 39.515193939208984
Epoch 57, Loss: 39.36917495727539
Epoch 58, Loss: 39.22365951538086
Epoch 59, Loss: 39.07866287231445
Epoch 60, Loss: 38.93416976928711
Epoch 61, Loss: 38.790199279785156
Epoch 62, Loss: 38.646732330322266
Epoch 63, Loss: 38.503780364990234
Epoch 64, Loss: 38.36134719848633
Epoch 65, Loss: 38.219425201416016
Epoch 66, Loss: 38.07802200317383
Epoch 67, Loss: 37.9371337890625
Epoch 68, Loss: 37.79676055908203
Epoch 69, Loss: 37.65690231323242
Epoch 70, Loss: 37.5175666809082
Epoch 71, Loss: 37.37874221801758
Epoch 72, Loss: 37.24042510986328
Epoch 73, Loss: 37.10261917114258
Epoch 74, Loss: 36.965328216552734
Epoch 75, Loss: 36.828548431396484
Epoch 76, Loss: 36.69227600097656
Epoch 77, Loss: 36.55651092529297
Epoch 78, Loss: 36.4212532043457
Epoch 79, Loss: 36.2864990234375
Epoch 80, Loss: 36.15225601196289
Epoch 81, Loss: 36.01850509643555
Epoch 82, Loss: 35.88526153564453
Epoch 83, Loss: 35.75251007080078
Epoch 84, Loss: 35.620262145996094
Epoch 85, Loss: 35.48851013183594
Epoch 86, Loss: 35.357242584228516
Epoch 87, Loss: 35.226478576660156
Epoch 88, Loss: 35.0962028503418
Epoch 89, Loss: 34.96641540527344
Epoch 90, Loss: 34.83710861206055
Epoch 91, Loss: 34.70829391479492
Epoch 92, Loss: 34.5799674987793
Epoch 93, Loss: 34.45211410522461
Epoch 94, Loss: 34.32474899291992
Epoch 95, Loss: 34.19786071777344
Epoch 96, Loss: 34.071449279785156
Epoch 97, Loss: 33.94551086425781
Epoch 98, Loss: 33.82004928588867
Epoch 99, Loss: 33.69506072998047
Epoch 100, Loss: 33.5705451965332
Epoch 101, Loss: 33.44648361206055
Epoch 102, Loss: 33.32290267944336
Epoch 103, Loss: 33.199790954589844
Epoch 104, Loss: 33.07713317871094
Epoch 105, Loss: 32.95493698120117
Epoch 106, Loss: 32.83320236206055
Epoch 107, Loss: 32.71192932128906
Epoch 108, Loss: 32.59111022949219
Epoch 109, Loss: 32.47074890136719
Epoch 110, Loss: 32.350833892822266
Epoch 111, Loss: 32.23137664794922
Epoch 112, Loss: 32.112369537353516
Epoch 113, Loss: 31.993806838989258
Epoch 114, Loss: 31.875696182250977
Epoch 115, Loss: 31.758024215698242
Epoch 116, Loss: 31.64080047607422
Epoch 117, Loss: 31.524015426635742
Epoch 118, Loss: 31.407676696777344
Epoch 119, Loss: 31.291770935058594
Epoch 120, Loss: 31.17629623413086
Epoch 121, Loss: 31.061262130737305
Epoch 122, Loss: 30.9466609954834
Epoch 123, Loss: 30.832494735717773
Epoch 124, Loss: 30.718753814697266
Epoch 125, Loss: 30.605443954467773
Epoch 126, Loss: 30.4925594329834
Epoch 127, Loss: 30.380102157592773
Epoch 128, Loss: 30.268068313598633
Epoch 129, Loss: 30.156457901000977
Epoch 130, Loss: 30.045259475708008
Epoch 131, Loss: 29.93448829650879
Epoch 132, Loss: 29.82413101196289
Epoch 133, Loss: 29.71419334411621
Epoch 134, Loss: 29.60466766357422
Epoch 135, Loss: 29.495553970336914
Epoch 136, Loss: 29.38684844970703
Epoch 137, Loss: 29.278554916381836
Epoch 138, Loss: 29.17067527770996
Epoch 139, Loss: 29.06319808959961
Epoch 140, Loss: 28.956119537353516
Epoch 141, Loss: 28.849451065063477
Epoch 142, Loss: 28.743181228637695
Epoch 143, Loss: 28.637317657470703
Epoch 144, Loss: 28.53184700012207
Epoch 145, Loss: 28.426776885986328
Epoch 146, Loss: 28.322099685668945
Epoch 147, Loss: 28.217817306518555
Epoch 148, Loss: 28.11393165588379
Epoch 149, Loss: 28.01043128967285
Epoch 150, Loss: 27.907325744628906
Epoch 151, Loss: 27.804603576660156
Epoch 152, Loss: 27.702274322509766
Epoch 153, Loss: 27.60032844543457
Epoch 154, Loss: 27.498767852783203
Epoch 155, Loss: 27.397586822509766
Epoch 156, Loss: 27.296785354614258
Epoch 157, Loss: 27.196372985839844
Epoch 158, Loss: 27.096330642700195
Epoch 159, Loss: 26.996667861938477
Epoch 160, Loss: 26.89737892150879
Epoch 161, Loss: 26.798465728759766
Epoch 162, Loss: 26.699922561645508
Epoch 163, Loss: 26.60175323486328
Epoch 164, Loss: 26.503950119018555
Epoch 165, Loss: 26.406524658203125
Epoch 166, Loss: 26.30945587158203
Epoch 167, Loss: 26.212759017944336
Epoch 168, Loss: 26.116424560546875
Epoch 169, Loss: 26.02045249938965
Epoch 170, Loss: 25.92484474182129
Epoch 171, Loss: 25.8295955657959
Epoch 172, Loss: 25.734704971313477
Epoch 173, Loss: 25.640172958374023
Epoch 174, Loss: 25.545991897583008
Epoch 175, Loss: 25.45216941833496
Epoch 176, Loss: 25.35870361328125
Epoch 177, Loss: 25.265588760375977
Epoch 178, Loss: 25.172819137573242
Epoch 179, Loss: 25.080406188964844
Epoch 180, Loss: 24.98833656311035
Epoch 181, Loss: 24.8966121673584
Epoch 182, Loss: 24.80524253845215
Epoch 183, Loss: 24.71420669555664
Epoch 184, Loss: 24.62352180480957
Epoch 185, Loss: 24.533170700073242
Epoch 186, Loss: 24.44316864013672
Epoch 187, Loss: 24.35349464416504
Epoch 188, Loss: 24.264169692993164
Epoch 189, Loss: 24.17517852783203
Epoch 190, Loss: 24.086517333984375
Epoch 191, Loss: 23.99819564819336
Epoch 192, Loss: 23.910205841064453
Epoch 193, Loss: 23.822547912597656
Epoch 194, Loss: 23.73521614074707
Epoch 195, Loss: 23.648218154907227
Epoch 196, Loss: 23.56155014038086
Epoch 197, Loss: 23.47519874572754
Epoch 198, Loss: 23.389179229736328
Epoch 199, Loss: 23.303483963012695
Epoch 200, Loss: 23.218111038208008
Epoch 201, Loss: 23.133058547973633
Epoch 202, Loss: 23.04832649230957
Epoch 203, Loss: 22.963916778564453
Epoch 204, Loss: 22.879819869995117
Epoch 205, Loss: 22.79604148864746
Epoch 206, Loss: 22.712581634521484
Epoch 207, Loss: 22.62943458557129
Epoch 208, Loss: 22.546600341796875
Epoch 209, Loss: 22.464082717895508
Epoch 210, Loss: 22.381868362426758
Epoch 211, Loss: 22.299968719482422
Epoch 212, Loss: 22.218379974365234
Epoch 213, Loss: 22.137088775634766
Epoch 214, Loss: 22.056114196777344
Epoch 215, Loss: 21.975439071655273
Epoch 216, Loss: 21.895069122314453
Epoch 217, Loss: 21.815000534057617
Epoch 218, Loss: 21.7352352142334
Epoch 219, Loss: 21.655773162841797
Epoch 220, Loss: 21.57660484313965
Epoch 221, Loss: 21.49774169921875
Epoch 222, Loss: 21.419166564941406
Epoch 223, Loss: 21.34089469909668
Epoch 224, Loss: 21.262920379638672
Epoch 225, Loss: 21.185232162475586
Epoch 226, Loss: 21.107839584350586
Epoch 227, Loss: 21.030736923217773
Epoch 228, Loss: 20.953927993774414
Epoch 229, Loss: 20.87740707397461
Epoch 230, Loss: 20.80117416381836
Epoch 231, Loss: 20.72522735595703
Epoch 232, Loss: 20.649568557739258
Epoch 233, Loss: 20.57419204711914
Epoch 234, Loss: 20.499103546142578
Epoch 235, Loss: 20.424297332763672
Epoch 236, Loss: 20.349769592285156
Epoch 237, Loss: 20.27552604675293
Epoch 238, Loss: 20.20155906677246
Epoch 239, Loss: 20.127872467041016
Epoch 240, Loss: 20.05446434020996
Epoch 241, Loss: 19.981334686279297
Epoch 242, Loss: 19.908477783203125
Epoch 243, Loss: 19.835895538330078
Epoch 244, Loss: 19.76358413696289
Epoch 245, Loss: 19.69154930114746
Epoch 246, Loss: 19.619783401489258
Epoch 247, Loss: 19.548288345336914
Epoch 248, Loss: 19.47706413269043
Epoch 249, Loss: 19.406105041503906
Epoch 250, Loss: 19.335418701171875
Epoch 251, Loss: 19.26499366760254
Epoch 252, Loss: 19.194833755493164
Epoch 253, Loss: 19.124942779541016
Epoch 254, Loss: 19.055309295654297
Epoch 255, Loss: 18.985942840576172
Epoch 256, Loss: 18.91683578491211
Epoch 257, Loss: 18.847990036010742
Epoch 258, Loss: 18.77940559387207
Epoch 259, Loss: 18.711078643798828
Epoch 260, Loss: 18.64300537109375
Epoch 261, Loss: 18.5751895904541
Epoch 262, Loss: 18.50762939453125
Epoch 263, Loss: 18.440326690673828
Epoch 264, Loss: 18.373273849487305
Epoch 265, Loss: 18.30647850036621
Epoch 266, Loss: 18.23992919921875
Epoch 267, Loss: 18.173635482788086
Epoch 268, Loss: 18.107585906982422
Epoch 269, Loss: 18.041791915893555
Epoch 270, Loss: 17.97624397277832
Epoch 271, Loss: 17.910938262939453
Epoch 272, Loss: 17.84587860107422
Epoch 273, Loss: 17.781070709228516
Epoch 274, Loss: 17.716503143310547
Epoch 275, Loss: 17.652179718017578
Epoch 276, Loss: 17.58810043334961
Epoch 277, Loss: 17.524261474609375
Epoch 278, Loss: 17.460657119750977
Epoch 279, Loss: 17.39729881286621
Epoch 280, Loss: 17.33417510986328
Epoch 281, Loss: 17.27129554748535
Epoch 282, Loss: 17.208646774291992
Epoch 283, Loss: 17.146238327026367
Epoch 284, Loss: 17.08405876159668
Epoch 285, Loss: 17.02212142944336
Epoch 286, Loss: 16.960412979125977
Epoch 287, Loss: 16.898937225341797
Epoch 288, Loss: 16.837696075439453
Epoch 289, Loss: 16.776681900024414
Epoch 290, Loss: 16.715898513793945
Epoch 291, Loss: 16.655344009399414
Epoch 292, Loss: 16.595020294189453
Epoch 293, Loss: 16.534921646118164
Epoch 294, Loss: 16.475046157836914
Epoch 295, Loss: 16.4153995513916
Epoch 296, Loss: 16.35597801208496
Epoch 297, Loss: 16.296781539916992
Epoch 298, Loss: 16.237804412841797
Epoch 299, Loss: 16.179054260253906
Epoch 300, Loss: 16.12052345275879
Epoch 301, Loss: 16.062211990356445
Epoch 302, Loss: 16.004117965698242
Epoch 303, Loss: 15.946245193481445
Epoch 304, Loss: 15.888594627380371
Epoch 305, Loss: 15.831155776977539
Epoch 306, Loss: 15.77393627166748
Epoch 307, Loss: 15.71692943572998
Epoch 308, Loss: 15.660139083862305
Epoch 309, Loss: 15.603562355041504
Epoch 310, Loss: 15.547200202941895
Epoch 311, Loss: 15.491046905517578
Epoch 312, Loss: 15.43510913848877
Epoch 313, Loss: 15.379379272460938
Epoch 314, Loss: 15.32386302947998
Epoch 315, Loss: 15.26855182647705
Epoch 316, Loss: 15.213452339172363
Epoch 317, Loss: 15.15855884552002
Epoch 318, Loss: 15.10387134552002
Epoch 319, Loss: 15.049391746520996
Epoch 320, Loss: 14.995116233825684
Epoch 321, Loss: 14.941041946411133
Epoch 322, Loss: 14.887176513671875
Epoch 323, Loss: 14.833512306213379
Epoch 324, Loss: 14.780049324035645
Epoch 325, Loss: 14.726792335510254
Epoch 326, Loss: 14.67372989654541
Epoch 327, Loss: 14.620871543884277
Epoch 328, Loss: 14.568208694458008
Epoch 329, Loss: 14.515746116638184
Epoch 330, Loss: 14.463484764099121
Epoch 331, Loss: 14.41141414642334
Epoch 332, Loss: 14.35954475402832
Epoch 333, Loss: 14.30786418914795
Epoch 334, Loss: 14.256383895874023
Epoch 335, Loss: 14.205097198486328
Epoch 336, Loss: 14.154003143310547
Epoch 337, Loss: 14.103100776672363
Epoch 338, Loss: 14.052389144897461
Epoch 339, Loss: 14.001873016357422
Epoch 340, Loss: 13.951542854309082
Epoch 341, Loss: 13.901403427124023
Epoch 342, Loss: 13.851452827453613
Epoch 343, Loss: 13.801692008972168
Epoch 344, Loss: 13.752116203308105
Epoch 345, Loss: 13.702729225158691
Epoch 346, Loss: 13.65352725982666
Epoch 347, Loss: 13.604512214660645
Epoch 348, Loss: 13.555682182312012
Epoch 349, Loss: 13.50702953338623
Epoch 350, Loss: 13.45856761932373
Epoch 351, Loss: 13.410286903381348
Epoch 352, Loss: 13.362186431884766
Epoch 353, Loss: 13.314266204833984
Epoch 354, Loss: 13.26652717590332
Epoch 355, Loss: 13.218972206115723
Epoch 356, Loss: 13.171588897705078
Epoch 357, Loss: 13.124390602111816
Epoch 358, Loss: 13.077366828918457
Epoch 359, Loss: 13.030521392822266
Epoch 360, Loss: 12.983851432800293
Epoch 361, Loss: 12.937359809875488
Epoch 362, Loss: 12.891043663024902
Epoch 363, Loss: 12.844895362854004
Epoch 364, Loss: 12.798928260803223
Epoch 365, Loss: 12.753133773803711
Epoch 366, Loss: 12.707507133483887
Epoch 367, Loss: 12.662055015563965
Epoch 368, Loss: 12.616774559020996
Epoch 369, Loss: 12.571664810180664
Epoch 370, Loss: 12.526723861694336
Epoch 371, Loss: 12.481949806213379
Epoch 372, Loss: 12.437348365783691
Epoch 373, Loss: 12.392916679382324
Epoch 374, Loss: 12.348648071289062
Epoch 375, Loss: 12.304547309875488
Epoch 376, Loss: 12.260616302490234
Epoch 377, Loss: 12.216845512390137
Epoch 378, Loss: 12.173242568969727
Epoch 379, Loss: 12.129802703857422
Epoch 380, Loss: 12.086525917053223
Epoch 381, Loss: 12.043412208557129
Epoch 382, Loss: 12.00046443939209
Epoch 383, Loss: 11.95767593383789
Epoch 384, Loss: 11.91504955291748
Epoch 385, Loss: 11.872584342956543
Epoch 386, Loss: 11.830276489257812
Epoch 387, Loss: 11.788128852844238
Epoch 388, Loss: 11.74614143371582
Epoch 389, Loss: 11.704310417175293
Epoch 390, Loss: 11.662637710571289
Epoch 391, Loss: 11.62112045288086
Epoch 392, Loss: 11.57976245880127
Epoch 393, Loss: 11.53856086730957
Epoch 394, Loss: 11.497511863708496
Epoch 395, Loss: 11.456618309020996
Epoch 396, Loss: 11.415877342224121
Epoch 397, Loss: 11.375290870666504
Epoch 398, Loss: 11.334859848022461
Epoch 399, Loss: 11.29457950592041
Epoch 400, Loss: 11.254451751708984
Epoch 401, Loss: 11.214471817016602
Epoch 402, Loss: 11.174643516540527
Epoch 403, Loss: 11.134966850280762
Epoch 404, Loss: 11.095440864562988
Epoch 405, Loss: 11.056061744689941
Epoch 406, Loss: 11.016830444335938
Epoch 407, Loss: 10.977749824523926
Epoch 408, Loss: 10.938813209533691
Epoch 409, Loss: 10.9000244140625
Epoch 410, Loss: 10.861380577087402
Epoch 411, Loss: 10.822884559631348
Epoch 412, Loss: 10.78453254699707
Epoch 413, Loss: 10.74632740020752
Epoch 414, Loss: 10.70826244354248
Epoch 415, Loss: 10.670343399047852
Epoch 416, Loss: 10.63256549835205
Epoch 417, Loss: 10.59493350982666
Epoch 418, Loss: 10.557437896728516
Epoch 419, Loss: 10.520085334777832
Epoch 420, Loss: 10.482876777648926
Epoch 421, Loss: 10.445805549621582
Epoch 422, Loss: 10.408872604370117
Epoch 423, Loss: 10.372082710266113
Epoch 424, Loss: 10.335428237915039
Epoch 425, Loss: 10.29891300201416
Epoch 426, Loss: 10.262533187866211
Epoch 427, Loss: 10.226293563842773
Epoch 428, Loss: 10.190189361572266
Epoch 429, Loss: 10.154221534729004
Epoch 430, Loss: 10.118389129638672
Epoch 431, Loss: 10.08269214630127
Epoch 432, Loss: 10.04712963104248
Epoch 433, Loss: 10.011701583862305
Epoch 434, Loss: 9.976404190063477
Epoch 435, Loss: 9.941242218017578
Epoch 436, Loss: 9.906213760375977
Epoch 437, Loss: 9.871312141418457
Epoch 438, Loss: 9.8365478515625
Epoch 439, Loss: 9.801911354064941
Epoch 440, Loss: 9.767406463623047
Epoch 441, Loss: 9.7330322265625
Epoch 442, Loss: 9.698782920837402
Epoch 443, Loss: 9.66466999053955
Epoch 444, Loss: 9.630680084228516
Epoch 445, Loss: 9.596821784973145
Epoch 446, Loss: 9.563085556030273
Epoch 447, Loss: 9.529481887817383
Epoch 448, Loss: 9.496004104614258
Epoch 449, Loss: 9.462651252746582
Epoch 450, Loss: 9.429425239562988
Epoch 451, Loss: 9.396322250366211
Epoch 452, Loss: 9.363343238830566
Epoch 453, Loss: 9.330492973327637
Epoch 454, Loss: 9.297761917114258
Epoch 455, Loss: 9.265155792236328
Epoch 456, Loss: 9.232675552368164
Epoch 457, Loss: 9.200313568115234
Epoch 458, Loss: 9.168072700500488
Epoch 459, Loss: 9.135957717895508
Epoch 460, Loss: 9.103960990905762
Epoch 461, Loss: 9.0720853805542
Epoch 462, Loss: 9.040329933166504
Epoch 463, Loss: 9.008692741394043
Epoch 464, Loss: 8.977176666259766
Epoch 465, Loss: 8.945779800415039
Epoch 466, Loss: 8.914501190185547
Epoch 467, Loss: 8.883337020874023
Epoch 468, Loss: 8.852293014526367
Epoch 469, Loss: 8.821365356445312
Epoch 470, Loss: 8.79055404663086
Epoch 471, Loss: 8.759859085083008
Epoch 472, Loss: 8.729279518127441
Epoch 473, Loss: 8.698817253112793
Epoch 474, Loss: 8.668466567993164
Epoch 475, Loss: 8.63823413848877
Epoch 476, Loss: 8.608112335205078
Epoch 477, Loss: 8.578104019165039
Epoch 478, Loss: 8.548209190368652
Epoch 479, Loss: 8.518428802490234
Epoch 480, Loss: 8.488758087158203
Epoch 481, Loss: 8.459199905395508
Epoch 482, Loss: 8.429753303527832
Epoch 483, Loss: 8.400418281555176
Epoch 484, Loss: 8.371193885803223
Epoch 485, Loss: 8.342079162597656
Epoch 486, Loss: 8.31307315826416
Epoch 487, Loss: 8.284175872802734
Epoch 488, Loss: 8.255391120910645
Epoch 489, Loss: 8.22671127319336
Epoch 490, Loss: 8.198140144348145
Epoch 491, Loss: 8.169678688049316
Epoch 492, Loss: 8.141321182250977
Epoch 493, Loss: 8.11307430267334
Epoch 494, Loss: 8.084931373596191
Epoch 495, Loss: 8.056894302368164
Epoch 496, Loss: 8.028964042663574
Epoch 497, Loss: 8.001137733459473
Epoch 498, Loss: 7.973416805267334
Epoch 499, Loss: 7.94580078125
In [8]:
!pip install visdom
Collecting visdom
  Downloading visdom-0.2.4.tar.gz (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 3.8 MB/s eta 0:00:00a 0:00:01
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.8 in /opt/conda/lib/python3.10/site-packages (from visdom) (1.26.3)
Collecting scipy (from visdom)
  Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Requirement already satisfied: requests in /opt/conda/lib/python3.10/site-packages (from visdom) (2.31.0)
Requirement already satisfied: tornado in /opt/conda/lib/python3.10/site-packages (from visdom) (6.5.1)
Requirement already satisfied: six in /opt/conda/lib/python3.10/site-packages (from visdom) (1.16.0)
Requirement already satisfied: jsonpatch in /opt/conda/lib/python3.10/site-packages (from visdom) (1.32)
Requirement already satisfied: websocket-client in /opt/conda/lib/python3.10/site-packages (from visdom) (1.8.0)
Requirement already satisfied: networkx in /opt/conda/lib/python3.10/site-packages (from visdom) (3.1)
Requirement already satisfied: pillow in /opt/conda/lib/python3.10/site-packages (from visdom) (10.2.0)
Requirement already satisfied: jsonpointer>=1.9 in /opt/conda/lib/python3.10/site-packages (from jsonpatch->visdom) (2.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.10/site-packages (from requests->visdom) (2024.2.2)
Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 37.7/37.7 MB 6.3 MB/s eta 0:00:0000:0100:01
Building wheels for collected packages: visdom
  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
  Building wheel for visdom (setup.py) ... done
  Created wheel for visdom: filename=visdom-0.2.4-py3-none-any.whl size=1408194 sha256=ac4a41963386402b0b7026649cfe03640129a6763c260f6d33e0591afc354b68
  Stored in directory: /root/.cache/pip/wheels/42/29/49/5bed207bac4578e4d2c0c5fc0226bfd33a7e2953ea56356855
Successfully built visdom
Installing collected packages: scipy, visdom
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2/2 [visdom]
Successfully installed scipy-1.15.3 visdom-0.2.4
WARNING: 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.
In [21]:
import subprocess

# 启动 visdom 服务
subprocess.Popen(["visdom", "--host", "0.0.0.0"])
Out[21]:
<Popen: returncode: None args: ['visdom', '--host', '0.0.0.0']>
In [22]:
from visdom import Visdom
import numpy as np
import time

# 将窗口类实例化
viz = Visdom()
# 创建窗口并实例化
viz.line([0.], [0], win='train_loss', opts=dict(title='Loss', xlabel='Epoch', ylabel='Loss'))

for epoch in range(100):
    # 模拟损失值
    loss = 0.2 * np.random.random() + 1

    # 更新窗口
    viz.line([loss], [epoch], win='train_loss', update='append')

    # 打印损失
    # print(f'Epoch {epoch}, Loss: {loss}')

    # 模拟训练时间
    time.sleep(0.1)

img = np.zeros((3, 100, 100))
img[0] = np.arange(0, 10000).reshape(100, 100) / 10000
img[1] = np.arange(0, 10000).reshape(100, 100) / 10000

# 可视化图像
viz.image(img, win='my_image', opts=dict(title='My Image'))
Setting up a new session...
INFO:tornado.access:200 POST /env/main (::1) 0.42ms
INFO:tornado.access:101 GET /vis_socket (::1) 0.52ms
INFO:root:Opened visdom socket from ip: ::1
INFO:tornado.access:200 POST /events (::1) 0.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 0.77ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 2.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.14ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.08ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 1.21ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 0.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /update (::1) 1.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 0.89ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.02ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.00ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 0.81ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 0.90ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 0.96ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.24ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.21ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.26ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 1.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.16ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.28ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.36ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /update (::1) 1.10ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 0.96ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 0.96ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.44ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /update (::1) 1.26ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.63ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.30ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.04ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /update (::1) 0.89ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.01ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.23ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /update (::1) 1.12ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.23ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 3.12ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.09ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.24ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.05ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.69ms
INFO:tornado.access:200 POST /update (::1) 1.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 1.34ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.69ms
INFO:tornado.access:200 POST /update (::1) 1.95ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.33ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.26ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.11ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 1.49ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.65ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.08ms
INFO:tornado.access:200 POST /win_exists (::1) 1.39ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.74ms
INFO:tornado.access:200 POST /update (::1) 1.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.28ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /update (::1) 1.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 1.81ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.79ms
INFO:tornado.access:200 POST /update (::1) 1.39ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.28ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 0.99ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 1.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /events (::1) 1.41ms
Out[22]:
'my_image'
In [23]:
# Visdom
from visdom import Visdom
import numpy as np

# 训练
model = LinearModel()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, weight_decay=1e-2, momentum=0.9)
y_train = torch.tensor(y_train, dtype=torch.float32)

# 实例化一个窗口
viz = Visdom()
# 创建窗口并实例化
viz.line([0.], [0], win='train_loss', opts=dict(title='Loss', xlabel='Epoch', ylabel='Loss'))

for epoch in range(500):
    input = torch.from_numpy(x_train)
    out = model(input)
    loss = nn.MSELoss()(out, y_train)
    model.zero_grad()
    loss.backward()
    optimizer.step()
    # 打印损失
    # print(f'Epoch {epoch}, Loss: {loss.item()}')

    # 记录损失
    viz.line([loss.item()], [epoch], win='train_loss', update='append')
/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).
  y_train = torch.tensor(y_train, dtype=torch.float32)
Setting up a new session...
INFO:tornado.access:200 POST /env/main (::1) 0.57ms
INFO:tornado.access:101 GET /vis_socket (::1) 0.57ms
INFO:root:Opened visdom socket from ip: ::1
INFO:tornado.access:200 POST /events (::1) 0.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.01ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.08ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.26ms
INFO:tornado.access:200 POST /win_exists (::1) 0.72ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms
INFO:tornado.access:200 POST /update (::1) 1.49ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.66ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.86ms
INFO:tornado.access:200 POST /update (::1) 1.05ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms
INFO:tornado.access:200 POST /update (::1) 1.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 0.92ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.55ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.21ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.69ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms
INFO:tornado.access:200 POST /update (::1) 1.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.96ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms
INFO:tornado.access:200 POST /update (::1) 1.49ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.75ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms
INFO:tornado.access:200 POST /update (::1) 1.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.93ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.75ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms
INFO:tornado.access:200 POST /update (::1) 1.54ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.15ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.92ms
INFO:tornado.access:200 POST /update (::1) 1.33ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.61ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.54ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 0.90ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.49ms
INFO:tornado.access:200 POST /win_exists (::1) 0.73ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /update (::1) 1.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.61ms
INFO:tornado.access:200 POST /update (::1) 0.86ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.23ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /update (::1) 1.01ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 0.89ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /update (::1) 1.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /update (::1) 1.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms
INFO:tornado.access:200 POST /update (::1) 1.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms
INFO:tornado.access:200 POST /update (::1) 2.00ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms
INFO:tornado.access:200 POST /update (::1) 1.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /update (::1) 1.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.90ms
INFO:tornado.access:200 POST /update (::1) 1.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.75ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms
INFO:tornado.access:200 POST /update (::1) 1.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.88ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms
INFO:tornado.access:200 POST /update (::1) 1.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 1.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.04ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.39ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.09ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.66ms
INFO:tornado.access:200 POST /update (::1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.08ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.28ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.05ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.56ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.53ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.54ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.49ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.34ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 0.95ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.24ms
INFO:tornado.access:200 POST /win_exists (::1) 0.31ms
INFO:tornado.access:200 POST /update (::1) 1.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.56ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.30ms
INFO:tornado.access:200 POST /win_exists (::1) 0.31ms
INFO:tornado.access:200 POST /update (::1) 1.28ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.62ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.00ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.30ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /update (::1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 2.75ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 2.09ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.34ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.23ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.53ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.39ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.13ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.60ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 2.48ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.24ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.46ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.32ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.86ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.09ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /update (::1) 1.15ms
INFO:tornado.access:200 POST /win_exists (::1) 0.29ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.44ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /update (::1) 1.25ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 1.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.29ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /update (::1) 1.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 1.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.15ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.30ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 1.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.78ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.77ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 1.44ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.44ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.27ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.32ms
INFO:tornado.access:200 POST /update (::1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.60ms
INFO:tornado.access:200 POST /win_exists (::1) 0.29ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.31ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.27ms
INFO:tornado.access:200 POST /update (::1) 1.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.32ms
INFO:tornado.access:200 POST /update (::1) 1.80ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.53ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /update (::1) 1.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.30ms
INFO:tornado.access:200 POST /update (::1) 1.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.56ms
INFO:tornado.access:200 POST /win_exists (::1) 0.30ms
INFO:tornado.access:200 POST /update (::1) 1.73ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /update (::1) 1.31ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.33ms
INFO:tornado.access:200 POST /update (::1) 1.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.83ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 2.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.53ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 2.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 2.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.80ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.34ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 1.53ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.92ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms
INFO:tornado.access:200 POST /win_exists (::1) 1.18ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.80ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms
INFO:tornado.access:200 POST /update (::1) 2.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 1.91ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /update (::1) 1.74ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms
INFO:tornado.access:200 POST /update (::1) 1.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 1.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 1.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms
INFO:tornado.access:200 POST /update (::1) 1.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.63ms
INFO:tornado.access:200 POST /update (::1) 1.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 1.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms
INFO:tornado.access:200 POST /update (::1) 1.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.23ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 2.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 2.03ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms
INFO:tornado.access:200 POST /update (::1) 2.01ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.99ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.88ms
INFO:tornado.access:200 POST /win_exists (::1) 0.74ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms
INFO:tornado.access:200 POST /update (::1) 2.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 2.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms
INFO:tornado.access:200 POST /update (::1) 1.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /update (::1) 1.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 2.17ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.39ms
INFO:tornado.access:200 POST /update (::1) 1.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms
INFO:tornado.access:200 POST /update (::1) 1.50ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /update (::1) 1.61ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /update (::1) 1.62ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 1.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.45ms
INFO:tornado.access:200 POST /update (::1) 2.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.88ms
INFO:tornado.access:200 POST /update (::1) 1.61ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 2.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms
INFO:tornado.access:200 POST /update (::1) 1.64ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 1.66ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.63ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /update (::1) 1.89ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms
INFO:tornado.access:200 POST /update (::1) 1.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 1.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 1.74ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 1.75ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.05ms
INFO:tornado.access:200 POST /update (::1) 1.96ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms
INFO:tornado.access:200 POST /update (::1) 2.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.02ms
INFO:tornado.access:200 POST /update (::1) 1.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms
INFO:tornado.access:200 POST /update (::1) 2.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 2.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /update (::1) 1.88ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms
INFO:tornado.access:200 POST /update (::1) 1.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.79ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.86ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.80ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms
INFO:tornado.access:200 POST /update (::1) 1.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms
INFO:tornado.access:200 POST /update (::1) 1.86ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.91ms
INFO:tornado.access:200 POST /update (::1) 2.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms
INFO:tornado.access:200 POST /update (::1) 1.68ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms
INFO:tornado.access:200 POST /update (::1) 2.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /update (::1) 1.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.21ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.76ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 2.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.38ms
INFO:tornado.access:200 POST /update (::1) 1.63ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.20ms
INFO:tornado.access:200 POST /update (::1) 1.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /update (::1) 2.13ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.33ms
INFO:tornado.access:200 POST /update (::1) 2.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.66ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.32ms
INFO:tornado.access:200 POST /update (::1) 2.04ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms
INFO:tornado.access:200 POST /update (::1) 1.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 1.72ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms
INFO:tornado.access:200 POST /update (::1) 2.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms
INFO:tornado.access:200 POST /update (::1) 2.81ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.08ms
INFO:tornado.access:200 POST /update (::1) 2.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.78ms
INFO:tornado.access:200 POST /update (::1) 3.15ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms
INFO:tornado.access:200 POST /update (::1) 2.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 1.88ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.98ms
INFO:tornado.access:200 POST /win_exists (::1) 0.74ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.69ms
INFO:tornado.access:200 POST /update (::1) 2.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms
INFO:tornado.access:200 POST /update (::1) 3.33ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.29ms
INFO:tornado.access:200 POST /update (::1) 2.30ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms
INFO:tornado.access:200 POST /update (::1) 2.61ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.45ms
INFO:tornado.access:200 POST /update (::1) 2.33ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /update (::1) 2.05ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.21ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms
INFO:tornado.access:200 POST /update (::1) 2.13ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 2.24ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.68ms
INFO:tornado.access:200 POST /update (::1) 1.74ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /update (::1) 2.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 1.93ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.39ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms
INFO:tornado.access:200 POST /update (::1) 1.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms
INFO:tornado.access:200 POST /update (::1) 2.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.05ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms
INFO:tornado.access:200 POST /update (::1) 1.84ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 2.25ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 2.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.66ms
INFO:tornado.access:200 POST /update (::1) 2.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /update (::1) 2.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 2.20ms
INFO:tornado.access:200 POST /win_exists (::1) 0.94ms
INFO:tornado.access:200 POST /update (::1) 2.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 3.10ms
INFO:tornado.access:200 POST /win_exists (::1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 2.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /update (::1) 3.36ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.94ms
INFO:tornado.access:200 POST /update (::1) 2.87ms
INFO:tornado.access:200 POST /win_exists (::1) 1.42ms
INFO:tornado.access:200 POST /update (::1) 3.31ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.88ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /update (::1) 4.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.62ms
INFO:tornado.access:200 POST /update (::1) 2.98ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.22ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.84ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 11.10ms
INFO:tornado.access:200 POST /win_exists (::1) 1.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms
INFO:tornado.access:200 POST /update (::1) 2.84ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.73ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.82ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.16ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.33ms
INFO:tornado.access:200 POST /update (::1) 4.81ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 5.77ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 6.89ms
INFO:tornado.access:200 POST /win_exists (::1) 3.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 5.65ms
INFO:tornado.access:200 POST /update (::1) 3.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 3.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms
INFO:tornado.access:200 POST /update (::1) 3.33ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.07ms
INFO:tornado.access:200 POST /win_exists (::1) 0.66ms
INFO:tornado.access:200 POST /update (::1) 3.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /update (::1) 4.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms
INFO:tornado.access:200 POST /update (::1) 3.26ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 3.49ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.76ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.71ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.89ms
INFO:tornado.access:200 POST /win_exists (::1) 1.83ms
INFO:tornado.access:200 POST /update (::1) 2.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 3.14ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /update (::1) 2.62ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms
INFO:tornado.access:200 POST /update (::1) 2.48ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms
INFO:tornado.access:200 POST /update (::1) 2.49ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms
INFO:tornado.access:200 POST /update (::1) 1.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 2.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.60ms
INFO:tornado.access:200 POST /update (::1) 4.05ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /update (::1) 3.01ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 3.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.76ms
INFO:tornado.access:200 POST /update (::1) 2.73ms
INFO:tornado.access:200 POST /win_exists (::1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 3.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 2.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 2.37ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /update (::1) 2.04ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 1.94ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 2.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.94ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 3.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.74ms
INFO:tornado.access:200 POST /update (::1) 3.90ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /update (::1) 2.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms
INFO:tornado.access:200 POST /update (::1) 2.62ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.59ms
INFO:tornado.access:200 POST /win_exists (::1) 1.65ms
INFO:tornado.access:200 POST /update (::1) 2.25ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.44ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /update (::1) 3.15ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 2.35ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /update (::1) 2.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 2.66ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /update (::1) 2.88ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.74ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.10ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.28ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.95ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.67ms
INFO:tornado.access:200 POST /update (::1) 6.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms
INFO:tornado.access:200 POST /win_exists (::1) 0.71ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms
INFO:tornado.access:200 POST /update (::1) 2.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.00ms
INFO:tornado.access:200 POST /update (::1) 2.51ms
INFO:tornado.access:200 POST /win_exists (::1) 1.90ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.59ms
INFO:tornado.access:200 POST /update (::1) 2.89ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 2.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 2.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.61ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.55ms
INFO:tornado.access:200 POST /update (::1) 3.28ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.97ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.58ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.37ms
INFO:tornado.access:200 POST /update (::1) 2.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms
INFO:tornado.access:200 POST /update (::1) 2.42ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.72ms
INFO:tornado.access:200 POST /update (::1) 1.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.60ms
INFO:tornado.access:200 POST /update (::1) 2.56ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /update (::1) 2.46ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.78ms
INFO:tornado.access:200 POST /update (::1) 2.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /update (::1) 2.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.69ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.46ms
INFO:tornado.access:200 POST /update (::1) 3.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /update (::1) 3.19ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /update (::1) 2.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 2.69ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /update (::1) 1.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /update (::1) 2.62ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 2.11ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.26ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 3.61ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.63ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 2.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.81ms
INFO:tornado.access:200 POST /update (::1) 1.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.64ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.18ms
INFO:tornado.access:200 POST /update (::1) 2.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.73ms
INFO:tornado.access:200 POST /update (::1) 2.00ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.15ms
INFO:tornado.access:200 POST /update (::1) 1.93ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.95ms
INFO:tornado.access:200 POST /update (::1) 1.92ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms
INFO:tornado.access:200 POST /update (::1) 2.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.89ms
INFO:tornado.access:200 POST /update (::1) 1.94ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 2.89ms
INFO:tornado.access:200 POST /win_exists (::1) 0.50ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms
INFO:tornado.access:200 POST /update (::1) 2.24ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 2.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.30ms
INFO:tornado.access:200 POST /update (::1) 2.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /update (::1) 2.30ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /update (::1) 1.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /update (::1) 2.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 2.23ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 2.59ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /update (::1) 2.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.08ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 1.94ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /update (::1) 1.97ms
INFO:tornado.access:200 POST /win_exists (::1) 0.39ms
INFO:tornado.access:200 POST /update (::1) 2.14ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /update (::1) 2.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.22ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 2.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /update (::1) 2.54ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /update (::1) 2.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.31ms
INFO:tornado.access:200 POST /update (::1) 2.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.60ms
INFO:tornado.access:200 POST /update (::1) 2.01ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /update (::1) 2.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.06ms
INFO:tornado.access:200 POST /update (::1) 2.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.85ms
INFO:tornado.access:200 POST /update (::1) 2.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /update (::1) 2.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.69ms
INFO:tornado.access:200 POST /update (::1) 2.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.89ms
INFO:tornado.access:200 POST /update (::1) 2.28ms
INFO:tornado.access:200 POST /win_exists (::1) 0.68ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.74ms
INFO:tornado.access:200 POST /update (::1) 2.63ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms
INFO:tornado.access:200 POST /update (::1) 2.04ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.80ms
INFO:tornado.access:200 POST /update (::1) 2.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms
INFO:tornado.access:200 POST /update (::1) 2.13ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms
INFO:tornado.access:200 POST /update (::1) 2.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms
INFO:tornado.access:200 POST /update (::1) 2.79ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.27ms
INFO:tornado.access:200 POST /update (::1) 2.75ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.21ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.82ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /win_exists (::1) 1.08ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.81ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.19ms
INFO:tornado.access:200 POST /update (::1) 2.33ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms
INFO:tornado.access:200 POST /update (::1) 2.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.33ms
INFO:tornado.access:200 POST /update (::1) 3.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.26ms
INFO:tornado.access:200 POST /update (::1) 3.00ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.10ms
INFO:tornado.access:200 POST /update (::1) 2.51ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.40ms
INFO:tornado.access:200 POST /update (::1) 2.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 2.67ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 2.45ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms
INFO:tornado.access:200 POST /update (::1) 2.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms
INFO:tornado.access:200 POST /update (::1) 2.91ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms
INFO:tornado.access:200 POST /update (::1) 2.83ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms
INFO:tornado.access:200 POST /update (::1) 4.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.51ms
INFO:tornado.access:200 POST /update (::1) 2.57ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /update (::1) 2.29ms
INFO:tornado.access:200 POST /win_exists (::1) 0.76ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.73ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.98ms
INFO:tornado.access:200 POST /update (::1) 2.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.76ms
INFO:tornado.access:200 POST /update (::1) 2.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.19ms
INFO:tornado.access:200 POST /update (::1) 2.90ms
INFO:tornado.access:200 POST /win_exists (::1) 0.63ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.03ms
INFO:tornado.access:200 POST /update (::1) 2.24ms
INFO:tornado.access:200 POST /win_exists (::1) 0.47ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 2.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.22ms
INFO:tornado.access:200 POST /update (::1) 2.77ms
INFO:tornado.access:200 POST /win_exists (::1) 3.30ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.62ms
INFO:tornado.access:200 POST /update (::1) 3.56ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 3.56ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.59ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.35ms
INFO:tornado.access:200 POST /update (::1) 3.27ms
INFO:tornado.access:200 POST /win_exists (::1) 0.72ms
INFO:tornado.access:200 POST /update (::1) 4.74ms
INFO:tornado.access:200 POST /win_exists (::1) 0.57ms
INFO:tornado.access:200 POST /update (::1) 2.86ms
INFO:tornado.access:200 POST /win_exists (::1) 0.67ms
INFO:tornado.access:200 POST /update (::1) 2.48ms
INFO:tornado.access:200 POST /win_exists (::1) 3.04ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.57ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.78ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 2.20ms
INFO:tornado.access:200 POST /update (::1) 2.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.54ms
INFO:tornado.access:200 POST /update (::1) 2.38ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /update (::1) 2.75ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.43ms
INFO:tornado.access:200 POST /update (::1) 2.18ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.68ms
INFO:tornado.access:200 POST /update (::1) 2.87ms
INFO:tornado.access:200 POST /win_exists (::1) 0.53ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 2.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.38ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.70ms
INFO:tornado.access:200 POST /update (::1) 2.47ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms
INFO:tornado.access:200 POST /update (::1) 2.16ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.01ms
INFO:tornado.access:200 POST /update (::1) 2.00ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms
INFO:tornado.access:200 POST /update (::1) 2.71ms
INFO:tornado.access:200 POST /win_exists (::1) 0.72ms
INFO:tornado.access:200 POST /update (::1) 2.52ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /update (::1) 2.68ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.99ms
INFO:tornado.access:200 POST /win_exists (::1) 0.35ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.97ms
INFO:tornado.access:200 POST /update (::1) 2.32ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.13ms
INFO:tornado.access:200 POST /update (::1) 2.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.36ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.91ms
INFO:tornado.access:200 POST /update (::1) 2.02ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.98ms
INFO:tornado.access:200 POST /update (::1) 2.48ms
INFO:tornado.access:200 POST /win_exists (::1) 0.37ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /update (::1) 2.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.41ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /update (::1) 2.70ms
INFO:tornado.access:200 POST /win_exists (::1) 0.48ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.87ms
INFO:tornado.access:200 POST /update (::1) 2.43ms
INFO:tornado.access:200 POST /win_exists (::1) 0.65ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.29ms
INFO:tornado.access:200 POST /update (::1) 2.72ms
INFO:tornado.access:200 POST /win_exists (::1) 0.54ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.90ms
INFO:tornado.access:200 POST /update (::1) 3.11ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.83ms
INFO:tornado.access:200 POST /update (::1) 2.12ms
INFO:tornado.access:200 POST /win_exists (::1) 0.40ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.93ms
INFO:tornado.access:200 POST /update (::1) 2.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.09ms
INFO:tornado.access:200 POST /update (::1) 3.39ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /update (::1) 2.49ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /update (::1) 2.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.41ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.42ms
INFO:tornado.access:200 POST /update (::1) 2.88ms
INFO:tornado.access:200 POST /win_exists (::1) 0.72ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.17ms
INFO:tornado.access:200 POST /update (::1) 2.24ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.76ms
INFO:tornado.access:200 POST /update (::1) 2.36ms
INFO:tornado.access:200 POST /win_exists (::1) 0.55ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.14ms
INFO:tornado.access:200 POST /update (::1) 2.65ms
INFO:tornado.access:200 POST /win_exists (::1) 0.49ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.77ms
INFO:tornado.access:200 POST /update (::1) 2.17ms
INFO:tornado.access:200 POST /win_exists (::1) 0.58ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.16ms
INFO:tornado.access:200 POST /update (::1) 2.61ms
INFO:tornado.access:200 POST /win_exists (::1) 0.44ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.96ms
INFO:tornado.access:200 POST /update (::1) 3.94ms
INFO:tornado.access:200 POST /win_exists (::1) 0.52ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.84ms
INFO:tornado.access:200 POST /update (::1) 3.06ms
INFO:tornado.access:200 POST /win_exists (::1) 0.42ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.07ms
INFO:tornado.access:200 POST /update (::1) 2.80ms
INFO:tornado.access:200 POST /win_exists (::1) 0.46ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.75ms
INFO:tornado.access:200 POST /update (::1) 3.15ms
INFO:tornado.access:200 POST /win_exists (::1) 0.43ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.77ms
INFO:tornado.access:200 POST /update (::1) 2.85ms
INFO:tornado.access:200 POST /win_exists (::1) 0.45ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 0.82ms
INFO:tornado.access:200 POST /update (::1) 2.09ms
INFO:tornado.access:200 POST /env/main (172.18.0.1) 1.25ms