No update of bias in linear Regression via Pytorch

Viewed 280

I want to use PyTorch to build linear regression to solve a simple task. The 1-D output is just the average of 10-D input. What is strange is that during training, weights would converge to 0.1 while the bias keep the same as the default value. The expected bias should be 0. The code and result are shown as below.

from torch import nn
from torch.autograd import Variable
from torch.optim.lr_scheduler import LambdaLR, ReduceLROnPlateau
from torch.utils.data import DataLoader, Dataset
from matplotlib import pyplot
import torch as th
import torch.nn.functional as F
import pandas as pd
import numpy as np
import sys

# Linear Regression Model
class linearRegression(nn.Module):
    def __init__(self):
        super(linearRegression, self).__init__()
        self.linear = nn.Linear(10, 1)  # input and output is 1 dimension

    def forward(self, x):
        out = self.linear(x)
        return out

#th.manual_seed(2020)
data = pd.read_csv('./train.csv',dtype=np.float64).values[: , 1:]
train_data_label = data[:,0].reshape(-1,1)
train_data = np.delete(data, 0, axis=1)

x_train_tensor = th.tensor(train_data[0:9500, :]).float().to(device)
y_train_tensor = th.tensor(train_data_label[0:9500, :]).float().to(device)
x_valid_tensor = th.tensor(train_data[9500:, :]).float().to(device)
y_valid_tensor = th.tensor(train_data_label[9500:, :]).float().to(device)

model = linearRegression().float() # Transform the precision of model
model = model.to(device)

criterion = nn.MSELoss()
optimizer = th.optim.SGD(model.parameters(), lr=1e-8)

train_loss_history = []
valid_loss_history = []

print("initial weights: ", model.linear.weight.data, " bias: ", model.linear.bias.data)
# Start training
num_epochs = 500
for epoch in range(num_epochs):
    inputs = x_train_tensor
    target = y_train_tensor

    # Forward
    out = model(inputs)
    loss = criterion(out, target)
    # Backward
    optimizer.zero_grad() # Set gradients of all parameters to zero
    loss.backward()
    optimizer.step()
    train_loss_history.append(loss.item())

    # For validation 
    model.eval() # Use pretrained weights and bias
    with th.no_grad(): # No calculation of gradient during validation
      predict = model(x_valid_tensor)
      valid_loss = criterion(predict, y_valid_tensor)
      valid_loss_history.append(valid_loss.item())

    if (epoch+1) % 1 == 0:
      print(f'Epoch[{epoch+1}/{num_epochs}], bias: {model.linear.bias.data}, weight: {model.linear.weight.data}')

print("weight: ", model.linear.weight.data)
print("bias: ", model.linear.bias.data)

initial weights:  tensor([[ 0.2636, -0.0230, -0.2399,  0.3074,  0.0735,  0.2014, -0.2753,  0.1922,
         -0.1379,  0.2794]], device='cuda:0')  bias:  tensor([0.2830], device='cuda:0')
Epoch[1/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2604, -0.0206, -0.2334,  0.3034,  0.0741,  0.1993, -0.2677,  0.1907,
         -0.1335,  0.2760]], device='cuda:0')
Epoch[2/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2572, -0.0183, -0.2269,  0.2995,  0.0747,  0.1973, -0.2603,  0.1891,
         -0.1292,  0.2726]], device='cuda:0')
Epoch[3/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2540, -0.0160, -0.2206,  0.2956,  0.0753,  0.1953, -0.2530,  0.1876,
         -0.1250,  0.2693]], device='cuda:0')
Epoch[4/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2510, -0.0138, -0.2144,  0.2918,  0.0759,  0.1934, -0.2458,  0.1861,
         -0.1208,  0.2660]], device='cuda:0')
Epoch[5/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2480, -0.0116, -0.2084,  0.2881,  0.0765,  0.1915, -0.2389,  0.1846,
         -0.1167,  0.2628]], device='cuda:0')
Epoch[6/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2450, -0.0094, -0.2024,  0.2845,  0.0770,  0.1896, -0.2320,  0.1832,
         -0.1128,  0.2597]], device='cuda:0')
Epoch[7/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2421, -0.0073, -0.1966,  0.2809,  0.0776,  0.1878, -0.2253,  0.1818,
         -0.1088,  0.2566]], device='cuda:0')
Epoch[8/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2393, -0.0052, -0.1908,  0.2774,  0.0781,  0.1860, -0.2187,  0.1804,
         -0.1050,  0.2536]], device='cuda:0')
