self.load_state_dict(torch.load('BEST_WS'))
            os.remove('BEST_WS')

            best_asd_path = os.path.join(
                config.DATA_PATH, 'Trained_Models',
                'Complex_Fully_Connected_WGAN_LPF_W',
                time_stamp() + '|WS' + '|BC:' + str(batch_size) + '|g_eta:' +
                str(g_eta) + '|d_eta:' + str(d_eta) + '|n_critic:' +
                str(n_critic) + '|clip_value:' + str(clip_value))
            torch.save(self.state_dict(), best_asd_path)
        except:
            pass

        return


if __name__ == '__main__':
    set_start_method('spawn')  # To make dynamic reporter works

    for eta in [0.0001, 0.00001, 0.001]:
        for i in range(3):
            report_path = os.path.join(
                config.DATA_PATH, 'Training_Reports',
                'Complex_Fully_Connected_WGAN_LPF_W',
                time_stamp() + '|eta:' + str(eta) + '|n_critic:' + str(5) +
                '|clip_value:' + str(0.01) + '.png')
            init_dynamic_report(3, report_path)
            gan = Complex_Fully_Connected_WGAN_LPF_W(dim)
            gan.train(train_set, 10, 200, eta, eta, 5, 0.01, True)
            stop_dynamic_report()
a.shape
# %%
a[1]
# %%
a = np.array([])
# %%
a
# %%
a.shape
# %%
from dynamic_reporter import init_dynamic_report
from dynamic_reporter import stop_dynamic_report
import dynamic_reporter
import time
# %%
q = init_dynamic_report(10)
# %%
stop_dynamic_report(564)
# %%
q
# %%
q.qsize()
# %%
q.put({'wefwf': 58789874987.456})


# %%
def f():
    global A
    if 'A' in globals():
        print('ok')