Я выполняю некоторую задачу классификации для CIFAR10 с помощью Pytorch, и для каждой итерации мне приходится выполнять некоторую предварительную обработку для каждого пакета, прежде чем я смогу передать его в модель.
Ниже приведен код для части предварительной обработки для каждого пакета:
S = torch.zeros((batch_size, C, H, W))
for i in range(batch_size):
img = batch[i, :, :, :]
for c in range(C):
U, _, V = torch.svd(img[c])
S[i, c] = U[:, 0].view(-1, 1).matmul(V[:, 0].view(1, -1))
Однако этот расчет выполняется очень медленно. Можно ли как-нибудь ускорить этот код?
Я выполняю некоторую задачу классификации для CIFAR10 с помощью Pytorch, и для каждой итерации мне приходится выполнять некоторую предварительную обработку для каждого пакета, прежде чем я смогу передать его в модель. Ниже приведен код для части предварительной обработки для каждого пакета:
[code]S = torch.zeros((batch_size, C, H, W)) for i in range(batch_size): img = batch[i, :, :, :] for c in range(C): U, _, V = torch.svd(img[c]) S[i, c] = U[:, 0].view(-1, 1).matmul(V[:, 0].view(1, -1)) [/code]
Однако этот расчет выполняется очень медленно. Можно ли как-нибудь ускорить этот код?