In [7]:
import torch
from torch.autograd import Variable
import torch.nn.functional as F
import matplotlib.pyplot as plt
import torch.utils.data as Data

In [9]:
torch.manual_seed(1)    # reproducible

BATCH_SIZE = 5
# BATCH_SIZE = 8

x = torch.linspace(1, 10, 10)       # this is x data (torch tensor)
y = torch.linspace(10, 1, 10)       # this is y data (torch tensor)

torch_dataset = Data.TensorDataset(data_tensor=x, target_tensor=y)
loader = Data.DataLoader(
    dataset=torch_dataset,      # torch TensorDataset format
    batch_size=BATCH_SIZE,      # mini batch size
    shuffle=False,               # random shuffle for training
    num_workers=2,              # subprocesses for loading data
)

for epoch in range(3):   # train entire dataset 3 times
    for step, (batch_x, batch_y) in enumerate(loader):  # for each training step
        # train your data...
        print('Epoch: ', epoch, '| Step: ', step, '| batch x: ',
              batch_x.numpy(), '| batch y: ', batch_y.numpy())


Epoch:  0 | Step:  0 | batch x:  [ 1.  2.  3.  4.  5.] | batch y:  [ 10.   9.   8.   7.   6.]
Epoch:  0 | Step:  1 | batch x:  [  6.   7.   8.   9.  10.] | batch y:  [ 5.  4.  3.  2.  1.]
Epoch:  1 | Step:  0 | batch x:  [ 1.  2.  3.  4.  5.] | batch y:  [ 10.   9.   8.   7.   6.]
Epoch:  1 | Step:  1 | batch x:  [  6.   7.   8.   9.  10.] | batch y:  [ 5.  4.  3.  2.  1.]
Epoch:  2 | Step:  0 | batch x:  [ 1.  2.  3.  4.  5.] | batch y:  [ 10.   9.   8.   7.   6.]
Epoch:  2 | Step:  1 | batch x:  [  6.   7.   8.   9.  10.] | batch y:  [ 5.  4.  3.  2.  1.]

In [ ]: