def prepare_mixture_gm_data(arguments):
dataset = []
arguments.L2 = 2
arguments.L1 = 2
arguments.K = 200
sig0 = 5
sig = 0.1
num_means = arguments.num_means
means = 5*torch.randn(num_means, arguments.L2)
arguments.means = means.numpy()
N = 2000
mixinds = torch.multinomial(torch.ones(num_means), N, replacement=True)
obsnoise = torch.randn(N, arguments.L2)
data = means[mixinds] + obsnoise
inp = torch.randn(N, arguments.L1)
dataset1 = TensorDataset(inp, data, [1]*N)
datasetmix = dataset1
kwargs = {'num_workers': 1, 'pin_memory': True} if arguments.cuda else {}
loader1 = data_utils.DataLoader(dataset1, batch_size=arguments.batch_size, shuffle=False, **kwargs)
loader_mix = data_utils.DataLoader(datasetmix, batch_size=arguments.batch_size, shuffle=False, **kwargs)
return loader1, loader_mix
评论列表
文章目录