
PyTorch
文章平均质量分 69
PyTorch
JasmineFeng
这个作者很懒,什么都没留下…
展开
-
在PyTorch中计算导数
神经网络求解微分方程时需要计算导数,本文讲解如何在PyTorch中计算导数。原创 2023-01-09 15:24:32 · 850 阅读 · 0 评论 -
循环神经网络--LSTM与PyTorch实现(前馈)
承接上篇SimpleRNN, PyTorch中对于LSTM也有两个方法,即nn.LSTM和nn.LSTMCell。同样地,我们用两种方法来做一个简单例子的前馈。先来看LSTMCell,实例化用到的参数如下:from torch import nntorch.nn.LSTMCell(input_size: int, hidden_size: int, bias: bool = True)下面是官方文档中对于公式的说明以及参数的说明。请注意:实例化后的LSTM(或LSTMCell)对象,其权重是i原创 2020-12-06 21:19:17 · 1783 阅读 · 0 评论 -
pytorch用type转换数据类型报Expected type ‘Union[type, str]‘, got ‘dtype‘ instead警告
这是数据类型不对,torch.float32是dtype型的,我们要输一个type型的所以把torch.float32改成torch.FloatTensor就可以了,不警告了原创 2021-10-11 17:32:26 · 12362 阅读 · 1 评论 -
Pycharm中使用optuna调PyTorch超参基本操作
文章目录0、基本流程1、设定超参数搜索空间2、记录训练过程`trial.report`3、创建优化过程`optuna.create_study`4、可视化`optuna.visualization`4.1 等高线图4.2 记录训练过程的intermediate4.3 优化历史记录4.4、高维度参数的关系图4.5 超参重要性4.6、参数关系切片图5、安装0、基本流程import optunaimport plotlyfrom trainers import SimpleTrainer # 我自己写的训原创 2021-08-12 14:56:16 · 9903 阅读 · 16 评论 -
正则化无法解决神经网络过拟合 怎么办!?
文章目录1、背景描述2、原因探析3、问题解决4、改进效果1、背景描述这是一个“简单的”回归问题,为了锻炼自己的炼丹能力,我把函数关系搞得特别复杂:x_raw = torch.rand((1000, 10)) * 2y_raw = torch.cat((x_raw[:, [0]] * x_raw[:, [1]], -x_raw[:, [2]] * x_raw[:, [3]], x_raw[:, [9]] / x_raw[:,原创 2021-08-10 16:43:58 · 699 阅读 · 0 评论 -
常规卷积与因果卷积的区别详解
文章目录0、前言1、一般卷积2、因果卷积3、因果卷积的PyTorch实现0、前言今天学习因果卷积(WaveNet与TCN中的),看源代码的时候遇到了一些问题,比如为什么要Chomp1d?按我的理解吧,如果padding数目为(k−1)×d/2(k-1)\times d/2(k−1)×d/2(kkk表示卷积核尺寸kernel_size,ddd表示膨胀因子dilation_factor),那么按照公式卷积层输入和输出的长度就是不变的啊!为啥还要chomp呢?对了,顺便把源码也贴一下(链接至GitHub原创 2021-06-07 19:16:48 · 12020 阅读 · 11 评论 -
Pytorch1.7.1 GPU版 WIN10安装
文章目录0、前言1、流程2、Error2.1、HTTPError2.2、Conda - Downloaded bytes did not match Content-Length2.3、The environment is inconsistent0、前言本来我是有PyTorch1.7.0的,最近想装一个botorch,没注意到他要求torch版本得是1.7.1,就把我的torch1.7.0卸了???然后自动装了一个1.7.1的CPU版本的torch。我记得我当时装PyTorch超级超级麻烦,看了好多博原创 2021-02-27 18:29:05 · 4202 阅读 · 0 评论 -
CUDA out of memory的一种神奇解决方法
我的输入样本维度是(1000,12,24,72),一开始我是这么输入数据的:trainer.train(x_train, t_train, x_val, t_val)发现必溢出,后来我取出其中400个样本输入:trainer.train(x_train[:400], t_train[:400], x_val, t_val)发现不溢出了,训练正常,然后我把400删掉,但没删冒号:trainer.train(x_train[:], t_train[:], x_val, t_val)竟然也没有溢原创 2021-02-24 13:05:31 · 4262 阅读 · 3 评论 -
天池AI Earth挑战赛 PyTorch深度学习模型改进记录(无代码版)
文章目录1、截至2月23日14:401.1、基本思路1.2、数据预处理1.3、网络结构1.4、训练网络1、截至2月23日14:401.1、基本思路从测试的角度来看,输入数据维度:(months,lats,lons,features)(months, lats, lons, features)(months,lats,lons,features)其中,months=24,lats=24,lons=72,features=4months=24, lats=24,lons=72,features=4mon原创 2021-02-24 00:22:38 · 1122 阅读 · 1 评论 -
PyTorch维度变换(view,reshape,transpose,permute)
import torch文章目录1、reshape方法2、view方法3、permute方法4、transpose方法5、T属性1、reshape方法用法与NumPy的一模一样,既可以从torch这个库调用,torch.reshape(input, shape),也可以在Tensor对象上调用torch.Tensor.reshape(shape)。2、view方法与reshape方法相比有较大的局限性,原因在于只能在Tensor对象上调用Tensor对象必须是contiguous的,故常与原创 2021-02-16 20:54:03 · 949 阅读 · 0 评论 -
神经网络训练不稳定问题(loss和accuracy波动大)的一种原因及解决方案
用LSTM做时间序列预测时发现训练刚开始时loss(MSE)下降很快,accuracy(调整R方)上升也很快,但到后面loss总体上下降变慢,并且时有波动,accuracy甚至会经常出现负值,然后又回弹至正值。经查阅资料和反复调试,发现是batch size太小的问题,原来的batch size是2,现在改成4batch size为2时loss的变化如下batch size 为4时loss的变化如下,虽然也有波动,比如在910epoch左右loss冲到了0.06,但总体上比batch size稳定原创 2021-01-30 12:27:29 · 27818 阅读 · 8 评论 -
神经网络训练与预测时结果不一致的一种原因
为了防止过拟合,我设置了提前终止early stop。发现预测时的train accuracy与训练时打印出的max train accuracy并不一致。经断点调试,发现是early stop代码段的问题 if test_accuracy > self.max_test_acc and train_accuracy > self.max_train_acc - 0.04: self.max_test_acc = test_accuracy self.max_acc_epo原创 2021-01-29 13:24:49 · 2608 阅读 · 0 评论 -
PyTorch预测值相同的处理
最近训练一个BP神经网络做回归,发现拟合效果很烂,甚至我用单样本训练竟然还是欠拟合。然后我昨天晚上发现,这个预测结果,随着我epoch次数的增加,最后所有预测结果会趋同。这边一共放了三张大图,每张大图里面有两张小图,上面的小图记录了train accuracy(红)和test accuracy(蓝),评价标准是R square;下面的小图是我追踪的预测结果。三次训练分别是10、3、2个样本。可以很明显看到,训练集上的R square最后趋近于0,R2=1−RSSTSSR^2=1-\frac{RSS原创 2020-12-14 15:04:24 · 7618 阅读 · 1 评论 -
循环神经网络--SimpleRNN与PyTorch实现
PyTorch中用于SimpleRNN的方法主要是nn.RNN及nn.RNNCell。两者的区别是前者输入一个序列,而后者输入单个时间步,必须我们手动完成时间步之间的操作。前者比较简单,为了能更深入地了解SimpleRNN的运作过程,我决定用两种方法都呈现一下。———————————————————————————————————————from torch import nnnn.RNNCell(input_size: int, hidden_size: int, bias: bool = Tru原创 2020-12-06 14:24:11 · 1729 阅读 · 8 评论