问题标签 [siamese-network]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
65 浏览

python - 使用 keras 进行 RNN 的三元组网络

我正在尝试为三元组损失(使用 keras)编写一个自定义损失函数,它需要 3 个参数锚,正数和负数。三元组是使用 gru 层生成的,model.fit 的参数是通过数据生成器提供的。

我面临的问题是在训练时:

损失函数的实现

这可能是因为 keras 期望数组作为返回的损失,但我提供了一个标量值吗?

0 投票
1 回答
107 浏览

tensorflow - 如何在 Keras (Tensorflow2) 中为多损失和多输出模型构建数据生成器/序列?

我正在研究一个模型,其中有两个损失和两个不同的输出。一个输出y作为图像,就像自动编码器/ U-Net架构一样。另一个输出是简单的二进制分类,取为 0/1。

所以我想要实现的是Siamese Based Unet。基本上基于mae损失重建图像并从瓶颈层创建一个分支,以便它可以根据欧几里德距离预测2个图像是否相似。

Keras有一个ImageDataGenerator可以class_mode='input'用来生成相应图像作为 y 标签的位置,还class_mode=binary可以生成列中给定的 0/1 值。但是我怎样才能在同一个生成器中生成这两个东西。问题是Siamese Branch将同时接受 2 个输入。

0 投票
2 回答
154 浏览

python - 特征相似性的连体网络

我有大约 20k 个不同域的图像,这些图像已经使用 GLCM 和 HOG 提取了特征。每张图像的特征尺寸约为 2000。我想使用连体网络找到特征之间的相似性。我将所有内容都存储在一个数据框中。我不确定我们如何为神经网络提供输入特征。使用 1DCNN / Dense 层只有一种可能性。

在上面的代码中,我们只将特征数量作为编码器的输入,但我的两张图像的特征数量是相同的。我应该分别训练两个编码器并在最后加入它们以形成嵌入层吗?但是我应该如何测试?

0 投票
1 回答
52 浏览

python - 连体网络显示 ValueError

我将连体网络用于具有不同域的 2000 个功能。我想训练相似的对并测试不同的特征对。尝试拟合模型时遇到值错误。

我收到以下错误

left_input ,right_input 和 target 的类型都是数组

0 投票
1 回答
358 浏览

python - 如何使用连体网络在自定义生成器上执行数据增强

我有以下自定义生成器,用于为连体网络构建图像对,因为不幸的是,我的所有训练数据都不适合我的 GPU 内存:

我想在这些图像对中使用以下数据增强技术:

但是,我在调用它时遇到以下问题,这是我的做法

然后以下错误返回给我

当然,我没有正确调用生成器上的数据增强器,我还检查了其他类似的帖子,例如thisthisthis ,但它们对我没有帮助。因此,我应该如何在我的连体网络的自定义生成器上调用数据增强?

0 投票
0 回答
125 浏览

python - TypeError:在 Keras 模型的 LSTM 层中的“NoneType”和“float”实例之间不支持“>”

这是 Siamese LSTM 神经网络:

该模型接受两个在线签名,原始签名和查询(原始或伪造),并输出查询签名是否真实。运行代码时,出现以下错误reference_input_processed

TypeError: '>' not supported between instances of 'NoneType' and 'float'

我认为这是由于输入形状是(23, None). 数据没有填充,因此我有None形状。

有没有办法解决这个错误,还是必须填充数据?

0 投票
1 回答
135 浏览

tensorflow - 如何访问嵌入以进行三元组损失

我正在尝试创建一个带有三重损失的连体网络,并且我正在使用 github 示例来帮助我。我对此相当陌生,我无法理解如何从模型中提取嵌入。下面是架构:

在此处输入图像描述

提取我在几页上找到的嵌入的代码是这样的:

让我感到困惑的是我发现很难可视化矩阵,我不明白为什么锚是 y[:,:emb_size],正的是 y_pred[:,emb_size:2 emb_size] 和负的 y_pred[:,2 emb_size :]。

如果需要更多上下文,完整代码:https ://github.com/pranjalg2308/siamese_triplet_loss/blob/master/Siamese_With_Triplet_Loss.ipynb

0 投票
1 回答
386 浏览

python - Pytorch Siamese NN 与 BERT 用于句子匹配

我正在尝试使用 pytorch 构建一个连体神经网络,在其中我提供 BERT 词嵌入并试图找出两个句子是否相似(想象重复的帖子匹配、产品匹配等)。这是模型:

标准和优化器:

训练循环:

现在,这似乎奏效了,因为它产生了合理的结果,但验证错误在仅仅一个时期后就停止下降到 0.13。使用 Pytorch 在这种 NN 上找不到很多东西。有没有办法优化它?难道我做错了什么?

0 投票
1 回答
50 浏览

python-3.x - 寻找两种模式之间的准确性

我在寻找两种模式之间的相似度分数时遇到了问题。例如,我有正常的心电图模式,

在此处输入图像描述

和异常的心电图模式

[在此处输入图像描述][2]。

然后我想在与异常心电图模式进行比较时找到正常模式的准确性。所以我的数据由 ID、日期时间、Seq 和 Value 组成。首先,我正在考虑使用时间序列方法。但是,它并不能解决我的问题。那么有人可以帮我吗?

0 投票
0 回答
61 浏览

python-3.x - 如何修复'Mul' Op 的 float32 类型与 int64 类型不匹配?

纪元 1/10

TypeError:“Mul”Op 的输入“y”的类型为 float32,与参数“x”的类型 int64 不匹配。

由于我对stackoverflow工具不太熟悉,所以我也放了我的笔记本链接。我正在使用 tensorflow 2.4 版。非常感谢您的帮助。

https://colab.research.google.com/drive/1z4ubLpnvPk6RWGCviCW6z_xMZ5t64gUP?usp=sharing