在vl_compilenn中修改VS2019 链接器的位置
在vl_compilenn nvcc_compile函数中将flags.base的-O改为-O3
将flags.mex flags.mexcuda flags.mexlink全部改为-lmwblas
计算方法:向量绝对值之和
计算方法:向量值之和的平方根
均方误差(MSE/L2):
平均绝对误差(MAE/L1):
huber损失:
log-cosh:
分位数损失:
0-1损失:
逻辑损失:
合页损失:
指数损失:
modified huber损失:
def line_reg(x, w, b):
return t.mm(x, w) + b
pass
def loss(true_y, y):
return (true_y - y.view(true_y.size())) ** 2 / 2
pass
def optimize(params, lr, batch):
for param in params:
param.data -= lr * param.grad / batch
pass
w = t.tensor(np.random.normal(0, 0.1, (2, 1)), dtype=t.float32, requires_grad=True)
b = t.zeros(1, dtype=t.float32, requires_grad=True)
epochs = 4
lr = 0.03
batch = 10
for epoch in range(epochs):
for x, y in get_random_sample(batch, features, labels):
l = loss(line_reg(x, w, b), y).sum()
l.backward()
optimize([w, b], lr, batch)
w.grad.data.zero_()
b.grad.data.zero_()
train_1 = loss(line_reg(features, w, b), labels)
print(‘epoch %d,loss %f’ % (epoch, train_1.mean().item()))