神经网络
文章平均质量分 64
yaoxunji
.
展开
-
Pytorch one of the variables needed for gradient computation has been modified by an inplace
报错如下所示:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [4, 1, 1, 155]], which is output 0 of UnsqueezeBackward0, is at version 1066; expected version 1065 instead. Hint: ena原创 2021-10-22 15:31:54 · 342 阅读 · 0 评论 -
pytorch灵活搭建神经网络
因为要使用MAML来解决跨环境的RL问题,其中模型参数需要内部更新和外部更新,所以传统的搭建方式不容易实现。借鉴github上的思路,记录一下灵活搭建网络完成多步更新的方式。1.初始化模型还是要继承nn.Module,在初试化的时候通过config将模型参数传入,然后将模型参数放入定义的nn.ParameterList()中。 def __init__(self, config, imgc, imgsz): """ :param config: network c原创 2020-07-29 20:02:01 · 532 阅读 · 1 评论 -
python numpy 从零实现循环神经网络
1.Basic RNN我们来看一下下面的循环神经网络的图,分两步来完成实现(1)实现RNN的一个时间步所需要计算的东西。(2)在时间步上实现一个循环,以便一次处理所有输入。1.1RNN cell循环神经网络可以看作是单元的重复,首先要实现单个时间步的计算,下图描述了RNN单元的单个时间步的操作。def rnn_cell(xt,a_prev,parameters): Wax...原创 2019-11-24 15:34:05 · 1033 阅读 · 0 评论 -
python numpy 从零实现卷积神经网络
1.卷积层这里,我们要实现一个拥有卷积层(CONV)和池化层(POOL)的网络,它包含了前向和反向传播。1.1 边界扩充首先实现两个辅助函数:一个用于零填充,另一个用于计算卷积。 边界填充将会在图像边界周围添加值为0的像素点,如下图使用0填充边界有以下好处:(1)卷积了上一层之后的CONV层,没有缩小高度和宽度。 这对于建立更深的网络非常重要,否则在更深层时,高度/宽度会缩小。 一个...原创 2019-11-24 14:18:45 · 4709 阅读 · 0 评论 -
python numpy 从零实现简单神经网络
numpy从0实现两层神经网络及数学推导,主要涉及矩阵相乘和链式求导以及几个常见的激活函数形式。1.logistics regression可以把logistics单元看作是最简单的神经网络,具体这里就不在介绍了,可以看这篇文章2.neural network这里网络分为三层,输入层,隐含层,输出层。以图中为例来使用numpy实现前向传播,反向传播和梯度更新。3.activation ...原创 2019-11-17 16:17:52 · 603 阅读 · 0 评论 -
深度学习优化算法解析与python实现
优化算法1.梯度下降(Gradient Descent)梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一假设模型g(x)=θx损失函数为:J(θ)=12∑i=0n(gθ(x(i))−y(i))2那么梯度更新算法为:dθ:=dθ−αdJ(θ)dθ假设模型g...原创 2019-11-15 16:54:04 · 1523 阅读 · 0 评论 -
几种经典的卷积神经网络模型
目录1.卷积神经网络解决的问题2.经典的卷积神经网络2.1 LeNet2.2 AlexNet2.3 VGG2.3.1 VGG块2.3.2 VGG网络2.4 NiN2.4.1 Nin块2.4.2 Nin网络2.5 GooLeNet2.5.1 Inception块2.5.2 GoogLeNet网络2.6 ResNet2.6.1 残差块...原创 2019-03-17 14:34:28 · 71781 阅读 · 5 评论 -
Keras-API实现 Inception 模块和残差连接
使用keras框架常见的神经网络都是用 Sequential 模型实现的。 Sequential 模型假设,网络只有一个输入和一个输出,而且网络是层的线性堆叠。这是一个经过普遍验证的假设。这种网络配置非常常见,以至于只用 Sequential模型类就能够涵盖许多主题和实际应用。但有些情况下这种假设过于死板。有些网络需要多个独立的输入,有些网络则需要多个输出,而有些网络在层与层之间具有内部分支,这使...原创 2019-04-23 15:33:49 · 3678 阅读 · 0 评论