鉴于职能范围为[0,xmax]的减少,如果是参数,我想用Py Torch书写一个方案,从一些双面价值的培训数据中学习l的价值。 我拥有的培训数据是(x_i,g(x_i)), i=1,2,...,n,在 f(x)>时,g(x)=1;t 和其他ise 页: 1 这里的t是固定门槛值。 我界定了这一类别。
class Function(torch.nn.Module):
def __init__(self, l_init): # l is the parameter, its initial value is l_init
self.l = torch.nn.Parameter(torch.tensor(l_init, dtype=float))
def forward(self, x):
return f(x)
我还有一个变量train_data
,其中train_data[0]
为x_i s(一个浮动阵列)和train_data***
为g(x_i) s(a 0/1阵列)。 即时发送<条码>功能条码>模块:
f = Function()
将损失功能界定为
loss_func = lambda x, y: (x - y) ** 2
对于每一项培训,我对<代码>pred = Function(train_data[0])进行了计算,我不得不在不失去梯度功能的情况下计算损失。 但是,如果我写了字的话,我会写一下。
loss = loss_func((pred > t).float(), train_data[0])
梯度功能将丧失。 我应该怎样利用这一双轨培训数据来学习升值?