continuous = False train_idx, valid_idx, test_idx, other_data = data.apnews() [docs, dic, w2i, i2w] = other_data dim_x = len(dic) dim_y = dim_x print "#features = ", dim_x, "#labels = ", dim_y print "compiling..." model = VAE(dim_x, dim_x, hidden_size, latent_size, continuous, optimizer) print "training..." start = time.time() for i in xrange(100): train_xy = data.batched_idx(train_idx, batch_size) error = 0.0 in_start = time.time() for batch_id, x_idx in train_xy.items(): X = data.batched_news(x_idx, other_data) cost, z = model.train(X, lr) error += cost #print i, batch_id, "/", len(train_xy), cost in_time = time.time() - in_start error /= len(train_xy) print "Iter = " + str(i) + ", Loss = " + str(error) + ", Time = " + str( in_time) print "training finished. Time = " + str(time.time() - start)
continuous = False train_idx, valid_idx, test_idx, other_data = data.apnews() [docs, dic, w2i, i2w, targets] = other_data dim_x = len(dic) dim_y = dim_x print("#features = ", dim_x, "#labels = ", dim_y) print("compiling...") model = VAE(dim_x, dim_x, hidden_size, latent_size, continuous, optimizer) print("training...") start = time.time() for i in range(20): train_xy = data.batched_idx(train_idx, batch_size) error = 0.0 in_start = time.time() for batch_id, x_idx in train_xy.items(): X = data.batched_news(x_idx, other_data) cost, z = model.train(X, lr) error += cost #print i, batch_id, "/", len(train_xy), cost in_time = time.time() - in_start error /= len(train_xy); print("Iter = " + str(i) + ", Loss = " + str(error) + ", Time = " + str(in_time)) print("training finished. Time = " + str(time.time() - start)) print("save model...")
optimizer = "rmsprop" train_idx, valid_idx, test_idx, other_data = data.apnews() [docs, dic, w2i, i2w] = other_data dim_x = len(dic) dim_y = dim_x print "#features = ", dim_x, "#labels = ", dim_y print "compiling..." model = GAN(dim_x, hidden_size, latent_size, optimizer) print "training..." start = time.time() for i in xrange(100): train_xy = data.batched_idx(train_idx, batch_size) error_d = 0.0 error_g = 0.0 in_start = time.time() for batch_id, x_idx in train_xy.items(): local_bath_size = len(x_idx) X = data.batched_news(x_idx, other_data) Z = model.noiser(local_bath_size) loss_d = 0 for di in xrange(iter_d): loss_d += model.train_d(X, Z, lr) loss_d = loss_d / iter_d loss_g = model.train_g(X, Z, lr) error_d += loss_d