Spaces:
Runtime error
Runtime error
import torch | |
import modules.shared | |
def find_self(self): | |
for k, v in modules.shared.hypernetworks.items(): | |
if v == self: | |
return k | |
return None | |
def optim_to(optim:torch.optim.Optimizer, device="cpu"): | |
def inplace_move(obj: torch.Tensor, target): | |
if hasattr(obj, 'data'): | |
obj.data = obj.data.to(target) | |
if hasattr(obj, '_grad') and obj._grad is not None: | |
obj._grad.data = obj._grad.data.to(target) | |
if isinstance(optim, torch.optim.Optimizer): | |
for param in optim.state.values(): | |
if isinstance(param, torch.Tensor): | |
inplace_move(param, device) | |
elif isinstance(param, dict): | |
for subparams in param.values(): | |
inplace_move(subparams, device) | |
torch.cuda.empty_cache() | |
def parse_dropout_structure(layer_structure, use_dropout, last_layer_dropout): | |
if layer_structure is None: | |
layer_structure = [1, 2, 1] | |
if not use_dropout: | |
return [0] * len(layer_structure) | |
dropout_values = [0] | |
dropout_values.extend([0.3] * (len(layer_structure) - 3)) | |
if last_layer_dropout: | |
dropout_values.append(0.3) | |
else: | |
dropout_values.append(0) | |
dropout_values.append(0) | |
return dropout_values | |
def get_closest(val): | |
i, j = divmod(val,64) | |
return i*64 + (j!=0) * 64 |