neural-network相关内容

为什么 PyTorch 中的嵌入实现为稀疏层?

嵌入 PyTorch 中的层列在“稀疏层"下,并带有限制: 请记住,只有有限数量的优化器支持稀疏梯度:目前是 optim.SGD(cuda 和 cpu)和 optim.Adagrad(cpu) 这是什么原因?例如,在 Keras 中,我可以使用任何优化器训练带有嵌入层的架构. 解决方案 仔细检查后,嵌入的稀疏梯度是可选的,可以使用 sparse 参数打开或关闭: clas ..
发布时间:2022-01-06 19:50:48 其他开发

Pytorch 中 NLLLoss 损失函数的 C 类是什么?

我在询问关于 NLLLoss 的 C 类 损失函数. 文档说明: 负对数似然损失.用 C 类训练分类问题很有用. 基本上在那之后的一切都取决于你是否知道 C 类是什么,我以为我知道 C 类是什么,但文档对我来说没有多大意义.特别是当它描述 (N, C) 其中 C = 类数 的预期输入时.这就是我感到困惑的地方,因为我认为 C 类仅指 输出.我的理解是,C 类是一个热门的分类向量. ..
发布时间:2022-01-06 19:48:34 AI人工智能

pytorch 模型中的参数如何不是叶子而是在计算图中?

我正在尝试更新/更改神经网络模型的参数,然后将更新后的神经网络的前向传递放在计算图中(无论我们做了多少更改/更新). 我尝试了这个想法,但是每当我这样做时,pytorch 都会将我更新的张量(模型内部)设置为叶子,这会阻止梯度流到我想要接收梯度的网络.它终止了梯度流,因为叶节点不是我希望它们成为的计算图的一部分(因为它们不是真正的叶节点). 我尝试了多种方法,但似乎没有任何效果.我创建 ..
发布时间:2022-01-06 19:47:58 AI人工智能

在 PyTorch 中计算每个 epoch 的准确率

