我们之前的代码中都是将所有的数据一起feed到神经网络中进行训练,但是当数据量比较大的时候,效率就会下下降,这个时候就需要批训练,分批把数据feed到网络中,这样会提高效率。
小demo:
import torch
import matplotlib.pyplot as plt
#进行批训练的时候需要用到data这个模块
import torch.utils.data as Data
from torch.autograd import Variable
x=torch.linspace(1,10,10)
y=torch.linspace(10,1,10)
torch_dataset=Data.TensorDataset(x,y)
BATCH_SIZE=5
loader=Data.DataLoader(
dataset=torch_dataset,
batch_size=BATCH_SIZE,
shuffle=True,
num_workers=2,
)
def show():
for epoch in range(3):
for step,(batch_x,batch_y) in enumerate(loader):
print ('epoch:',epoch,'|step',step,'|x:',batch_x.numpy(),'|y:',batch_y.numpy())
show()
加油,当你看到我的博客的时候,相信你一定在努力成为最好的自己的路上!
加油,别放弃,坚持,每天一点点,相信一年后的你一定会感谢现在的你!
如果你真的迷茫了,我愿当你的倾听者,但是你千万不能放弃,因为改变命运的机会真的不多呀!
QQ小号:1817780086