df = pd.read_csv('spirals.csv')

data = torch.tensor(df.values, dtype=torch.float32)

num_input = data.shape[1] - 1

full_input = data[:, 0:num_input]
full_target = data[:, num_input:num_input + 1]

train_dataset = torch.utils.data.TensorDataset(full_input, full_target)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=97)

# choose network architecture
if args.net == 'polar':
    net = PolarNet(args.hid)
else:
    net = RawNet(args.hid)

if list(net.parameters()):
    # initialize weight values
    for m in list(net.parameters()):
        m.data.normal_(0, args.init)

    # use Adam optimizer
    optimizer = torch.optim.Adam(net.parameters(),
                                 eps=0.000001,
                                 lr=args.lr,
                                 betas=(0.9, 0.999),
                                 weight_decay=0.0001)