Files
voice-cloning-collab/update_plot.py
TiptoeHigher 9edd7c9ef1 initial commit
2022-11-04 16:38:13 +08:00

64 lines
2.5 KiB
Python

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation
def main(module_name):
if module_name == "synthesizer":
# function to update the data
def my_function(i):
# get data
train_loss_arr = np.load("src/synthesizer_loss/synthesizer_train_loss.npy")
dev_loss_arr = np.load("src/synthesizer_loss/synthesizer_dev_loss.npy")
# clear axis
ax.cla()
# plot cpu
ax.plot(train_loss_arr)
ax.plot(dev_loss_arr)
ax.legend(["Train Loss", "Dev Loss"])
ax.scatter(len(train_loss_arr) - 1, train_loss_arr[-1])
ax.text(len(train_loss_arr)-1, train_loss_arr[-1], f"({len(train_loss_arr) - 1}, {train_loss_arr[-1]:.6})")
ax.scatter(len(dev_loss_arr) - 1, dev_loss_arr[-1])
ax.text(len(dev_loss_arr)-1, dev_loss_arr[-1], f"({len(dev_loss_arr) - 1}, {dev_loss_arr[-1]:.6})")
# ax.set_ylim([0, 1])
plt.xlabel("*100Steps")
plt.ylabel("Loss")
plt.title("Synthesizer Loss")
# define and adjust figure
fig, ax = plt.subplots()
ax.set_facecolor('#DEDEDE')
plt.xlabel("total steps")
# animate
ani = FuncAnimation(fig, my_function, interval=1000)
plt.show()
elif module_name == "vocoder":
# function to update the data
def my_function(i):
# get data
train_loss_arr = np.load("src/vocoder_loss/vocoder_train_loss.npy")
dev_loss_arr = np.load("src/vocoder_loss/vocoder_dev_loss.npy")
# clear axis
ax.cla()
# plot cpu
ax.plot(train_loss_arr)
ax.plot(dev_loss_arr)
ax.legend(["Train Loss", "Dev Loss"])
ax.scatter(len(train_loss_arr) - 1, train_loss_arr[-1])
ax.text(len(train_loss_arr), train_loss_arr[-1]+0.1, f"({len(train_loss_arr) - 1}, {train_loss_arr[-1]:.6})")
ax.scatter(len(dev_loss_arr) - 1, dev_loss_arr[-1])
ax.text(len(dev_loss_arr), dev_loss_arr[-1]-0.1, f"({len(dev_loss_arr) - 1}, {dev_loss_arr[-1]:.6})")
ax.set_ylim([0, 5])
plt.xlabel("*100Steps")
plt.ylabel("Loss")
plt.title("Vocoder Loss")
# define and adjust figure
fig, ax = plt.subplots()
ax.set_facecolor('#DEDEDE')
plt.xlabel("total steps")
# animate
ani = FuncAnimation(fig, my_function, interval=1000)
plt.show()
main("synthesizer")