MCPcopy Create free account
hub / github.com/ddbourgin/numpy-ml / test_WGAN_GP

Function test_WGAN_GP

numpy_ml/tests/test_nn.py:2326–2446  ·  view source on GitHub ↗
(N=1)

Source from the content-addressed store, hash-verified

2324
2325
2326def test_WGAN_GP(N=1):
2327 from numpy_ml.neural_nets.models.wgan_gp import WGAN_GP
2328
2329 np.random.seed(12345)
2330
2331 ss = np.random.randint(0, 1000)
2332 np.random.seed(ss)
2333
2334 N = np.inf if N is None else N
2335
2336 i = 1
2337 while i < N + 1:
2338 c_updates_per_epoch, n_steps = 1, 1
2339 n_ex = np.random.randint(1, 500)
2340 n_in = np.random.randint(1, 100)
2341 lambda_ = np.random.randint(0, 20)
2342 g_hidden = np.random.randint(2, 500)
2343 X = random_tensor((n_ex, n_in), standardize=True)
2344
2345 # initialize WGAN_GP model
2346 L1 = WGAN_GP(g_hidden=g_hidden, debug=True)
2347
2348 # forward prop
2349 batchsize = n_ex
2350 L1.fit(
2351 X,
2352 lambda_=lambda_,
2353 c_updates_per_epoch=c_updates_per_epoch,
2354 n_steps=n_steps,
2355 batchsize=batchsize,
2356 )
2357
2358 # backprop
2359 dv = L1.derived_variables
2360 params = L1.parameters["components"]
2361 grads = L1.gradients["components"]
2362 params["noise"] = dv["noise"]
2363 params["alpha"] = dv["alpha"]
2364 params["n_in"] = n_in
2365 params["g_hidden"] = g_hidden
2366 params["c_updates_per_epoch"] = c_updates_per_epoch
2367 params["n_steps"] = n_steps
2368
2369 # get gold standard gradients
2370 golds = WGAN_GP_tf(X, lambda_=lambda_, batch_size=batchsize, params=params)
2371
2372 params = [
2373 (dv["X_real"], "X_real"),
2374 (params["generator"]["FC1"]["W"], "G_weights_FC1"),
2375 (params["generator"]["FC2"]["W"], "G_weights_FC2"),
2376 (params["generator"]["FC3"]["W"], "G_weights_FC3"),
2377 (params["generator"]["FC4"]["W"], "G_weights_FC4"),
2378 (dv["G_fwd_X_fake"]["FC1"], "G_fwd_X_fake_FC1"),
2379 (dv["G_fwd_X_fake"]["FC2"], "G_fwd_X_fake_FC2"),
2380 (dv["G_fwd_X_fake"]["FC3"], "G_fwd_X_fake_FC3"),
2381 (dv["G_fwd_X_fake"]["FC4"], "G_fwd_X_fake_FC4"),
2382 (dv["X_fake"], "X_fake"),
2383 (dv["X_interp"], "X_interp"),

Callers

nothing calls this directly

Calls 5

fitMethod · 0.95
random_tensorFunction · 0.90
WGAN_GPClass · 0.90
WGAN_GP_tfFunction · 0.85
err_fmtFunction · 0.70

Tested by

no test coverage detected