用tdqm在batch情况下的dataloader联合使用可视化进度

本文介绍了如何在使用PyTorch DataLoader加载数据时,利用tqdm库优雅地跟踪训练进度,包括设置数据集、配置Dataloader并实现带有进度条的循环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用dataloader写数据集,在使用tqdm的时候遇见了一些问题,经过查找大量的资料,总结一个简单的方法。

首先,先设置网络的输入和输出,假设这两个量已经是tensor类型了。

  • 输入:tensor_x
  • 输出:tensor_y

那么导入这个库函数

from torch.utils.data import  DataLoader, TensorDataset
dataset = TensorDataset(tensor_x, tensor_y)
loader = DataLoader(dataset=dataset,batch_size=32,shuffle=False,num_workers=2,pin_memory=True)

接下来,开始写循环

for i in range(10):

	with tqdm(total=len(loader)) as t:
	
		for step, (batch_x, batch_y) in enumerate(loader):
		
            batch_x = batch_x.cuda()
            batch_y = batch_y.cuda()
			
			pre_y = model(batch_x)
			
			MSE = nn.MSELoss()
            loss= MSE(pre_control, batch_y)
			
			t.set_description(desc="Epoch %i"%i)
            t.set_postfix(steps=step, loss=loss.data.item())
            t.update(1)
			
			optimizer = optim.SGD(model.parameters(), lr=0.001)
			optimizer.zero_grad()
			loss.backward()
			optimizer.step()

那么结果显示为:

Epoch 0: 100%|??????????| 232/232 [00:51<00:00,  4.54it/s, loss=0.0431, steps=231]
Epoch 1: 100%|??????????| 232/232 [00:35<00:00,  6.62it/s, loss=0.131, steps=231]
Epoch 2: 100%|??????????| 232/232 [00:35<00:00,  6.46it/s, loss=0.172, steps=231]
Epoch 3: 100%|??????????| 232/232 [00:35<00:00,  6.49it/s, loss=0.123, steps=231]
Epoch 4: 100%|??????????| 232/232 [00:36<00:00,  6.42it/s, loss=0.0824, steps=231]
Epoch 5: 100%|??????????| 232/232 [00:35<00:00,  6.46it/s, loss=0.0824, steps=231]
Epoch 6: 100%|??????????| 232/232 [00:35<00:00,  6.54it/s, loss=0.118, steps=231]
Epoch 7: 100%|??????????| 232/232 [00:34<00:00,  6.67it/s, loss=0.0883, steps=231]
Epoch 8: 100%|??????????| 232/232 [00:34<00:00,  6.74it/s, loss=0.143, steps=231]
Epoch 9: 100%|??????????| 232/232 [00:34<00:00,  6.71it/s, loss=0.123, steps=231]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值