【发布时间】:2021-03-11 14:05:28
【问题描述】:
在 pytorch 中使用优化方法时如何包含边界。我有一个张量变量,每个变量都有不同的界限。
upper_bound = torch.tensor([1,5,10], requires_grad=False)
lower_bound = torch.tensor([-1,-5,-10], requires_grad=False)
X = torch.tensor([10, -60, 105], require_grad=True)
for _ in range(100):
optimizer.zero_grad()
loss = ..
loss.backward()
optimizer.step()
X[:] = X.clamp(lower_bound, upper_bound)
但是,clamp 只使用一个数字。由于每个变量的界限不同,我需要包括上限和下限张量。
【问题讨论】:
标签: optimization pytorch tensor constraint-programming