1、AudioDataset(Dataset)和DataLoaderX(DataLoader):
在PyTorch中,数据加载需要自定义数据集类,并用此类来实例化数据对象,实现自定义的数据集需要继承torch.utils.data包中的Dataset类。
在继承Dataset实现自己的类时,需要实现以下两个Python魔法方法:
getitem(index): 返回一个样本数据,当使用obj[index]时实际就是在调用obj.getitem(index)
len():返回样本的数量,当使用len(obj)时实际就是在调用obj.len()
2、pytorch model.train()
model.train():
在使用pytorch构建神经网络的时候,训练过程中会在程序上方添加一句model.train(),作用是启用batch normalization和drop out。
model.eval():
测试过程中会使用model.eval(),这时神经网络会沿用batch normalization的值,并不使用drop out。
3、张量类型的转换
x = torch.tensor([1,2,3]) //默认是cpu,类型为FloatTensor
CPU和GPU的Tensor之间转换
从cpu –> gpu,使用x.cuda()即可。//x是torch.cuda.FloatTensor类型
若从gpu –> cpu,则使用x.cpu()。