代码如下:
import torch
import numpy as np
import matplotlib.pyplot as plt
xy = np.loadtxt('data/diabetes.csv', delimiter=',', dtype=np.float32)
x_data = torch.from_numpy(xy[:, :-1]) # 第一个':'取第0维(即所有行)全部元素,第二个':-1'取第1维(即列)除最后一列所有元素
y_data = torch.from_numpy(xy[:, [-1]]) # 第一个':'取第0维(即所有行)全部元素,第二个'[-1]'取第1维取最后一个元素形成矩阵
class Model(torch.nn.Module):
def __init__(self):
super(Model, self).__init__()
self.linear1 = torch.nn.Linear(8, 6)
self.linear2 = torch.nn.Linear(6, 4)
self.linear3 = torch.nn.Linear(4, 1)
self.activate = torch.nn.Sigmoid() # 网络最后一层,激活函数
def forward(self, x):
x = torch.sigmoid(self.linear1(x))
x = torch.sigmoid(self.linear2(x))
x = torch.sigmoid(self.linear3(x))
return x
model = Model()
criterion = torch.nn.BCELoss(reduction='sum')
optimizer = torch.optim.SGD(model.parameters(), lr=0.01) # 此处的model.parameters()我理解的是给出w和b
epoch_list = []
loss_list = []
for epoch in range(1000):
# forward
y_pred = model(x_data)
epoch_list.append(epoch)
loss = criterion(y_pred, y_data)
loss_list.append(loss.item())
print('epoch:', epoch, '\tloss =', loss.item())
# backward
optimizer.zero_grad()
loss.backward()
# update
optimizer.step()
# print('layer1_w =', model.linear1.weight.data(), '\tlayer_b =', model.linear1.bias.data)
plt.plot(epoch_list, loss_list)
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()
结果如下:
epoch: 0 loss = 516.688720703125
epoch: 1 loss = 690.4186401367188
epoch: 2 loss = 1040.1146240234375
epoch: 3 loss = 961.6609497070312
epoch: 4 loss = 491.37420654296875
epoch: 5 loss = 490.6679382324219
epoch: 6 loss = 490.0634460449219
epoch: 7 loss = 489.68865966796875
epoch: 8 loss = 489.3693542480469
epoch: 9 loss = 489.12384033203125
epoch: 10 loss = 488.90032958984375
epoch: 11 loss = 488.69781494140625
epoch: 12 loss = 488.49908447265625
epoch: 13 loss = 488.30126953125
epoch: 14 loss = 488.09747314453125
epoch: 15 loss = 487.8851623535156
epoch: 16 loss = 487.66058349609375
epoch: 17 loss = 487.42138671875
epoch: 18 loss = 487.16461181640625
epoch: 19 loss = 486.88775634765625
epoch: 20 loss = 486.5875549316406
epoch: 21 loss = 486.26123046875
epoch: 22 loss = 485.90484619140625
epoch: 23 loss = 485.5146789550781
epoch: 24 loss = 485.0861511230469
epoch: 25 loss = 484.61431884765625
epoch: 26 loss = 484.0933532714844
epoch: 27 loss = 483.51708984375
epoch: 28 loss = 482.87811279296875
epoch: 29 loss = 482.1685791015625
epoch: 30 loss = 481.37908935546875
epoch: 31 loss = 480.4998779296875
epoch: 32 loss = 479.51947021484375
epoch: 33 loss = 478.4256591796875
epoch: 34 loss = 477.2047119140625
epoch: 35 loss = 475.842041015625
epoch: 36 loss = 474.321533203125
epoch: 37 loss = 472.6266174316406
epoch: 38 loss = 470.73907470703125
epoch: 39 loss = 468.6412048339844
epoch: 40 loss = 466.31378173828125
epoch: 41 loss = 463.7397155761719
epoch: 42 loss = 460.90130615234375
epoch: 43 loss = 457.7854919433594
epoch: 44 loss = 454.3799743652344
epoch: 45 loss = 450.68243408203125
epoch: 46 loss = 446.6914978027344
epoch: 47 loss = 442.4266662597656
epoch: 48 loss = 437.90576171875
epoch: 49 loss = 433.2012939453125
epoch: 50 loss = 428.4132385253906
epoch: 51 loss = 424.01275634765625
epoch: 52 loss = 421.662841796875
epoch: 53 loss = 430.1206359863281
epoch: 54 loss = 489.6991882324219
epoch: 55 loss = 721.4393310546875
epoch: 56 loss = 920.4346313476562
epoch: 57 loss = 702.3085327148438
epoch: 58 loss = 487.0581359863281
epoch: 59 loss = 480.8044128417969
epoch: 60 loss = 457.98736572265625
epoch: 61 loss = 459.2206726074219
epoch: 62 loss = 452.89801025390625
epoch: 63 loss = 468.24249267578125
epoch: 64 loss = 477.32122802734375
epoch: 65 loss = 520.36376953125
epoch: 66 loss = 531.2515869140625
epoch: 67 loss = 580.668212890625
epoch: 68 loss = 534.6033935546875
epoch: 69 loss = 557.5133056640625
epoch: 70 loss = 497.1327209472656
epoch: 71 loss = 513.7150268554688
epoch: 72 loss = 479.2602844238281
epoch: 73 loss = 499.587646484375
epoch: 74 loss = 478.6841735839844
epoch: 75 loss = 505.32147216796875
epoch: 76 loss = 486.1608581542969
epoch: 77 loss = 516.2766723632812
epoch: 78 loss = 490.29791259765625
epoch: 79 loss = 518.6583862304688
epoch: 80 loss = 486.17083740234375
epoch: 81 loss = 511.1868591308594
epoch: 82 loss = 478.8086242675781
epoch: 83 loss = 502.0577392578125
epoch: 84 loss = 473.1937561035156
epoch: 85 loss = 496.1959533691406
epoch: 86 loss = 470.1618957519531
epoch: 87 loss = 493.365966796875
epoch: 88 loss = 468.41937255859375
epoch: 89 loss = 491.49468994140625
epoch: 90 loss = 466.5602111816406
epoch: 91 loss = 489.0008239746094
epoch: 92 loss = 464.0187683105469
epoch: 93 loss = 485.55841064453125
epoch: 94 loss = 461.0072021484375
epoch: 95 loss = 481.6598205566406
epoch: 96 loss = 457.96185302734375
epoch: 97 loss = 477.8631286621094
epoch: 98 loss = 455.1528625488281
epoch: 99 loss = 474.4244384765625
epoch: 100 loss = 452.6253662109375
epoch: 101 loss = 471.32940673828125
epoch: 102 loss = 450.3040466308594
epoch: 103 loss = 468.45751953125
epoch: 104 loss = 448.100341796875
epoch: 105 loss = 465.70452880859375
epoch: 106 loss = 445.9634704589844
epoch: 107 loss = 463.02557373046875
epoch: 108 loss = 443.8837890625
epoch: 109 loss = 460.4227294921875
epoch: 110 loss = 441.87310791015625
epoch: 111 loss = 457.91717529296875
epoch: 112 loss = 439.94659423828125
epoch: 113 loss = 455.527099609375
epoch: 114 loss = 438.11224365234375
epoch: 115 loss = 453.25946044921875
epoch: 116 loss = 436.3699951171875
epoch: 117 loss = 451.11083984375
epoch: 118 loss = 434.71405029296875
epoch: 119 loss = 449.0721435546875
epoch: 120 loss = 433.1365661621094
epoch: 121 loss = 447.13250732421875
epoch: 122 loss = 431.6299133300781
epoch: 123 loss = 445.2823486328125
epoch: 124 loss = 430.1875305175781
epoch: 125 loss = 443.51373291015625
epoch: 126 loss = 428.8043212890625
epoch: 127 loss = 441.8201904296875
epoch: 128 loss = 427.4761047363281
epoch: 129 loss = 440.19635009765625
epoch: 130 loss = 426.1990051269531
epoch: 131 loss = 438.6372985839844
epoch: 132 loss = 424.96942138671875
epoch: 133 loss = 437.1382751464844
epoch: 134 loss = 423.78399658203125
epoch: 135 loss = 435.69476318359375
epoch: 136 loss = 422.6394348144531
epoch: 137 loss = 434.30230712890625
epoch: 138 loss = 421.532470703125
epoch: 139 loss = 432.956787109375
epoch: 140 loss = 420.4602966308594
epoch: 141 loss = 431.65435791015625
epoch: 142 loss = 419.4200439453125
epoch: 143 loss = 430.3916320800781
epoch: 144 loss = 418.4095153808594
epoch: 145 loss = 429.1654968261719
epoch: 146 loss = 417.4265441894531
epoch: 147 loss = 427.9733581542969
epoch: 148 loss = 416.46929931640625
epoch: 149 loss = 426.8128356933594
epoch: 150 loss = 415.5361328125
epoch: 151 loss = 425.6817321777344
epoch: 152 loss = 414.6256103515625
epoch: 153 loss = 424.5783996582031
epoch: 154 loss = 413.7366638183594
epoch: 155 loss = 423.5013427734375
epoch: 156 loss = 412.8680725097656
epoch: 157 loss = 422.4491271972656
epoch: 158 loss = 412.0189514160156
epoch: 159 loss = 421.4205322265625
epoch: 160 loss = 411.1885681152344
epoch: 161 loss = 420.4147644042969
epoch: 162 loss = 410.3761901855469
epoch: 163 loss = 419.43084716796875
epoch: 164 loss = 409.581298828125
epoch: 165 loss = 418.4681091308594
epoch: 166 loss = 408.8033447265625
epoch: 167 loss = 417.5260009765625
epoch: 168 loss = 408.0419921875
epoch: 169 loss = 416.6039123535156
epoch: 170 loss = 407.29669189453125
epoch: 171 loss = 415.70147705078125
epoch: 172 loss = 406.56732177734375
epoch: 173 loss = 414.81829833984375
epoch: 174 loss = 405.853515625
epoch: 175 loss = 413.95404052734375
epoch: 176 loss = 405.15509033203125
epoch: 177 loss = 413.1084899902344
epoch: 178 loss = 404.4718322753906
epoch: 179 loss = 412.28143310546875
epoch: 180 loss = 403.80352783203125
epoch: 181 loss = 411.4726257324219
epoch: 182 loss = 403.1500244140625
epoch: 183 loss = 410.6817626953125
epoch: 184 loss = 402.5111389160156
epoch: 185 loss = 409.90887451171875
epoch: 186 loss = 401.8867492675781
epoch: 187 loss = 409.15362548828125
epoch: 188 loss = 401.27667236328125
epoch: 189 loss = 408.41595458984375
epoch: 190 loss = 400.68084716796875
epoch: 191 loss = 407.69561767578125
epoch: 192 loss = 400.0989990234375
epoch: 193 loss = 406.99249267578125
epoch: 194 loss = 399.53106689453125
epoch: 195 loss = 406.3064270019531
epoch: 196 loss = 398.97686767578125
epoch: 197 loss = 405.6371765136719
epoch: 198 loss = 398.4362487792969
epoch: 199 loss = 404.98455810546875
epoch: 200 loss = 397.90899658203125
epoch: 201 loss = 404.34844970703125
epoch: 202 loss = 397.3950500488281
epoch: 203 loss = 403.7285461425781
epoch: 204 loss = 396.89410400390625
epoch: 205 loss = 403.1246337890625
epoch: 206 loss = 396.4060363769531
epoch: 207 loss = 402.53656005859375
epoch: 208 loss = 395.9306945800781
epoch: 209 loss = 401.96405029296875
epoch: 210 loss = 395.46783447265625
epoch: 211 loss = 401.40692138671875
epoch: 212 loss = 395.0171813964844
epoch: 213 loss = 400.8647766113281
epoch: 214 loss = 394.57867431640625
epoch: 215 loss = 400.33746337890625
epoch: 216 loss = 394.1520080566406
epoch: 217 loss = 399.82476806640625
epoch: 218 loss = 393.7369689941406
epoch: 219 loss = 399.3262939453125
epoch: 220 loss = 393.3333740234375
epoch: 221 loss = 398.84185791015625
epoch: 222 loss = 392.94097900390625
epoch: 223 loss = 398.3711242675781
epoch: 224 loss = 392.5595703125
epoch: 225 loss = 397.9138488769531
epoch: 226 loss = 392.1889343261719
epoch: 227 loss = 397.4697265625
epoch: 228 loss = 391.82879638671875
epoch: 229 loss = 397.0384521484375
epoch: 230 loss = 391.4789123535156
epoch: 231 loss = 396.61968994140625
epoch: 232 loss = 391.13909912109375
epoch: 233 loss = 396.21331787109375
epoch: 234 loss = 390.80914306640625
epoch: 235 loss = 395.8188781738281
epoch: 236 loss = 390.48870849609375
epoch: 237 loss = 395.4361572265625
epoch: 238 loss = 390.1777038574219
epoch: 239 loss = 395.0648498535156
epoch: 240 loss = 389.8758239746094
epoch: 241 loss = 394.70465087890625
epoch: 242 loss = 389.5828552246094
epoch: 243 loss = 394.3553161621094
epoch: 244 loss = 389.2985534667969
epoch: 245 loss = 394.0165710449219
epoch: 246 loss = 389.022705078125
epoch: 247 loss = 393.6881103515625
epoch: 248 loss = 388.75518798828125
epoch: 249 loss = 393.36962890625
epoch: 250 loss = 388.49560546875
epoch: 251 loss = 393.0609436035156
epoch: 252 loss = 388.243896484375
epoch: 253 loss = 392.7617492675781
epoch: 254 loss = 387.99981689453125
epoch: 255 loss = 392.47174072265625
epoch: 256 loss = 387.7630310058594
epoch: 257 loss = 392.1907043457031
epoch: 258 loss = 387.5335388183594
epoch: 259 loss = 391.91839599609375
epoch: 260 loss = 387.31103515625
epoch: 261 loss = 391.6545715332031
epoch: 262 loss = 387.0953674316406
epoch: 263 loss = 391.39892578125
epoch: 264 loss = 386.88629150390625
epoch: 265 loss = 391.15130615234375
epoch: 266 loss = 386.6836242675781
epoch: 267 loss = 390.9114990234375
epoch: 268 loss = 386.4872741699219
epoch: 269 loss = 390.6792907714844
epoch: 270 loss = 386.29705810546875
epoch: 271 loss = 390.454345703125
epoch: 272 loss = 386.1126708984375
epoch: 273 loss = 390.2364807128906
epoch: 274 loss = 385.9340515136719
epoch: 275 loss = 390.02557373046875
epoch: 276 loss = 385.760986328125
epoch: 277 loss = 389.8213806152344
epoch: 278 loss = 385.5934143066406
epoch: 279 loss = 389.62371826171875
epoch: 280 loss = 385.4310607910156
epoch: 281 loss = 389.43243408203125
epoch: 282 loss = 385.27386474609375
epoch: 283 loss = 389.24725341796875
epoch: 284 loss = 385.12164306640625
epoch: 285 loss = 389.06805419921875
epoch: 286 loss = 384.9742736816406
epoch: 287 loss = 388.8946533203125
epoch: 288 loss = 384.8315734863281
epoch: 289 loss = 388.7268981933594
epoch: 290 loss = 384.6934509277344
epoch: 291 loss = 388.5646667480469
epoch: 292 loss = 384.5597839355469
epoch: 293 loss = 388.40771484375
epoch: 294 loss = 384.4304504394531
epoch: 295 loss = 388.2558898925781
epoch: 296 loss = 384.3052673339844
epoch: 297 loss = 388.1091613769531
epoch: 298 loss = 384.1841735839844
epoch: 299 loss = 387.9672546386719
epoch: 300 loss = 384.0671081542969
epoch: 301 loss = 387.830078125
epoch: 302 loss = 383.953857421875
epoch: 303 loss = 387.6976013183594
epoch: 304 loss = 383.8443603515625
epoch: 305 loss = 387.56951904296875
epoch: 306 loss = 383.7384948730469
epoch: 307 loss = 387.44580078125
epoch: 308 loss = 383.6361999511719
epoch: 309 loss = 387.32635498046875
epoch: 310 loss = 383.537353515625
epoch: 311 loss = 387.2110290527344
epoch: 312 loss = 383.4418640136719
epoch: 313 loss = 387.09967041015625
epoch: 314 loss = 383.3496398925781
epoch: 315 loss = 386.9922790527344
epoch: 316 loss = 383.2606506347656
epoch: 317 loss = 386.888671875
epoch: 318 loss = 383.1747131347656
epoch: 319 loss = 386.7886962890625
epoch: 320 loss = 383.0918273925781
epoch: 321 loss = 386.6923828125
epoch: 322 loss = 383.01190185546875
epoch: 323 loss = 386.599609375
epoch: 324 loss = 382.9347839355469
epoch: 325 loss = 386.51019287109375
epoch: 326 loss = 382.86053466796875
epoch: 327 loss = 386.4241638183594
epoch: 328 loss = 382.78900146484375
epoch: 329 loss = 386.3413391113281
epoch: 330 loss = 382.7200927734375
epoch: 331 loss = 386.26171875
epoch: 332 loss = 382.65380859375
epoch: 333 loss = 386.18511962890625
epoch: 334 loss = 382.590087890625
epoch: 335 loss = 386.1116027832031
epoch: 336 loss = 382.52874755859375
epoch: 337 loss = 386.0409851074219
epoch: 338 loss = 382.4698791503906
epoch: 339 loss = 385.9732360839844
epoch: 340 loss = 382.41339111328125
epoch: 341 loss = 385.9083251953125
epoch: 342 loss = 382.3591613769531
epoch: 343 loss = 385.84613037109375
epoch: 344 loss = 382.30718994140625
epoch: 345 loss = 385.7865905761719
epoch: 346 loss = 382.25738525390625
epoch: 347 loss = 385.72967529296875
epoch: 348 loss = 382.2097473144531
epoch: 349 loss = 385.6753234863281
epoch: 350 loss = 382.1641845703125
epoch: 351 loss = 385.6234436035156
epoch: 352 loss = 382.1207275390625
epoch: 353 loss = 385.5740051269531
epoch: 354 loss = 382.0792236328125
epoch: 355 loss = 385.5269775390625
epoch: 356 loss = 382.0397033691406
epoch: 357 loss = 385.48223876953125
epoch: 358 loss = 382.00213623046875
epoch: 359 loss = 385.4398193359375
epoch: 360 loss = 381.9664001464844
epoch: 361 loss = 385.3995666503906
epoch: 362 loss = 381.9324645996094
epoch: 363 loss = 385.36163330078125
epoch: 364 loss = 381.90032958984375
epoch: 365 loss = 385.3257141113281
epoch: 366 loss = 381.8699951171875
epoch: 367 loss = 385.29193115234375
epoch: 368 loss = 381.8414001464844
epoch: 369 loss = 385.26025390625
epoch: 370 loss = 381.8144836425781
epoch: 371 loss = 385.23046875
epoch: 372 loss = 381.7892150878906
epoch: 373 loss = 385.2027587890625
epoch: 374 loss = 381.7655334472656
epoch: 375 loss = 385.1769104003906
epoch: 376 loss = 381.7434387207031
epoch: 377 loss = 385.1529235839844
epoch: 378 loss = 381.722900390625
epoch: 379 loss = 385.1307678222656
epoch: 380 loss = 381.703857421875
epoch: 381 loss = 385.1105041503906
epoch: 382 loss = 381.686279296875
epoch: 383 loss = 385.0919494628906
epoch: 384 loss = 381.670166015625
epoch: 385 loss = 385.0751647949219
epoch: 386 loss = 381.6554870605469
epoch: 387 loss = 385.0600280761719
epoch: 388 loss = 381.6422119140625
epoch: 389 loss = 385.0465393066406
epoch: 390 loss = 381.6302185058594
epoch: 391 loss = 385.03466796875
epoch: 392 loss = 381.6196594238281
epoch: 393 loss = 385.0244140625
epoch: 394 loss = 381.6103210449219
epoch: 395 loss = 385.01568603515625
epoch: 396 loss = 381.6022644042969
epoch: 397 loss = 385.00848388671875
epoch: 398 loss = 381.5954284667969
epoch: 399 loss = 385.00274658203125
epoch: 400 loss = 381.58984375
epoch: 401 loss = 384.9985046386719
epoch: 402 loss = 381.58544921875
epoch: 403 loss = 384.9957275390625
epoch: 404 loss = 381.58221435546875
epoch: 405 loss = 384.9942321777344
epoch: 406 loss = 381.580078125
epoch: 407 loss = 384.99407958984375
epoch: 408 loss = 381.5791015625
epoch: 409 loss = 384.99530029296875
epoch: 410 loss = 381.57916259765625
epoch: 411 loss = 384.997802734375
epoch: 412 loss = 381.58026123046875
epoch: 413 loss = 385.0014953613281
epoch: 414 loss = 381.58233642578125
epoch: 415 loss = 385.0064392089844
epoch: 416 loss = 381.5854797363281
epoch: 417 loss = 385.0125732421875
epoch: 418 loss = 381.5894775390625
epoch: 419 loss = 385.01983642578125
epoch: 420 loss = 381.5945129394531
epoch: 421 loss = 385.02825927734375
epoch: 422 loss = 381.600341796875
epoch: 423 loss = 385.0376892089844
epoch: 424 loss = 381.60711669921875
epoch: 425 loss = 385.0482177734375
epoch: 426 loss = 381.6147155761719
epoch: 427 loss = 385.0597229003906
epoch: 428 loss = 381.6231689453125
epoch: 429 loss = 385.0721740722656
epoch: 430 loss = 381.6323547363281
epoch: 431 loss = 385.08563232421875
epoch: 432 loss = 381.642333984375
epoch: 433 loss = 385.10003662109375
epoch: 434 loss = 381.65301513671875
epoch: 435 loss = 385.1152038574219
epoch: 436 loss = 381.6644287109375
epoch: 437 loss = 385.13134765625
epoch: 438 loss = 381.6765441894531
epoch: 439 loss = 385.148193359375
epoch: 440 loss = 381.68927001953125
epoch: 441 loss = 385.1658935546875
epoch: 442 loss = 381.70263671875
epoch: 443 loss = 385.1842956542969
epoch: 444 loss = 381.716552734375
epoch: 445 loss = 385.2034606933594
epoch: 446 loss = 381.7310485839844
epoch: 447 loss = 385.2231750488281
epoch: 448 loss = 381.7460021972656
epoch: 449 loss = 385.24359130859375
epoch: 450 loss = 381.761474609375
epoch: 451 loss = 385.2645568847656
epoch: 452 loss = 381.7774963378906
epoch: 453 loss = 385.2861328125
epoch: 454 loss = 381.7939453125
epoch: 455 loss = 385.3081970214844
epoch: 456 loss = 381.81072998046875
epoch: 457 loss = 385.330810546875
epoch: 458 loss = 381.8279724121094
epoch: 459 loss = 385.3538513183594
epoch: 460 loss = 381.8454895019531
epoch: 461 loss = 385.3773498535156
epoch: 462 loss = 381.8634033203125
epoch: 463 loss = 385.4011535644531
epoch: 464 loss = 381.881591796875
epoch: 465 loss = 385.4253845214844
epoch: 466 loss = 381.8999938964844
epoch: 467 loss = 385.44989013671875
epoch: 468 loss = 381.91864013671875
epoch: 469 loss = 385.47467041015625
epoch: 470 loss = 381.9375
epoch: 471 loss = 385.49969482421875
epoch: 472 loss = 381.95654296875
epoch: 473 loss = 385.52490234375
epoch: 474 loss = 381.9757080078125
epoch: 475 loss = 385.5502624511719
epoch: 476 loss = 381.9949645996094
epoch: 477 loss = 385.5758056640625
epoch: 478 loss = 382.0143127441406
epoch: 479 loss = 385.6014404296875
epoch: 480 loss = 382.0337219238281
epoch: 481 loss = 385.62713623046875
epoch: 482 loss = 382.05316162109375
epoch: 483 loss = 385.65277099609375
epoch: 484 loss = 382.07257080078125
epoch: 485 loss = 385.678466796875
epoch: 486 loss = 382.09197998046875
epoch: 487 loss = 385.7041320800781
epoch: 488 loss = 382.11126708984375
epoch: 489 loss = 385.72967529296875
epoch: 490 loss = 382.1304931640625
epoch: 491 loss = 385.75506591796875
epoch: 492 loss = 382.14959716796875
epoch: 493 loss = 385.7804260253906
epoch: 494 loss = 382.16851806640625
epoch: 495 loss = 385.80548095703125
epoch: 496 loss = 382.1872863769531
epoch: 497 loss = 385.8303527832031
epoch: 498 loss = 382.205810546875
epoch: 499 loss = 385.8550109863281
epoch: 500 loss = 382.2241516113281
epoch: 501 loss = 385.8793640136719
epoch: 502 loss = 382.24224853515625
epoch: 503 loss = 385.90338134765625
epoch: 504 loss = 382.25994873046875
epoch: 505 loss = 385.927001953125
epoch: 506 loss = 382.27740478515625
epoch: 507 loss = 385.9502868652344
epoch: 508 loss = 382.29449462890625
epoch: 509 loss = 385.97320556640625
epoch: 510 loss = 382.31121826171875
epoch: 511 loss = 385.9955749511719
epoch: 512 loss = 382.32757568359375
epoch: 513 loss = 386.0174865722656
epoch: 514 loss = 382.34344482421875
epoch: 515 loss = 386.0389404296875
epoch: 516 loss = 382.35894775390625
epoch: 517 loss = 386.059814453125
epoch: 518 loss = 382.37396240234375
epoch: 519 loss = 386.0801086425781
epoch: 520 loss = 382.38848876953125
epoch: 521 loss = 386.09991455078125
epoch: 522 loss = 382.4024658203125
epoch: 523 loss = 386.1189880371094
epoch: 524 loss = 382.41595458984375
epoch: 525 loss = 386.1374816894531
epoch: 526 loss = 382.42889404296875
epoch: 527 loss = 386.1553039550781
epoch: 528 loss = 382.44122314453125
epoch: 529 loss = 386.1724548339844
epoch: 530 loss = 382.4530334472656
epoch: 531 loss = 386.1888427734375
epoch: 532 loss = 382.4642028808594
epoch: 533 loss = 386.20458984375
epoch: 534 loss = 382.4747619628906
epoch: 535 loss = 386.2195129394531
epoch: 536 loss = 382.4846496582031
epoch: 537 loss = 386.23370361328125
epoch: 538 loss = 382.4939270019531
epoch: 539 loss = 386.2471008300781
epoch: 540 loss = 382.5025634765625
epoch: 541 loss = 386.2596740722656
epoch: 542 loss = 382.5104675292969
epoch: 543 loss = 386.2715148925781
epoch: 544 loss = 382.5177001953125
epoch: 545 loss = 386.2824401855469
epoch: 546 loss = 382.5242004394531
epoch: 547 loss = 386.29254150390625
epoch: 548 loss = 382.530029296875
epoch: 549 loss = 386.3017578125
epoch: 550 loss = 382.53509521484375
epoch: 551 loss = 386.31011962890625
epoch: 552 loss = 382.53948974609375
epoch: 553 loss = 386.3175964355469
epoch: 554 loss = 382.54302978515625
epoch: 555 loss = 386.32421875
epoch: 556 loss = 382.5459289550781
epoch: 557 loss = 386.3299255371094
epoch: 558 loss = 382.5480651855469
epoch: 559 loss = 386.3347473144531
epoch: 560 loss = 382.5494079589844
epoch: 561 loss = 386.338623046875
epoch: 562 loss = 382.54998779296875
epoch: 563 loss = 386.34161376953125
epoch: 564 loss = 382.5498352050781
epoch: 565 loss = 386.34375
epoch: 566 loss = 382.5489501953125
epoch: 567 loss = 386.3449401855469
epoch: 568 loss = 382.5472412109375
epoch: 569 loss = 386.34527587890625
epoch: 570 loss = 382.54486083984375
epoch: 571 loss = 386.3446960449219
epoch: 572 loss = 382.54168701171875
epoch: 573 loss = 386.34320068359375
epoch: 574 loss = 382.53778076171875
epoch: 575 loss = 386.3408203125
epoch: 576 loss = 382.5331115722656
epoch: 577 loss = 386.3375549316406
epoch: 578 loss = 382.5276794433594
epoch: 579 loss = 386.3334655761719
epoch: 580 loss = 382.5216064453125
epoch: 581 loss = 386.3284912109375
epoch: 582 loss = 382.51470947265625
epoch: 583 loss = 386.3226318359375
epoch: 584 loss = 382.5072021484375
epoch: 585 loss = 386.31597900390625
epoch: 586 loss = 382.4989318847656
epoch: 587 loss = 386.3084716796875
epoch: 588 loss = 382.48992919921875
epoch: 589 loss = 386.3001403808594
epoch: 590 loss = 382.4802551269531
epoch: 591 loss = 386.29095458984375
epoch: 592 loss = 382.4699401855469
epoch: 593 loss = 386.2810974121094
epoch: 594 loss = 382.45892333984375
epoch: 595 loss = 386.2703552246094
epoch: 596 loss = 382.4472351074219
epoch: 597 loss = 386.25885009765625
epoch: 598 loss = 382.43499755859375
epoch: 599 loss = 386.2467041015625
epoch: 600 loss = 382.422119140625
epoch: 601 loss = 386.2337951660156
epoch: 602 loss = 382.4085998535156
epoch: 603 loss = 386.2201232910156
epoch: 604 loss = 382.3945007324219
epoch: 605 loss = 386.2059020996094
epoch: 606 loss = 382.3798828125
epoch: 607 loss = 386.19097900390625
epoch: 608 loss = 382.36468505859375
epoch: 609 loss = 386.1754150390625
epoch: 610 loss = 382.3489990234375
epoch: 611 loss = 386.1592712402344
epoch: 612 loss = 382.3327331542969
epoch: 613 loss = 386.1424865722656
epoch: 614 loss = 382.31597900390625
epoch: 615 loss = 386.12518310546875
epoch: 616 loss = 382.2987976074219
epoch: 617 loss = 386.1073303222656
epoch: 618 loss = 382.2811279296875
epoch: 619 loss = 386.08892822265625
epoch: 620 loss = 382.26300048828125
epoch: 621 loss = 386.0700988769531
epoch: 622 loss = 382.2445068359375
epoch: 623 loss = 386.05078125
epoch: 624 loss = 382.2255859375
epoch: 625 loss = 386.031005859375
epoch: 626 loss = 382.206298828125
epoch: 627 loss = 386.0108337402344
epoch: 628 loss = 382.1866149902344
epoch: 629 loss = 385.99029541015625
epoch: 630 loss = 382.1666259765625
epoch: 631 loss = 385.9693298339844
epoch: 632 loss = 382.1463623046875
epoch: 633 loss = 385.94805908203125
epoch: 634 loss = 382.125732421875
epoch: 635 loss = 385.9264221191406
epoch: 636 loss = 382.1048583984375
epoch: 637 loss = 385.90460205078125
epoch: 638 loss = 382.08380126953125
epoch: 639 loss = 385.88250732421875
epoch: 640 loss = 382.0625
epoch: 641 loss = 385.86016845703125
epoch: 642 loss = 382.0409851074219
epoch: 643 loss = 385.8376770019531
epoch: 644 loss = 382.01922607421875
epoch: 645 loss = 385.81494140625
epoch: 646 loss = 381.99737548828125
epoch: 647 loss = 385.7921142578125
epoch: 648 loss = 381.975341796875
epoch: 649 loss = 385.7691345214844
epoch: 650 loss = 381.95318603515625
epoch: 651 loss = 385.7459716796875
epoch: 652 loss = 381.9309387207031
epoch: 653 loss = 385.7228088378906
epoch: 654 loss = 381.90863037109375
epoch: 655 loss = 385.69964599609375
epoch: 656 loss = 381.88623046875
epoch: 657 loss = 385.6763610839844
epoch: 658 loss = 381.86383056640625
epoch: 659 loss = 385.65313720703125
epoch: 660 loss = 381.8414306640625
epoch: 661 loss = 385.62994384765625
epoch: 662 loss = 381.8190002441406
epoch: 663 loss = 385.6067810058594
epoch: 664 loss = 381.7966003417969
epoch: 665 loss = 385.5837097167969
epoch: 666 loss = 381.77423095703125
epoch: 667 loss = 385.56072998046875
epoch: 668 loss = 381.751953125
epoch: 669 loss = 385.537841796875
epoch: 670 loss = 381.729736328125
epoch: 671 loss = 385.51519775390625
epoch: 672 loss = 381.7076416015625
epoch: 673 loss = 385.49261474609375
epoch: 674 loss = 381.68560791015625
epoch: 675 loss = 385.47027587890625
epoch: 676 loss = 381.66375732421875
epoch: 677 loss = 385.44818115234375
epoch: 678 loss = 381.6420593261719
epoch: 679 loss = 385.4262390136719
epoch: 680 loss = 381.6205139160156
epoch: 681 loss = 385.4046325683594
epoch: 682 loss = 381.5991516113281
epoch: 683 loss = 385.3832702636719
epoch: 684 loss = 381.5780029296875
epoch: 685 loss = 385.36212158203125
epoch: 686 loss = 381.55706787109375
epoch: 687 loss = 385.3414306640625
epoch: 688 loss = 381.536376953125
epoch: 689 loss = 385.3210144042969
epoch: 690 loss = 381.5159606933594
epoch: 691 loss = 385.30096435546875
epoch: 692 loss = 381.4957580566406
epoch: 693 loss = 385.2812805175781
epoch: 694 loss = 381.47589111328125
epoch: 695 loss = 385.261962890625
epoch: 696 loss = 381.4563293457031
epoch: 697 loss = 385.2431335449219
epoch: 698 loss = 381.4370422363281
epoch: 699 loss = 385.22467041015625
epoch: 700 loss = 381.4180908203125
epoch: 701 loss = 385.2066650390625
epoch: 702 loss = 381.3994445800781
epoch: 703 loss = 385.1891174316406
epoch: 704 loss = 381.3812255859375
epoch: 705 loss = 385.17205810546875
epoch: 706 loss = 381.3633117675781
epoch: 707 loss = 385.1554260253906
epoch: 708 loss = 381.3457336425781
epoch: 709 loss = 385.13934326171875
epoch: 710 loss = 381.32855224609375
epoch: 711 loss = 385.123779296875
epoch: 712 loss = 381.311767578125
epoch: 713 loss = 385.1087341308594
epoch: 714 loss = 381.29541015625
epoch: 715 loss = 385.0942687988281
epoch: 716 loss = 381.2794494628906
epoch: 717 loss = 385.08038330078125
epoch: 718 loss = 381.2639465332031
epoch: 719 loss = 385.0669860839844
epoch: 720 loss = 381.2488708496094
epoch: 721 loss = 385.0542297363281
epoch: 722 loss = 381.2342224121094
epoch: 723 loss = 385.04205322265625
epoch: 724 loss = 381.22003173828125
epoch: 725 loss = 385.03045654296875
epoch: 726 loss = 381.206298828125
epoch: 727 loss = 385.0195007324219
epoch: 728 loss = 381.1929931640625
epoch: 729 loss = 385.0091247558594
epoch: 730 loss = 381.18023681640625
epoch: 731 loss = 384.99945068359375
epoch: 732 loss = 381.16778564453125
epoch: 733 loss = 384.99029541015625
epoch: 734 loss = 381.1559143066406
epoch: 735 loss = 384.9818115234375
epoch: 736 loss = 381.14453125
epoch: 737 loss = 384.9739990234375
epoch: 738 loss = 381.13360595703125
epoch: 739 loss = 384.966796875
epoch: 740 loss = 381.1231689453125
epoch: 741 loss = 384.9603271484375
epoch: 742 loss = 381.1132507324219
epoch: 743 loss = 384.9544677734375
epoch: 744 loss = 381.10382080078125
epoch: 745 loss = 384.9493408203125
epoch: 746 loss = 381.09490966796875
epoch: 747 loss = 384.9447937011719
epoch: 748 loss = 381.08642578125
epoch: 749 loss = 384.94097900390625
epoch: 750 loss = 381.0784912109375
epoch: 751 loss = 384.9378356933594
epoch: 752 loss = 381.071044921875
epoch: 753 loss = 384.935302734375
epoch: 754 loss = 381.0640563964844
epoch: 755 loss = 384.9334716796875
epoch: 756 loss = 381.0575866699219
epoch: 757 loss = 384.9322509765625
epoch: 758 loss = 381.05157470703125
epoch: 759 loss = 384.9317626953125
epoch: 760 loss = 381.04608154296875
epoch: 761 loss = 384.93194580078125
epoch: 762 loss = 381.0410461425781
epoch: 763 loss = 384.9327697753906
epoch: 764 loss = 381.0364685058594
epoch: 765 loss = 384.9342041015625
epoch: 766 loss = 381.0323486328125
epoch: 767 loss = 384.93634033203125
epoch: 768 loss = 381.02874755859375
epoch: 769 loss = 384.9390869140625
epoch: 770 loss = 381.0256042480469
epoch: 771 loss = 384.9425354003906
epoch: 772 loss = 381.0228576660156
epoch: 773 loss = 384.946533203125
epoch: 774 loss = 381.0205993652344
epoch: 775 loss = 384.9512634277344
epoch: 776 loss = 381.0187072753906
epoch: 777 loss = 384.95648193359375
epoch: 778 loss = 381.01727294921875
epoch: 779 loss = 384.9623718261719
epoch: 780 loss = 381.0162658691406
epoch: 781 loss = 384.96881103515625
epoch: 782 loss = 381.015625
epoch: 783 loss = 384.97589111328125
epoch: 784 loss = 381.015380859375
epoch: 785 loss = 384.9834899902344
epoch: 786 loss = 381.01556396484375
epoch: 787 loss = 384.9916687011719
epoch: 788 loss = 381.0159912109375
epoch: 789 loss = 385.0003356933594
epoch: 790 loss = 381.0168762207031
epoch: 791 loss = 385.00958251953125
epoch: 792 loss = 381.01806640625
epoch: 793 loss = 385.0193786621094
epoch: 794 loss = 381.0195617675781
epoch: 795 loss = 385.02960205078125
epoch: 796 loss = 381.0213928222656
epoch: 797 loss = 385.0403137207031
epoch: 798 loss = 381.0234680175781
epoch: 799 loss = 385.0514831542969
epoch: 800 loss = 381.02581787109375
epoch: 801 loss = 385.0631103515625
epoch: 802 loss = 381.0284118652344
epoch: 803 loss = 385.0751037597656
epoch: 804 loss = 381.0312805175781
epoch: 805 loss = 385.0875549316406
epoch: 806 loss = 381.0343017578125
epoch: 807 loss = 385.100341796875
epoch: 808 loss = 381.0375061035156
epoch: 809 loss = 385.113525390625
epoch: 810 loss = 381.04095458984375
epoch: 811 loss = 385.12701416015625
epoch: 812 loss = 381.0445556640625
epoch: 813 loss = 385.1408386230469
epoch: 814 loss = 381.04827880859375
epoch: 815 loss = 385.15496826171875
epoch: 816 loss = 381.0521240234375
epoch: 817 loss = 385.16937255859375
epoch: 818 loss = 381.0560302734375
epoch: 819 loss = 385.18402099609375
epoch: 820 loss = 381.0600280761719
epoch: 821 loss = 385.19891357421875
epoch: 822 loss = 381.0641174316406
epoch: 823 loss = 385.2140197753906
epoch: 824 loss = 381.0682373046875
epoch: 825 loss = 385.229248046875
epoch: 826 loss = 381.0722961425781
epoch: 827 loss = 385.2447204589844
epoch: 828 loss = 381.07635498046875
epoch: 829 loss = 385.2602233886719
epoch: 830 loss = 381.08038330078125
epoch: 831 loss = 385.2758483886719
epoch: 832 loss = 381.0843200683594
epoch: 833 loss = 385.29150390625
epoch: 834 loss = 381.0881652832031
epoch: 835 loss = 385.3072814941406
epoch: 836 loss = 381.0919189453125
epoch: 837 loss = 385.322998046875
epoch: 838 loss = 381.09552001953125
epoch: 839 loss = 385.3387756347656
epoch: 840 loss = 381.0989990234375
epoch: 841 loss = 385.35443115234375
epoch: 842 loss = 381.1022644042969
epoch: 843 loss = 385.3701477050781
epoch: 844 loss = 381.1053161621094
epoch: 845 loss = 385.3857116699219
epoch: 846 loss = 381.108154296875
epoch: 847 loss = 385.40118408203125
epoch: 848 loss = 381.1107482910156
epoch: 849 loss = 385.41650390625
epoch: 850 loss = 381.113037109375
epoch: 851 loss = 385.43170166015625
epoch: 852 loss = 381.11505126953125
epoch: 853 loss = 385.4466552734375
epoch: 854 loss = 381.1167297363281
epoch: 855 loss = 385.4613952636719
epoch: 856 loss = 381.1180419921875
epoch: 857 loss = 385.47589111328125
epoch: 858 loss = 381.11895751953125
epoch: 859 loss = 385.4901123046875
epoch: 860 loss = 381.1195068359375
epoch: 861 loss = 385.5040283203125
epoch: 862 loss = 381.11962890625
epoch: 863 loss = 385.5176696777344
epoch: 864 loss = 381.1193542480469
epoch: 865 loss = 385.5308837890625
epoch: 866 loss = 381.1185607910156
epoch: 867 loss = 385.5437316894531
epoch: 868 loss = 381.11724853515625
epoch: 869 loss = 385.55615234375
epoch: 870 loss = 381.1154479980469
epoch: 871 loss = 385.5681457519531
epoch: 872 loss = 381.11309814453125
epoch: 873 loss = 385.5797424316406
epoch: 874 loss = 381.1101989746094
epoch: 875 loss = 385.5907897949219
epoch: 876 loss = 381.1068115234375
epoch: 877 loss = 385.6012878417969
epoch: 878 loss = 381.1026611328125
epoch: 879 loss = 385.611328125
epoch: 880 loss = 381.0979309082031
epoch: 881 loss = 385.6207275390625
epoch: 882 loss = 381.09259033203125
epoch: 883 loss = 385.6296081542969
epoch: 884 loss = 381.0865783691406
epoch: 885 loss = 385.6377868652344
epoch: 886 loss = 381.0798645019531
epoch: 887 loss = 385.6453857421875
epoch: 888 loss = 381.07244873046875
epoch: 889 loss = 385.65234375
epoch: 890 loss = 381.0643615722656
epoch: 891 loss = 385.65863037109375
epoch: 892 loss = 381.0554504394531
epoch: 893 loss = 385.6640625
epoch: 894 loss = 381.0458068847656
epoch: 895 loss = 385.66888427734375
epoch: 896 loss = 381.0353698730469
epoch: 897 loss = 385.6728820800781
epoch: 898 loss = 381.0241394042969
epoch: 899 loss = 385.67608642578125
epoch: 900 loss = 381.0120849609375
epoch: 901 loss = 385.6784973144531
epoch: 902 loss = 380.9991760253906
epoch: 903 loss = 385.67999267578125
epoch: 904 loss = 380.9853820800781
epoch: 905 loss = 385.68072509765625
epoch: 906 loss = 380.970703125
epoch: 907 loss = 385.6805419921875
epoch: 908 loss = 380.9552001953125
epoch: 909 loss = 385.679443359375
epoch: 910 loss = 380.9387512207031
epoch: 911 loss = 385.67742919921875
epoch: 912 loss = 380.9213562011719
epoch: 913 loss = 385.6744689941406
epoch: 914 loss = 380.9030456542969
epoch: 915 loss = 385.6705017089844
epoch: 916 loss = 380.88372802734375
epoch: 917 loss = 385.6655578613281
epoch: 918 loss = 380.863525390625
epoch: 919 loss = 385.65960693359375
epoch: 920 loss = 380.8423156738281
epoch: 921 loss = 385.65264892578125
epoch: 922 loss = 380.8200988769531
epoch: 923 loss = 385.64459228515625
epoch: 924 loss = 380.7968444824219
epoch: 925 loss = 385.635498046875
epoch: 926 loss = 380.77264404296875
epoch: 927 loss = 385.62530517578125
epoch: 928 loss = 380.7473449707031
epoch: 929 loss = 385.6138916015625
epoch: 930 loss = 380.72100830078125
epoch: 931 loss = 385.6014709472656
epoch: 932 loss = 380.69366455078125
epoch: 933 loss = 385.5879211425781
epoch: 934 loss = 380.6652526855469
epoch: 935 loss = 385.5731506347656
epoch: 936 loss = 380.6357421875
epoch: 937 loss = 385.5572509765625
epoch: 938 loss = 380.60516357421875
epoch: 939 loss = 385.5400695800781
epoch: 940 loss = 380.573486328125
epoch: 941 loss = 385.5217590332031
epoch: 942 loss = 380.5407409667969
epoch: 943 loss = 385.5022277832031
epoch: 944 loss = 380.50689697265625
epoch: 945 loss = 385.48138427734375
epoch: 946 loss = 380.4719543457031
epoch: 947 loss = 385.4593505859375
epoch: 948 loss = 380.4358825683594
epoch: 949 loss = 385.43603515625
epoch: 950 loss = 380.3987121582031
epoch: 951 loss = 385.4114685058594
epoch: 952 loss = 380.36041259765625
epoch: 953 loss = 385.3855285644531
epoch: 954 loss = 380.32098388671875
epoch: 955 loss = 385.3583679199219
epoch: 956 loss = 380.28045654296875
epoch: 957 loss = 385.3299560546875
epoch: 958 loss = 380.2388610839844
epoch: 959 loss = 385.3002014160156
epoch: 960 loss = 380.19610595703125
epoch: 961 loss = 385.2691650390625
epoch: 962 loss = 380.15228271484375
epoch: 963 loss = 385.23675537109375
epoch: 964 loss = 380.1072692871094
epoch: 965 loss = 385.20306396484375
epoch: 966 loss = 380.0612487792969
epoch: 967 loss = 385.16802978515625
epoch: 968 loss = 380.01409912109375
epoch: 969 loss = 385.13165283203125
epoch: 970 loss = 379.9658203125
epoch: 971 loss = 385.0939636230469
epoch: 972 loss = 379.9164123535156
epoch: 973 loss = 385.05499267578125
epoch: 974 loss = 379.8659973144531
epoch: 975 loss = 385.0146789550781
epoch: 976 loss = 379.814453125
epoch: 977 loss = 384.97296142578125
epoch: 978 loss = 379.7618713378906
epoch: 979 loss = 384.92999267578125
epoch: 980 loss = 379.7082214355469
epoch: 981 loss = 384.8856506347656
epoch: 982 loss = 379.65350341796875
epoch: 983 loss = 384.8399963378906
epoch: 984 loss = 379.59771728515625
epoch: 985 loss = 384.79302978515625
epoch: 986 loss = 379.5408935546875
epoch: 987 loss = 384.7447814941406
epoch: 988 loss = 379.48309326171875
epoch: 989 loss = 384.6951599121094
epoch: 990 loss = 379.42425537109375
epoch: 991 loss = 384.644287109375
epoch: 992 loss = 379.3643798828125
epoch: 993 loss = 384.5920715332031
epoch: 994 loss = 379.30352783203125
epoch: 995 loss = 384.53857421875
epoch: 996 loss = 379.24176025390625
epoch: 997 loss = 384.4839172363281
epoch: 998 loss = 379.1790466308594
epoch: 999 loss = 384.4280090332031