我正在研究神经网络问题,将数据分类为 1 或 0.我正在使用二元交叉熵损失来做到这一点.损失很好,但是,准确性非常低并且没有提高.我假设我在精度计算中犯了一个错误.在每个时期之后,我在对输出进行阈值处理后计算正确的预测,并将该数字除以数据集的总数.我在精度计算中做错了什么吗?为什么它没有改善,反而变得更糟?这是我的代码: net = Model()标准 = torch.nn.BCELoss(si ..
发布时间:2022-01-06 19:46:10 其他开发

如何在 bert 模型之上添加 Bi-LSTM 层?

我正在使用 pytorch 并且我正在使用基本的预训练的 bert 对仇恨言论的句子进行分类.我想实现一个 Bi-LSTM 层,它将最新的所有输出作为输入来自 bert 模型的转换器编码器作为一个新模型(实现 nn.Module 的类),我对 nn.LSTM 参数感到困惑.我使用 标记数据 bert = BertForSequenceClassification.from_pretrained ..
发布时间:2022-01-06 19:45:28 Python

pytorch 错误:CrossEntropyLoss() 不支持多目标

我正在进行一个使用加速度数据来预测一些活动的项目.但是我在损失计算上有问题.我正在为它使用 CrossEntropyLoss. 数据用于它,如下所示我使用每行的前 4 个数据来预测索引,就像每行的最后一个一样. 1 84 84 81 481 85 85 80 181 82 84 80 11 85 84 2 081 85 82 80 181 82 84 80 181 25 84 80 5 ..

如何计算pytorch中一个矩阵中所有行相对于另一个矩阵中所有行的cosine_similarity

在 pytorch 中,鉴于我有 2 个矩阵,我将如何计算每个矩阵中所有行与另一个矩阵中所有行的余弦相似度. 例如 给定输入 = matrix_1 = [a b][c d]矩阵_2 = [e f][克·小时] 我希望输出为 输出= [cosine_sim([a b] [e f]) cosine_sim([a b] [g h])][cosine_sim([c d] [e f ..
发布时间:2022-01-06 19:39:43 AI人工智能

带有注意力的 LSTM

我正在尝试为堆叠的 LSTM 实现添加注意力机制 https://github.com/salesforce/awd-lstm-lm 所有在线示例都使用编码器-解码器架构,我不想使用它(我是否必须使用注意力机制?). 基本上,我用过 https://webcache.googleusercontent.com/search?q=cache:81Q7u36DRPIJ:https://gi ..

如何取两个网络的权重的平均值?

假设在 PyTorch 中我有 model1 和 model2,它们具有相同的架构.他们接受了相同数据的进一步训练,或者一个模型是另一个模型的早期版本,但在技术上与问题无关.现在我想将 model 的权重设置为 model1 和 model2 的权重的平均值.我将如何在 PyTorch 中做到这一点? 解决方案 beta = 0.5 #插值参数params1 = model1.named_ ..
发布时间:2022-01-06 19:38:42 Python

Pytorch 自定义激活函数?

我在 Pytorch 中实现自定义激活函数时遇到问题,例如 Swish.我应该如何在 Pytorch 中实现和使用自定义激活函数? 解决方案 有四种可能性,具体取决于您要查找的内容.你需要问自己两个问题: Q1) 你的激活函数有可学习的参数吗? 如果是,您别无选择,只能将激活函数创建为 nn.Module 类,因为您需要存储这些权重. 如果否,您可以随意创建一个普通函数或 ..

BatchNorm 动量约定 PyTorch

是 batchnorm 动量约定(默认=0.1) 像在其他库中一样正确,例如Tensorflow 默认情况下似乎通常是 0.9 或 0.99?或者,也许我们只是使用了不同的约定? 解决方案 貌似pytorch中的参数化约定和tensorflow中的不同,所以pytorch中的0.1相当于tensorflow中的0.9. 更准确地说: 在张量流中: running_mean = ..

如何在 PyTorch 中构建具有两个输入的网络

假设我想要通用的神经网络架构: Input1 -->CNN图层\--->FCLayer --->输出/输入 2 -->层 Input1 是图像数据,input2 是非图像数据.我已经在 Tensorflow 中实现了这个架构. 我发现的所有 pytorch 示例都是通过每一层的一个输入.如何定义前向函数来分别处理 2 个输入,然后将它们组合在中间层? 解决方案 “组合它们"我认为 ..

如何在 Pytorch 中应用分层学习率?

我知道可以冻结网络中的单层,例如只训练预训练模型的最后一层.我正在寻找的是一种将特定学习率应用于不同层的方法. 例如,第一层的学习率非常低,为 0.000001,然后逐渐增加后续每一层的学习率.所以最后一层的学习率为 0.01 左右. 这在pytorch中可行吗?知道如何存档吗? 解决方案 解决方案如下: from torch.optim import Adam模型 = 网络 ..
发布时间:2022-01-06 19:33:22 Python

从顺序 Keras 模型中保存特定层

我正在构建一个自动编码器并训练模型,以便目标输出与输入相同. 我使用的是顺序 Keras 模型.当我使用 model.predict 时,我希望它从特定层(Dense256)而不是输出导出数组. 这是我目前的模型: model = Sequential()模型.添加(密集(4096,input_dim = x.shape[1],激活='relu'))模型.添加(密集(2048,激活= ..
发布时间:2021-12-31 17:12:13 AI人工智能

XOR 与神经网络 (Matlab)

所以,我希望这是我正在做的一件非常愚蠢的事情,并且有一个简单的答案.我正在尝试训练一个 2x3x1 的神经网络来解决 XOR 问题.它不起作用,所以我决定深入了解发生了什么.最后,我决定给自己分配权重.这是我想出的权重向量: theta1 = [11 0 -5;0 12 -7;18 17 -20];theta2 = [14 13 -28 -6]; (在 Matlab 符号中).我故意试图让任何 ..
发布时间:2021-12-31 17:12:06 其他开发

指定“初始权重"用于 R 编程神经网络中的 nnet

在 R 编程中,我想了解如何使用 nnet 来让用户指定初始权重而不是运行神经网络算法的默认值?R 文档提到了以下参数.关于如何使用权重的任何示例? nnet(公式,数据,权重,...,子集,na.action,对比 = NULL) 解决方案 自定义权重应具有以下形式: 权重 即 c(来自偏差和的权重输入到第一个隐藏单元,来自偏见和第二个隐藏单元 H2 的输入,来自偏见和最后一个隐藏 ..
发布时间:2021-12-31 17:11:57 其他开发

神经网络:反向传播阶段的逐步分解?

我必须设计一个功能性神经网络的动画视觉表示(即具有允许您调整值等的 UI).它的主要目标是帮助人们在慢动作、实时动画中可视化不同数学运算的执行方式和时间.我设置了视觉效果和 UI,允许您调整值和更改神经元的布局,以及前馈阶段的视觉效果,但由于我实际上根本不专注于神经网络,我我无法找出可视化反向传播阶段的最佳方法 - 主要是因为我在此阶段无法确定确切的操作顺序. 可视化首先向前激发神经元,然后 ..
发布时间:2021-12-31 17:11:49 其他开发

NoneType' 对象没有属性 '_inbound_nodes'

嗨,我正在尝试构建一个混合专家神经网络.我在这里找到了一个代码:http://blog.sina.com.cn/s/blog_dc3c53e90102x9xu.html.我的目标是门和专家来自不同的数据,但具有相同的维度. def sliced(x,expert_num):返回 x[:,:,:expert_num]定义减少(x,轴):返回 K.sum(x,axis=axis, keepdims= ..
发布时间:2021-12-31 17:11:40 Python