Should structure data in a similar way, but simply use a different label type. Training can be performed initially by-structure, just to get the code up and running. ''' # --- Parameter setting ----- if p.suppress_warnings: import warnings warnings.filterwarnings("ignore") device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') cpu = torch.device('cpu') # reproducibility torch.manual_seed(p.random_seed) np.random.seed(p.random_seed) learn_rate = p.learn_rate modelpath = make_model_directory('c_beta_models') epochs = p.epochs # ---- Importing and structuring Datasets and Model ---- # Remember!!! Shape Index can only be computed on local. Add other transforms after # Pre_tranform step to not contaminate the data. trainset = StructuresDataset( root='/work/upcorreia/users/dcoukos/datasets/res_train/' ) #Pretranforms performed on local. validset = trainset[:150] trainset = trainset[150:] model = p.model_type(3, heads=p.heads).to(cpu) model.to(device) optimizer = torch.optim.Adam(model.parameters(),
from statistics import mean import torch.nn.functional as F from tqdm import tqdm # --- Parameter setting ----- if p.suppress_warnings: import warnings warnings.filterwarnings("ignore") device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') cpu = torch.device('cpu') # reproducibility torch.manual_seed(p.random_seed) np.random.seed(p.random_seed) learn_rate = p.learn_rate modelpath = make_model_directory() if str(device) == 'cuda:0': epochs = p.epochs else: epochs = 20 # ---- Importing and structuring Datasets and Model ---- print('Importing structures.') # Remember!!! Shape Index can only be computed on local. Add other transforms after # Pre_tranform step to not contaminate the data. trainset = Structures(root='./datasets/masif_site_train/', pre_transform=Compose((FaceAttributes(), NodeCurvature(), FaceToEdge(), TwoHop()))) # Define transform in epoch, so that rotation occurs around Δ axis every time. validset = Structures(root='./datasets/masif_site_test/',