deep-learning相关内容

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

假设在 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 中的重现性和性能

文档 指出: 确定性模式可能会对性能产生影响,具体取决于您的模型. 我的问题是,这里的性能是什么意思.处理速度或模型质量(即最小损失)?换句话说,当设置手动种子并使模型以确定性方式执行时,这是否会导致在找到最小损失之前的训练时间更长,或者最小损失是否比模型非确定性时更糟糕? 为了完整起见,我通过设置所有这些属性手动使模型具有确定性: def set_seed(seed):tor ..
发布时间:2022-01-06 19:35:13 Python

pytorch 中 num_layers = 2 的 1 个 LSTM 和 2 个 LSTM 之间的区别

我是深度学习的新手,目前正在研究使用 LSTM 进行语言建模.我正在查看 pytorch 文档并被它弄糊涂了. 如果我创建一个 nn.LSTM(input_size, hidden_​​size, num_layers) 其中 hidden_​​size = 4 和 num_layers = 2,我想我会有一个类似的架构: op0 op1 ....LSTM ->LSTM ->H3LST ..
发布时间:2022-01-06 19:34:35 其他开发

PyTorch 自定义损失函数

自定义损失函数应该如何实现?使用以下代码导致错误: 导入火炬将 torch.nn 导入为 nn进口火炬视觉导入 torchvision.transforms 作为转换将 numpy 导入为 np导入 matplotlib.pyplot 作为 plt将 torch.utils.data 导入为 data_utils将 torch.nn 导入为 nn导入 torch.nn.functional 作为 ..
发布时间:2022-01-06 19:34:25 Python

Pytorch 重塑张量维度

例如,我有一个维度为 (5) 的一维向量.我想将其重塑为二维矩阵 (1,5). 这是我如何使用 numpy >>>将 numpy 导入为 np>>>a = np.array([1,2,3,4,5])>>>一个形状(5,)>>>a = np.reshape(a, (1,5))>>>一个形状(1, 5)>>>一个数组([[1, 2, 3, 4, 5]])>>> 但是我怎么能用 Pytor ..
发布时间:2022-01-06 19:34:13 Python

在无法访问模型类代码的情况下保存 PyTorch 模型

如何在不需要在某处定义模型类的情况下保存 PyTorch 模型? 免责声明: 在 在 PyTorch 中保存训练模型的最佳方法?,没有解决方案(或有效的解决方案)可以在不访问模型类代码的情况下保存模型. 解决方案 如果您打算使用可用的 Pytorch 库(即 Python、C++ 或它支持的其他平台中的 Pytorch)进行推理,那么最好的方法是通过 TorchScript. ..
发布时间:2022-01-06 19:33:37 Python

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

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

如何使用 PyTorch 从本地目录导入 MNIST 数据集

我正在 PyTorch 中编写一个众所周知的问题 MNIST 手写数字数据库的代码.我下载了训练和测试数据集(从主网站),包括标记数据集.数据集格式为t10k-images-idx3-ubyte.gz,提取后t10k-images-idx3-ubyte.我的数据集文件夹看起来像 MINST数据train-images-idx3-ubyte.gztrain-labels-idx1-ubyte.gz ..
发布时间:2022-01-06 19:30:00 AI人工智能

在进行评估 w.r.t. 时,是否应将数据批次移至 CPU 并转换(从 Torch Tensor)到 numpy 数组?训练期间的指标?

我正在学习 Andrew Ng 的 CS230 斯坦福课程教程,并在 每个训练时期,通过计算指标进行评估. 但在计算指标之前,他们将批次发送到 CPU 并将它们转换为 numpy 数组(代码在这里). #从torch变量中提取数据,移至cpu,转换为numpy数组output_batch = output_batch.data.cpu().numpy()label_batch = labe ..
发布时间:2022-01-06 19:27:07 Python

copy_initial_weights 文档在 Pytorch 的更高库中是什么意思?

我试图使用更高的库进行元学习,但我在理解 copy_initial_weights 的含义时遇到了问题.文档说: copy_initial_weights——如果为真,则修补模块的权重被复制以形成修补模块的初始权重,因此在展开修补模块时不是梯度带的一部分.如果将其设置为 False,则实际模块权重将是修补模块的初始权重.例如,这在执行 MAML 时很有用. 但由于以下原因,这对我来说没 ..
发布时间:2022-01-06 19:25:23 AI人工智能

数据集不平衡时多类分类的最佳损失函数?

我目前正在使用交叉熵损失函数,但对于不平衡数据集,性能并不好. 有没有更好的丢失函数? 解决方案 这是一个非常广泛的主题,但恕我直言,你应该尝试 focal loss:由 Tsung-Yi Lin 介绍,Priya Goyal、Ross Girshick、Kaiming He 和 Piotr Dollar 处理对象检测中的不平衡预测.自引入以来,它也被用于分段的上下文中. 焦点损失 ..

添加批量标准化会降低性能

我正在使用 PyTorch 来实现基于骨架的动作识别的分类网络.该模型由三个卷积层和两个全连接层组成.这个基本模型在 NTU-RGB+D 数据集中给了我大约 70% 的准确率.我想了解更多关于批量归一化的知识,所以我为除最后一层之外的所有层添加了一个批量归一化.令我惊讶的是,评估准确率下降到了 60% 而不是增加,但训练准确率却从 80% 增加到了 90%.谁能说我做错了什么?或者添加批量标准化不 ..
发布时间:2022-01-06 19:22:58 Python