机器学习:需要人工提供特征,数据量少
深度学习:自动挖掘特征,数据量大
dataset与dataloader
首先需要将自己的数据封装成dataset,也就是实现init,len,和getitem的方法,这里需要注意getitem返回的是一个data,label的tuple。这里注意由于batchsize的限制最后一次大小不确定,可以使用dataloader的drop_last参数
dataloader可以读取dataset的数据
forward:需要在init里预先定义好参数,这是死的,数据的大小是灵活的,可以用x[0].shape来动态设置。
优化器:w = w + lr*a,就是对这一部分做修改,在每次loss反向传播后优化更新规则。
编码用sin cos是可以反应周期性
transform多头是指将qk分成多个方便GPU并行计算
ln和bn的区别一个纵向一个横向
torch版本与cuda对应关系
查看cuda版本
nvidia-smi
查找对应torch版本
https://pytorch.org/get-started/previous-versions/
torch.load pt时需要在项目的本地,有很多Model.py路径等也被存进去了
解决方式sys.path.append(’/home/yangkun/xm/THAT-main’)
创建dataloader新步骤
详情见center.py
1.生成npy
2.randomsplit
3.转换成torch
4. Data.TensorDataset(train_x, train_y)
5. trainloader = torch.utils.data.DataLoader(
trainloader, batch_size=args.batch_size, shuffle=True,
num_workers=4, pin_memory=True,
)