mirror of
https://github.com/wassname/TTS.git
synced 2026-09-12 12:11:47 +08:00
Decoder shape comments for Tacotron2, decoupled grad clip for stopnet and the rest of the network. Some variable renaming and bug fix for alignment score logging
This commit is contained in:
@@ -150,10 +150,13 @@ def save_best_model(model, optimizer, model_loss, best_loss, out_path,
|
||||
return best_loss
|
||||
|
||||
|
||||
def check_update(model, grad_clip):
|
||||
def check_update(model, grad_clip, ignore_stopnet=False):
|
||||
r'''Check model gradient against unexpected jumps and failures'''
|
||||
skip_flag = False
|
||||
grad_norm = torch.nn.utils.clip_grad_norm_(model.parameters(), grad_clip)
|
||||
if ignore_stopnet:
|
||||
grad_norm = torch.nn.utils.clip_grad_norm_([param for name, param in model.named_parameters() if 'stopnet' not in name], grad_clip)
|
||||
else:
|
||||
grad_norm = torch.nn.utils.clip_grad_norm_(model.parameters(), grad_clip)
|
||||
if np.isinf(grad_norm):
|
||||
print(" | > Gradient is INF !!")
|
||||
skip_flag = True
|
||||
|
||||
+20
-15
@@ -11,22 +11,27 @@ class Logger(object):
|
||||
def tb_model_weights(self, model, step):
|
||||
layer_num = 1
|
||||
for name, param in model.named_parameters():
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/max".format(layer_num, name),
|
||||
if param.numel() == 1:
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/value".format(layer_num, name),
|
||||
param.max(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/min".format(layer_num, name),
|
||||
param.min(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/mean".format(layer_num, name),
|
||||
param.mean(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/std".format(layer_num, name),
|
||||
param.std(), step)
|
||||
self.writer.add_histogram(
|
||||
"layer{}-{}/param".format(layer_num, name), param, step)
|
||||
self.writer.add_histogram(
|
||||
"layer{}-{}/grad".format(layer_num, name), param.grad, step)
|
||||
else:
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/max".format(layer_num, name),
|
||||
param.max(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/min".format(layer_num, name),
|
||||
param.min(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/mean".format(layer_num, name),
|
||||
param.mean(), step)
|
||||
self.writer.add_scalar(
|
||||
"layer{}-{}/std".format(layer_num, name),
|
||||
param.std(), step)
|
||||
self.writer.add_histogram(
|
||||
"layer{}-{}/param".format(layer_num, name), param, step)
|
||||
self.writer.add_histogram(
|
||||
"layer{}-{}/grad".format(layer_num, name), param.grad, step)
|
||||
layer_num += 1
|
||||
|
||||
def dict_to_tb_scalar(self, scope_name, stats, step):
|
||||
|
||||
Reference in New Issue
Block a user