AI人工智能
基本网络 类基线(nn.Module):def __init__(self):super().__init__()# 5 隐藏层网络self.fc1 = nn.Linear(28 * 28, 512)self.fc2 = nn.Linear(512, 256)self.fc3 = nn.Linear(256, 128)self.fc4 = nn.Linear(128, 64)self.fc5 =
..
我发现 这行代码上级图书馆: self.param_groups = _copy.deepcopy(other.param_groups) 我不明白为什么需要这样做. 如果我认为这是有害的,因为我已经概述了这里.您可以转到问题查看我的原因,但要点是: 拥有深拷贝是否意味着(外循环)优化器将计算关于计算图中不存在的参数的梯度?由于: 与初始参数/权重相比,可微分/内部优化器的参
..
我想使用 PyTorch 来获取输出和输入之间的偏导数.假设我有一个函数 Y = 5*x1^4 + 3*x2^3 + 7*x1^2 + 9*x2 - 5,我训练一个网络来代替这个函数,然后我使用 autograd 计算 dYdx1, dYdx2: net = torch.load('net_723.pkl')x = torch.tensor([[1,-1]],requires_grad=True
..
我试图使用更高的库进行元学习,但我在理解 copy_initial_weights 的含义时遇到了问题.文档说: copy_initial_weights——如果为真,则修补模块的权重被复制以形成修补模块的初始权重,因此在展开修补模块时不是梯度带的一部分.如果将其设置为 False,则实际模块权重将是修补模块的初始权重.例如,这在执行 MAML 时很有用. 但由于以下原因,这对我来说没
..
我目前正在使用交叉熵损失函数,但对于不平衡数据集,性能并不好. 有没有更好的丢失函数? 解决方案 这是一个非常广泛的主题,但恕我直言,你应该尝试 focal loss:由 Tsung-Yi Lin 介绍,Priya Goyal、Ross Girshick、Kaiming He 和 Piotr Dollar 处理对象检测中的不平衡预测.自引入以来,它也被用于分段的上下文中. 焦点损失
..
我编写了以下代码作为测试,因为在我的原始网络中,我使用 ModuleDict 并取决于我提供的索引将仅切片和训练该网络的一部分. 我想确保只有切片层会更新它们的权重,所以我写了一些测试代码来仔细检查.好吧,我得到了一些奇怪的结果.假设我的模型有 2 层,layer1 是 FC,而 layer 2 是 Conv2d,如果我对网络进行切片并且只使用 layer2,我希望 layer1 的权重保持
..
我正在尝试使用 detectron2 框架提取类别检测高于某个阈值的区域特征.我稍后将在我的管道中使用这些功能(类似于:VilBert 部分 3.1 培训 ViLBERT)到目前为止,我已经用这个 训练了一个 Mask R-CNNconfig 并根据一些自定义数据对其进行微调.它表现良好.我想要做的是从我训练的模型中为生成的边界框提取特征. 编辑:我查看了关闭我帖子的用户所写的内容并试图对其
..
在我的自定义数据集中,一种图像在一个文件夹中,torchvision.datasets.Imagefolder 可以处理,但如何将数据集拆分为训练和测试? 解决方案 您可以使用 torch.utils.data.Subset 将您的 ImageFolder 数据集拆分为基于示例索引的训练和测试. 例如: orig_set = torchvision.datasets.Imagefold
..
所以我想对一些 (3, 50, 50) 图片进行分类.首先,我从没有数据加载器或批处理的文件中加载了数据集,它起作用了.现在,在添加了这两件事之后,我得到了那个错误: RuntimeError: multi-target not supported at/pytorch/aten/src/THCUNN/generic/ClassNLLCriterion.cu:15 我在互联网上找到了很多答案,
..
这里的 x_dat 和 y_dat 只是非常长的一维张量. class FunctionDataset(Dataset):def __init__(self):x_dat, y_dat = data_product()self.length = len(x_dat)self.y_dat = y_datself.x_dat = x_datdef __getitem__(self, index):样
..
我有一个图片张量,想从中随机选择.我正在寻找与 np.random.choice() 等效的东西. 导入火炬图片 = torch.randint(0, 256, (1000, 28, 28, 3)) 假设我想要其中的 10 张图片. 解决方案 torch 没有 np.random.choice() 的等效实现,请参阅讨论
..
我只是想知道,PyTorch 如何跟踪张量上的操作(在 .requires_grad 被设置为 True 之后,它后来如何自动计算梯度.请帮助我理解 autograd 背后的想法.谢谢. 解决方案 这是个好问题!通常,自动微分(AutoDiff)的思想是基于多变量链式法则,即. 这意味着您可以通过“代理"变量 y 表示 x 相对于 z 的导数;事实上,这允许您将几乎所有操作分解为一堆更简
..
我正在尝试使用 PyTorch 构建一个非常简单的 LSTM 自动编码器.我总是用相同的数据训练它: x = torch.Tensor([[0.0], [0.1], [0.2], [0.3], [0.4]]) 我按照这个链接构建了我的模型: inputs = Input(shape=(timesteps, input_dim))编码 = LSTM(latent_dim)(输入)解码 = 重复
..
我想实现以下算法,摘自本书第 13.6 节: 不明白如何在pytorch中实现更新规则(w的规则与theta的规则非常相似). 据我所知,torch 需要 loss.backwward() 的损失. 这个表格似乎不适用于引用的算法. 我仍然确定在 pytorch 中实现此类更新规则的正确方法. 鉴于 V(s,w) 是神经网络的输出,由 w 参数化,非常感谢应该如何更新
..
我引用了人工智能:现代方法: 深度优先搜索的属性在很大程度上取决于使用的是图搜索还是树搜索版本.避免重复状态和冗余路径的图搜索版本在有限状态空间中是完整的,因为它最终会扩展每个节点.另一方面,树搜索版本不完整[...].深度优先树搜索可以在没有额外内存成本的情况下进行修改,以便它根据从根到当前节点的路径上的状态检查新状态;这避免了有限状态空间中的无限循环,但并没有避免冗余路径的扩散.
..
我有一个数据集.它的一列 - “关键字" - 包含分类数据.我尝试使用的机器学习算法仅采用数字数据.我想将“关键字"列转换为数值 - 我该怎么做?使用自然语言处理?一袋话? 我尝试了以下方法,但我得到了 ValueError: Expected 2D array, got 1D array instead. from sklearn.feature_extraction.text impo
..
我在一些文章(Tomas Mikolov...)中了解到,形成句子向量的更好方法是连接词向量. 但是由于我的数学很笨拙,我仍然不确定细节. 例如 假设词向量的维数为m;并且一个句子有 n 个单词. 连接操作的正确结果是什么? 它是 1 x m*n 的行向量吗?还是一个 m x n 的矩阵? 解决方案 组合嵌入向量至少有三种常用的方法;(a) 求和,(b) 求和
..
我正在抓取新闻网站,想提取新闻标题、新闻摘要(第一段)等 我插入了 webkit 解析器代码,以轻松地将网页作为树进行导航.为了消除导航和其他非新闻内容,我采用了文章的文本版本(减去 html 标签,webkit 提供了相同的 api).然后我运行 diff 算法比较来自同一网站的各种文章的文本,这导致相似的文本被消除.这给了我内容减去常见的导航内容等 尽管采用了上述方法,但我的最终文
..
在 NLTK 中有一个 nltk.download() 函数来下载 NLP 套件附带的数据集. 在 sklearn 中,它谈到加载数据集(http://scikit-learn.org/stable/datasets/) 并从 http://mldata.org/ 获取数据,但对于其余的数据集,说明是从源下载. 我应该在哪里保存从源代码下载的数据? 将数据保存到正确目录后,我可以从我的
..
我正在尝试通过将句子分成更小的部分来实现可以确定句子含义的应用程序.所以我需要知道哪些词是主语、宾语等,这样我的程序才能知道如何处理这句话. 解决方案 这是一个开放的研究问题.您可以在 Wikipedia 上获得概述,http://en.wikipedia.org/wiki/Natural_language_processing.考虑诸如“时间过得像箭,果蝇像香蕉"这样的短语 - 明确地对
..