def update_disc_plot(ax: plt.Axes, d_x, d_g_z, update_interval): clear_line(ax, 'dx') clear_line(ax, 'dgz') x = np.arange(1, len(d_x) + 1) ax.plot(x, d_x, color='#308862', label='D(x)', gid='dx') ax.plot(x, d_g_z, color='#B23F62', label='D(G(z))', gid='dgz', alpha=0.9) ax.legend(loc='upper right', framealpha=0.75, bbox_to_anchor=(1.008, 1.136), ncol=5) ax.set_xlim(left=1, right=len(x) + 0.01) ax.set_ylim(0, 1.0) ax.set_yticks(np.arange(0, 1, 0.1)) ticks = ax.get_xticks() ax.set_xticklabels([f'{t:.0f}' for t in ticks * update_interval])
def update_data_plot(ax, D, fake_data, device): # draw decision discriminator boundary clear_line(ax, 'decision') plot_decision_boundary(ax, D, device) # clear_patch(ax, 'g_hist') ax.hist(fake_data, gid='g_hist', bins=100, density=True, histtype='stepfilled', label='generated', facecolor='moccasin', edgecolor='sandybrown', linewidth=2, alpha=0.85) ax.legend(loc='upper right', framealpha=0.75)
def update_loss_plot(ax: plt.Axes, d_loss, d_fake_loss, g_loss, update_interval, separate=False): clear_line(ax, 'd_loss') clear_line(ax, 'g_loss') x = np.arange(1, len(d_loss) + 1) if separate: ax.plot(x, np.add(d_loss, d_fake_loss), color='dodgerblue', label='D Loss', gid='d_loss') clear_line(ax, 'd_real_loss') ax.plot(x, d_loss, color='lightseagreen', label='D Loss(Real)', gid='d_real_loss') clear_line(ax, 'd_fake_loss') ax.plot(x, d_fake_loss, color='mediumpurple', label='D Loss(Fake)', gid='d_fake_loss') else: ax.plot(x, d_loss, color='dodgerblue', label='D Loss', gid='d_loss') ax.plot(x, g_loss, color='coral', label='G Loss', gid='g_loss', alpha=0.9) ax.legend(loc='upper right', framealpha=0.75, bbox_to_anchor=(1.008, 1.136), ncol=5) ax.set_xlim(left=1, right=len(x) + 0.01) ticks = ax.get_xticks() ax.set_xticklabels([f'{t:.0f}' for t in ticks * update_interval])