Epoch[9/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2365, -0.0032, -0.1852,  0.2740,  0.0786,  0.1842, -0.2123,  0.1790,
         -0.1012,  0.2506]], device='cuda:0')
Epoch[10/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2338, -0.0012, -0.1797,  0.2706,  0.0791,  0.1825, -0.2060,  0.1777,
         -0.0975,  0.2477]], device='cuda:0')
Epoch[11/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2311,  0.0008, -0.1743,  0.2673,  0.0796,  0.1808, -0.1998,  0.1763,
         -0.0939,  0.2449]], device='cuda:0')
Epoch[12/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2285,  0.0027, -0.1690,  0.2641,  0.0801,  0.1792, -0.1937,  0.1750,
         -0.0903,  0.2421]], device='cuda:0')
Epoch[13/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2260,  0.0046, -0.1638,  0.2609,  0.0806,  0.1776, -0.1878,  0.1737,
         -0.0868,  0.2393]], device='cuda:0')
Epoch[14/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2235,  0.0064, -0.1587,  0.2578,  0.0810,  0.1760, -0.1820,  0.1725,
         -0.0833,  0.2367]], device='cuda:0')
Epoch[15/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2210,  0.0082, -0.1537,  0.2547,  0.0815,  0.1744, -0.1763,  0.1713,
         -0.0800,  0.2340]], device='cuda:0')
Epoch[16/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2186,  0.0100, -0.1488,  0.2517,  0.0819,  0.1729, -0.1707,  0.1700,
         -0.0767,  0.2314]], device='cuda:0')
Epoch[17/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2162,  0.0117, -0.1440,  0.2488,  0.0824,  0.1714, -0.1652,  0.1688,
         -0.0734,  0.2289]], device='cuda:0')
Epoch[18/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2139,  0.0134, -0.1393,  0.2459,  0.0828,  0.1700, -0.1599,  0.1677,
         -0.0702,  0.2264]], device='cuda:0')
Epoch[19/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2116,  0.0151, -0.1347,  0.2431,  0.0832,  0.1685, -0.1546,  0.1665,
         -0.0671,  0.2240]], device='cuda:0')
Epoch[20/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2094,  0.0168, -0.1301,  0.2403,  0.0836,  0.1671, -0.1495,  0.1654,
         -0.0640,  0.2216]], device='cuda:0')
Epoch[21/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2072,  0.0184, -0.1257,  0.2376,  0.0840,  0.1658, -0.1444,  0.1642,
         -0.0610,  0.2193]], device='cuda:0')
Epoch[22/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2051,  0.0199, -0.1213,  0.2349,  0.0844,  0.1644, -0.1395,  0.1631,
         -0.0580,  0.2170]], device='cuda:0')
Epoch[23/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2030,  0.0215, -0.1171,  0.2323,  0.0847,  0.1631, -0.1346,  0.1621,
         -0.0551,  0.2147]], device='cuda:0')
Epoch[24/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.2010,  0.0230, -0.1129,  0.2297,  0.0851,  0.1618, -0.1299,  0.1610,
         -0.0522,  0.2125]], device='cuda:0')
Epoch[25/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1989,  0.0245, -0.1088,  0.2272,  0.0854,  0.1606, -0.1253,  0.1599,
         -0.0494,  0.2103]], device='cuda:0')
Epoch[26/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1970,  0.0260, -0.1047,  0.2248,  0.0858,  0.1593, -0.1207,  0.1589,
         -0.0466,  0.2082]], device='cuda:0')
Epoch[27/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1950,  0.0274, -0.1008,  0.2223,  0.0861,  0.1581, -0.1162,  0.1579,
         -0.0439,  0.2061]], device='cuda:0')
Epoch[28/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1932,  0.0288, -0.0969,  0.2200,  0.0865,  0.1569, -0.1119,  0.1569,
         -0.0413,  0.2041]], device='cuda:0')
Epoch[29/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1913,  0.0302, -0.0931,  0.2177,  0.0868,  0.1558, -0.1076,  0.1559,
         -0.0387,  0.2021]], device='cuda:0')
Epoch[30/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1895,  0.0315, -0.0894,  0.2154,  0.0871,  0.1546, -0.1034,  0.1550,
         -0.0361,  0.2001]], device='cuda:0')
Epoch[31/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1877,  0.0328, -0.0857,  0.2131,  0.0874,  0.1535, -0.0993,  0.1540,
         -0.0336,  0.1982]], device='cuda:0')
Epoch[32/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1860,  0.0341, -0.0821,  0.2110,  0.0877,  0.1524, -0.0953,  0.1531,
         -0.0311,  0.1963]], device='cuda:0')
