
pytorch学习
记录pytorch学习笔记
y hat
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《A Graph Multi-Attention Network for Traffic Prediction》论文笔记
读论文笔记原创 2021-03-10 17:17:54 · 496 阅读 · 3 评论 -
pytorch:解决训练数据不能被batchsize整除
训练seq2seq模型时,训练数据一般都不能刚好和batchsize成整数倍数关系。那么在每个epoch训练中,最后会剩余一组数据量<batchsize的数据。此时这些数据可能会不适合编写的网络形状,或者代码中reshape形状的部分,在rnn中还会不匹配隐状态形状。因为我的训练数据量很大,所以直接把最后一个不足batch的数据组抛弃就好。train_loader = Data.DataLoader(MyDataSet(train_enc_inputs, train_dec_inputs, t原创 2021-06-21 15:51:53 · 14290 阅读 · 2 评论 -
解决深度学习训练每次结果不同
1.在验证和测试代码时加入model.eval()可以打开验证开关,关闭所有的dropout等。但是在返回到训练时需要再次加入model.train()之前的训练中做了这个操作每次的测试结果就会保证一致。后来不知道发生了什么又不能一致了再加入种子2.加入seedtorch.manual_seed(seed)torch.cuda.manual_seed(seed)torch.cuda.manual_seed_all(seed) # if you are using multi-GPU.原创 2021-06-03 15:50:50 · 4748 阅读 · 0 评论 -
深度学习:标准化代码
引入scikit-learn的standarScaler来归一化对训练集进行fit_transform对测试集进行transformfrom sklearn.preprocessing import StandardScalertrain_dataset=scaler.fit_transform(train_dataset)test_dataset=scaler.transform(test_dataset)在数据集只有单变量的情况下,要使用np.array.reshape(-1,1)将形状原创 2021-06-02 20:38:54 · 660 阅读 · 0 评论 -
关于欠拟合、过拟合和模型容量的思考
最近在使用transformer模型做时间序列预测的问题。遇到了训练集损失正常下降但是验证集过拟合的现象。查阅资料和书籍后记录一下:简单来说就是一个神经网络模型参数对应着这个模型的容量,在训练模型的时候训练数据集的大小要和模型的容量大小相匹配。如果数据量足够大而模型容量较小,模型的拟合能力就会过差。在模型训练的时候就会出现训练集损失难以下降,从而导致验证或者测试集效果更差,这个是欠拟合的现象。如果模型过于庞大而数据集不够,可以预见的情况是你的训练集表现会非常好,很大的模型能够很好的拟合你的训练集,但是原创 2021-06-02 16:12:13 · 2210 阅读 · 1 评论 -
深度学习中linux常用命令
1.查看显卡状态nvidia-smi可以使用watch来让他周期性的刷新watch -n 10 nvidia-smi2.未完待续原创 2021-06-01 19:37:47 · 120 阅读 · 0 评论 -
pytorch训练解决显存爆炸问题
1.torch.cuda.empty_cache()每轮epoch后加这个代码实测没有用2.存储loss时将loss改为loss.item(),问题解决。loss_list=[]在我的代码中,在训练前建立了一个loss的list来存储每轮的loss,目的为了在N个EPOCH后绘制图像。loss = criterion(outputs, dec_outputs.view(-1).reshape(-1,1))optimizer.zero_grad()loss.backward()optimiz原创 2021-05-08 22:21:04 · 5496 阅读 · 5 评论 -
pytorch:多GPU训练、保存加载参数、测试
一、使用pytorch进行多GPU训练的需要添加的代码:#设置使用哪些显卡,我这里用所有可用的device_ids=range(torch.cuda.device_count())model = Transformer().cuda()model = nn.DataParallel(model, device_ids=device_ids)二、保存和加载参数#加载参数model.load_state_dict(torch.load('模型参数/两条130数值的测试用的模型参数.pkl'))原创 2021-05-01 15:32:59 · 1485 阅读 · 0 评论 -
jupyter:查看和修改当前jupyter环境
一、查看当前python版本import sysprint(sys.version)print(sys.executable)第一行输出当前python版本第二行输出解释器路径二、添加环境到jupyter中python -m ipykernel install --name name原创 2021-03-26 17:35:13 · 15956 阅读 · 0 评论 -
pytorch:RNN_regression
#!/usr/bin/env python# -*- coding: UTF-8 -*-'''=================================================@Project -> File :pytorch学习 -> RNN_regression@IDE :PyCharm@Author :zgq@Date :2021/3/23 12:11@Desc :======================================原创 2021-03-23 13:34:29 · 175 阅读 · 0 评论 -
pytorch:CNN
#!/usr/bin/env python# -*- coding: UTF-8 -*-'''=================================================@Project -> File :pytorch学习 -> cnn@IDE :PyCharm@Author :zgq@Date :2021/3/22 14:18@Desc :=================================================原创 2021-03-23 13:33:12 · 116 阅读 · 0 评论 -
pytorch:RNN_Claasification
#!/usr/bin/env python# -*- coding: UTF-8 -*-'''=================================================@Project -> File :pytorch学习 -> RNN@IDE :PyCharm@Author :zgq@Date :2021/3/22 20:55@Desc :=================================================原创 2021-03-23 12:10:21 · 141 阅读 · 0 评论 -
pytorch:optimizer
使用4种不同的optimizer训练了神经网络import torchimport torch.utils.data as Dataimport torch.nn.functional as Ffrom torch.autograd import Variableimport matplotlib.pyplot as plt#hyper parametersLR=0.01BATCH_SIZE=32EPOCH=12x=torch.unsqueeze(torch.linspace(-1,原创 2021-03-17 23:34:46 · 139 阅读 · 0 评论