Например. A — это модель cuda, а B — модель процессора (но я не знаю ее, пока не узнаю тип устройства). Тогда новыми моделями будут C и D соответственно, где
Код: Выделить всё
class NewModule(torch.nn.Module):
def __init__(self, base):
super(NewModule, self).__init__()
self.base = base
self.extra = my_layer() # e.g. torch.nn.Linear()
def forward(self,x):
y = self.base(x)
z = self.extra(y)
return z
...
C = NewModule(A) # cuda
D = NewModule(B) # cpu
Код: Выделить всё
def __init__(self, base):
super(NewModule, self).__init__()
self.base = base
self.extra = my_layer().to(base.device)
Что мне следует сделать, чтобы получить базовый тип устройства? Или какой-либо другой способ заставить базу и дополнительную автоматически находиться на одном устройстве, даже если структура базы неопределенна?
Мобильная версия