Epoch[33/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1842,  0.0354, -0.0786,  0.2088,  0.0880,  0.1514, -0.0913,  0.1522,
         -0.0287,  0.1944]], device='cuda:0')
Epoch[34/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1826,  0.0367, -0.0752,  0.2067,  0.0883,  0.1503, -0.0875,  0.1513,
         -0.0263,  0.1926]], device='cuda:0')
Epoch[35/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1809,  0.0379, -0.0718,  0.2046,  0.0886,  0.1493, -0.0837,  0.1504,
         -0.0240,  0.1908]], device='cuda:0')
Epoch[36/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1793,  0.0391, -0.0685,  0.2026,  0.0889,  0.1483, -0.0800,  0.1495,
         -0.0217,  0.1891]], device='cuda:0')
Epoch[37/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1777,  0.0403, -0.0652,  0.2006,  0.0891,  0.1473, -0.0763,  0.1487,
         -0.0195,  0.1874]], device='cuda:0')
Epoch[38/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1762,  0.0414, -0.0620,  0.1987,  0.0894,  0.1463, -0.0728,  0.1479,
         -0.0173,  0.1857]], device='cuda:0')
Epoch[39/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1747,  0.0425, -0.0589,  0.1968,  0.0896,  0.1454, -0.0693,  0.1470,
         -0.0151,  0.1840]], device='cuda:0')
Epoch[40/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1732,  0.0437, -0.0558,  0.1949,  0.0899,  0.1445, -0.0659,  0.1462,
         -0.0130,  0.1824]], device='cuda:0')
Epoch[41/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1717,  0.0447, -0.0528,  0.1930,  0.0901,  0.1436, -0.0625,  0.1454,
         -0.0109,  0.1808]], device='cuda:0')
Epoch[42/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1703,  0.0458, -0.0499,  0.1912,  0.0904,  0.1427, -0.0592,  0.1446,
         -0.0088,  0.1793]], device='cuda:0')
Epoch[43/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1689,  0.0469, -0.0470,  0.1895,  0.0906,  0.1418, -0.0560,  0.1439,
         -0.0068,  0.1778]], device='cuda:0')
Epoch[44/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1675,  0.0479, -0.0441,  0.1877,  0.0908,  0.1409, -0.0529,  0.1431,
         -0.0049,  0.1763]], device='cuda:0')
Epoch[45/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1662,  0.0489, -0.0414,  0.1861,  0.0911,  0.1401, -0.0498,  0.1424,
         -0.0029,  0.1748]], device='cuda:0')
Epoch[46/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1648,  0.0499, -0.0386,  0.1844,  0.0913,  0.1393, -0.0468,  0.1416,
         -0.0010,  0.1733]], device='cuda:0')
Epoch[47/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1636,  0.0508, -0.0360,  0.1828,  0.0915,  0.1385, -0.0438,  0.1409,
          0.0008,  0.1719]], device='cuda:0')
Epoch[48/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1623,  0.0518, -0.0333,  0.1811,  0.0917,  0.1377, -0.0409,  0.1402,
          0.0027,  0.1706]], device='cuda:0')
Epoch[49/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1611,  0.0527, -0.0308,  0.1796,  0.0919,  0.1369, -0.0380,  0.1395,
          0.0045,  0.1692]], device='cuda:0')
Epoch[50/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1598,  0.0536, -0.0282,  0.1780,  0.0921,  0.1362, -0.0353,  0.1388,
          0.0062,  0.1679]], device='cuda:0')
Epoch[51/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1586,  0.0545, -0.0258,  0.1765,  0.0923,  0.1354, -0.0325,  0.1382,
          0.0080,  0.1666]], device='cuda:0')
Epoch[52/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1575,  0.0554, -0.0233,  0.1750,  0.0925,  0.1347, -0.0299,  0.1375,
          0.0097,  0.1653]], device='cuda:0')
Epoch[53/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1563,  0.0563, -0.0210,  0.1736,  0.0927,  0.1340, -0.0272,  0.1369,
          0.0113,  0.1640]], device='cuda:0')
Epoch[54/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1552,  0.0571, -0.0186,  0.1722,  0.0928,  0.1333, -0.0247,  0.1362,
          0.0130,  0.1628]], device='cuda:0')
Epoch[55/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1541,  0.0579, -0.0163,  0.1708,  0.0930,  0.1326, -0.0221,  0.1356,
          0.0146,  0.1616]], device='cuda:0')
