MCPcopy Create free account
hub / github.com/Meshcapade/difflocks / train

Function train

train_rgb2material.py:158–264  ·  view source on GitHub ↗
(args, hyperparams, loader_train, loader_test, experiment_name, output_training_path)

Source from the content-addressed store, hash-verified

156
157
158def train(args, hyperparams, loader_train, loader_test, experiment_name, output_training_path):
159
160 cb=create_callbacks(with_tensorboard=hyperparams.with_tensorboard,\
161 with_visualizer=hyperparams.with_visualizer,\
162 viewer_config_path=hyperparams.viewer_config_path,\
163 experiment_name=experiment_name)
164
165 #create phases
166 phases= [
167 Phase('train', loader_train, grad=True),
168 Phase('test', loader_test, grad=False),
169 ]
170
171 #model
172 model = RGB2MaterialModel(
173 input_dim=1024,
174 out_dim=11,
175 hidden_dim=64,
176 ).to(args.device)
177 # model = torch.compile(model)
178
179
180
181 # #optimizer
182 optimizer = torch.optim.AdamW (model.parameters(), amsgrad=False, lr=hyperparams.lr, weight_decay=1e-3)
183 lr_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=hyperparams.nr_iters_to_train)
184 scheduler_warmup = UntunedLinearWarmup(optimizer)
185
186 progress_bar = tqdm(range(0, hyperparams.nr_iters_to_train), desc="Training progress")
187
188 loss_zero=torch.zeros((1)).cuda()
189
190
191 is_in_training_loop=True
192 while is_in_training_loop:
193
194 for phase in phases:
195 model.train(phase.grad)
196 cb.phase_started(phase=phase)
197 cb.epoch_started(phase=phase)
198
199
200 #run epoch
201 for batch in iter(phase.loader):
202 cb.before_forward_pass(phase=phase)
203
204 #progress
205 if phase.grad and phase.iter_nr%100==0 :
206 progress_bar.update(100)
207
208
209 #world_to_local
210 with torch.no_grad():
211 gt_dict = prepare_gt_batch(batch, hyperparams, do_augmentation=phase.grad)
212
213 input_dict=copy.deepcopy(gt_dict)
214 latents=input_dict["dinov2_latents"]
215

Callers 1

mainFunction · 0.70

Calls 15

RGB2MaterialModelClass · 0.90
UntunedLinearWarmupClass · 0.90
create_callbacksFunction · 0.85
PhaseClass · 0.85
compute_lossFunction · 0.85
backwardMethod · 0.80
dampeningMethod · 0.80
prepare_gt_batchFunction · 0.70
phase_startedMethod · 0.45
epoch_startedMethod · 0.45
before_forward_passMethod · 0.45
before_backward_passMethod · 0.45

Tested by

no test coverage detected