Код: Выделить всё
import torch
from torch.nn import CrossEntropyLoss
loss = CrossEntropyLoss()
T1 = torch.randn(10, 20, 4, 4) # The BatchSize is a 10 times repeated tensor (1,20,4,4)
T2 = torch.randint(1,20, (10, 4, 4))
loss(T1, T2)
Код: Выделить всё
import torch
from torch.nn import CrossEntropyLoss
loss = CrossEntropyLoss()
T1 = torch.randn(10, 20, 4, 4)
T2 = torch.randint(1,20, (10, 4, 4))
T1_sparse = T1.to_sparse_coo()
T2_sparse = T2.to_sparse_coo()
loss(T1_sparse, T2_sparse)
В настоящий момент я переношу разреженный код в_dense, но это взрывает мою память.
Поэтому я ищу способ вычислить CrossEntropy с помощью разреженных тензоров , возможно, используя индексы и значения.
Подробнее здесь: https://stackoverflow.com/questions/793 ... se-tensors