a = torch.tensor(...)
a.dtype # float32
a.type() # torch.FloatTensor
a.device
float/ double/ half
發生問題處
解決
.float() vs .double()
in dataset
X = torch.from_numpy(X).float()
y = torch.from_numpy(y).float()
in train function
model.float()
Error: tow devices cuda and cpu
出現問題處
模型
新加的模型層
資料
save dict完以後
torch.load ⇒ optimizer裡面的 param_groups
checkpoint = torch.load(PATH, map_location=opt.device)
optimizer = checkpoint['optimizer_state_dict']
for param_group in optimizer.param_groups:
for K, V in param_group.items():
if isinstance(v, torch.Tensor):
print(k)
print(v.type())
print(v.device)
for K, V in optimizer.state.items():
for k, v in V.items():
if isinstance(v, torch.Tensor):
# V[k] = v.to(opt.device)
print(V[k].device, V[k].type())
解決