Epoch[56/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1530,  0.0587, -0.0141,  0.1694,  0.0932,  0.1320, -0.0197,  0.1350,
          0.0162,  0.1604]], device='cuda:0')
Epoch[57/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1520,  0.0595, -0.0119,  0.1681,  0.0934,  0.1313, -0.0173,  0.1344,
          0.0177,  0.1592]], device='cuda:0')
Epoch[58/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1509,  0.0603, -0.0097,  0.1667,  0.0935,  0.1307, -0.0149,  0.1338,
          0.0192,  0.1581]], device='cuda:0')
Epoch[59/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1499,  0.0611, -0.0076,  0.1654,  0.0937,  0.1301, -0.0126,  0.1332,
          0.0207,  0.1570]], device='cuda:0')
Epoch[60/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1489,  0.0618, -0.0055,  0.1642,  0.0938,  0.1294, -0.0103,  0.1326,
          0.0222,  0.1559]], device='cuda:0')
Epoch[61/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1480,  0.0626, -0.0035,  0.1629,  0.0940,  0.1288, -0.0081,  0.1320,
          0.0236,  0.1548]], device='cuda:0')
Epoch[62/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1470,  0.0633, -0.0015,  0.1617,  0.0941,  0.1283, -0.0059,  0.1315,
          0.0251,  0.1537]], device='cuda:0')
Epoch[63/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1461,  0.0640,  0.0005,  0.1605,  0.0943,  0.1277, -0.0038,  0.1309,
          0.0264,  0.1527]], device='cuda:0')
Epoch[64/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[ 0.1451,  0.0647,  0.0024,  0.1594,  0.0944,  0.1271, -0.0017,  0.1304,
          0.0278,  0.1517]], device='cuda:0')
Epoch[65/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1442, 0.0654, 0.0043, 0.1582, 0.0946, 0.1266, 0.0004, 0.1299, 0.0291,
         0.1507]], device='cuda:0')
Epoch[66/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1434, 0.0661, 0.0061, 0.1571, 0.0947, 0.1260, 0.0024, 0.1294, 0.0304,
         0.1497]], device='cuda:0')
Epoch[67/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1425, 0.0667, 0.0079, 0.1560, 0.0948, 0.1255, 0.0044, 0.1289, 0.0317,
         0.1488]], device='cuda:0')
Epoch[68/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1417, 0.0673, 0.0097, 0.1549, 0.0949, 0.1250, 0.0063, 0.1284, 0.0330,
         0.1478]], device='cuda:0')
Epoch[69/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1408, 0.0680, 0.0114, 0.1538, 0.0951, 0.1245, 0.0082, 0.1279, 0.0342,
         0.1469]], device='cuda:0')
Epoch[70/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1400, 0.0686, 0.0132, 0.1528, 0.0952, 0.1240, 0.0100, 0.1274, 0.0355,
         0.1460]], device='cuda:0')
Epoch[71/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1392, 0.0692, 0.0148, 0.1518, 0.0953, 0.1235, 0.0118, 0.1269, 0.0367,
         0.1451]], device='cuda:0')
Epoch[72/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1384, 0.0698, 0.0165, 0.1508, 0.0954, 0.1230, 0.0136, 0.1264, 0.0378,
         0.1442]], device='cuda:0')
Epoch[73/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1377, 0.0704, 0.0181, 0.1498, 0.0955, 0.1225, 0.0154, 0.1260, 0.0390,
         0.1434]], device='cuda:0')
Epoch[74/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1369, 0.0709, 0.0197, 0.1488, 0.0957, 0.1221, 0.0171, 0.1255, 0.0401,
         0.1426]], device='cuda:0')
Epoch[75/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1362, 0.0715, 0.0212, 0.1479, 0.0958, 0.1216, 0.0188, 0.1251, 0.0412,
         0.1417]], device='cuda:0')
Epoch[76/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1355, 0.0721, 0.0227, 0.1469, 0.0959, 0.1212, 0.0204, 0.1246, 0.0423,
         0.1409]], device='cuda:0')
Epoch[77/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1348, 0.0726, 0.0242, 0.1460, 0.0960, 0.1207, 0.0220, 0.1242, 0.0434,
         0.1402]], device='cuda:0')
Epoch[78/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1341, 0.0731, 0.0257, 0.1451, 0.0961, 0.1203, 0.0236, 0.1238, 0.0444,
         0.1394]], device='cuda:0')
Epoch[79/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1334, 0.0736, 0.0271, 0.1443, 0.0962, 0.1199, 0.0251, 0.1234, 0.0454,
         0.1386]], device='cuda:0')
Epoch[80/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1327, 0.0742, 0.0285, 0.1434, 0.0963, 0.1195, 0.0266, 0.1230, 0.0465,
         0.1379]], device='cuda:0')
Epoch[81/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1321, 0.0746, 0.0299, 0.1426, 0.0964, 0.1191, 0.0281, 0.1226, 0.0475,
         0.1371]], device='cuda:0')
Epoch[82/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1314, 0.0751, 0.0313, 0.1418, 0.0965, 0.1187, 0.0296, 0.1222, 0.0484,
         0.1364]], device='cuda:0')
Epoch[83/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1308, 0.0756, 0.0326, 0.1409, 0.0965, 0.1183, 0.0310, 0.1218, 0.0494,
         0.1357]], device='cuda:0')
Epoch[84/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1302, 0.0761, 0.0339, 0.1402, 0.0966, 0.1180, 0.0324, 0.1214, 0.0503,
         0.1350]], device='cuda:0')
Epoch[85/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1296, 0.0765, 0.0352, 0.1394, 0.0967, 0.1176, 0.0337, 0.1210, 0.0512,
         0.1344]], device='cuda:0')
Epoch[86/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1290, 0.0770, 0.0364, 0.1386, 0.0968, 0.1172, 0.0351, 0.1207, 0.0521,
         0.1337]], device='cuda:0')
Epoch[87/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1284, 0.0774, 0.0376, 0.1379, 0.0969, 0.1169, 0.0364, 0.1203, 0.0530,
         0.1331]], device='cuda:0')
Epoch[88/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1279, 0.0779, 0.0388, 0.1371, 0.0970, 0.1165, 0.0377, 0.1200, 0.0539,
         0.1324]], device='cuda:0')
Epoch[89/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1273, 0.0783, 0.0400, 0.1364, 0.0970, 0.1162, 0.0389, 0.1196, 0.0548,
         0.1318]], device='cuda:0')
Epoch[90/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1268, 0.0787, 0.0412, 0.1357, 0.0971, 0.1159, 0.0401, 0.1193, 0.0556,
         0.1312]], device='cuda:0')
Epoch[91/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1262, 0.0791, 0.0423, 0.1350, 0.0972, 0.1155, 0.0414, 0.1189, 0.0564,
         0.1306]], device='cuda:0')
Epoch[92/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1257, 0.0795, 0.0434, 0.1343, 0.0973, 0.1152, 0.0425, 0.1186, 0.0572,
         0.1300]], device='cuda:0')
Epoch[93/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1252, 0.0799, 0.0445, 0.1337, 0.0973, 0.1149, 0.0437, 0.1183, 0.0580,
         0.1294]], device='cuda:0')
Epoch[94/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1247, 0.0803, 0.0456, 0.1330, 0.0974, 0.1146, 0.0448, 0.1180, 0.0588,
         0.1289]], device='cuda:0')
Epoch[95/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1242, 0.0807, 0.0466, 0.1324, 0.0975, 0.1143, 0.0459, 0.1176, 0.0596,
         0.1283]], device='cuda:0')
Epoch[96/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1237, 0.0811, 0.0477, 0.1318, 0.0975, 0.1140, 0.0470, 0.1173, 0.0603,
         0.1278]], device='cuda:0')
Epoch[97/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1232, 0.0814, 0.0487, 0.1311, 0.0976, 0.1137, 0.0481, 0.1170, 0.0610,
         0.1272]], device='cuda:0')
Epoch[98/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1228, 0.0818, 0.0497, 0.1305, 0.0977, 0.1135, 0.0491, 0.1167, 0.0618,
         0.1267]], device='cuda:0')
Epoch[99/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1223, 0.0821, 0.0506, 0.1300, 0.0977, 0.1132, 0.0502, 0.1164, 0.0625,
         0.1262]], device='cuda:0')
Epoch[100/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1219, 0.0825, 0.0516, 0.1294, 0.0978, 0.1129, 0.0512, 0.1161, 0.0632,
         0.1257]], device='cuda:0')
...

Epoch[480/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[481/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[482/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[483/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[484/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[485/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[486/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[487/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[488/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[489/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[490/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[491/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[492/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[493/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[494/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[495/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[496/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[497/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[498/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[499/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
Epoch[500/500], bias: tensor([0.2830], device='cuda:0'), weight: tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
weight:  tensor([[0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000, 0.1000,
         0.1000]], device='cuda:0')
bias:  tensor([0.2830], device='cuda:0')

0 Answers
Related