问题标签 [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.
python - 使用 keras 进行 RNN 的三元组网络
我正在尝试为三元组损失(使用 keras)编写一个自定义损失函数,它需要 3 个参数锚,正数和负数。三元组是使用 gru 层生成的,model.fit 的参数是通过数据生成器提供的。
我面临的问题是在训练时:
损失函数的实现
这可能是因为 keras 期望数组作为返回的损失,但我提供了一个标量值吗?
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 个输入。
python - 特征相似性的连体网络
我有大约 20k 个不同域的图像,这些图像已经使用 GLCM 和 HOG 提取了特征。每张图像的特征尺寸约为 2000。我想使用连体网络找到特征之间的相似性。我将所有内容都存储在一个数据框中。我不确定我们如何为神经网络提供输入特征。使用 1DCNN / Dense 层只有一种可能性。
在上面的代码中,我们只将特征数量作为编码器的输入,但我的两张图像的特征数量是相同的。我应该分别训练两个编码器并在最后加入它们以形成嵌入层吗?但是我应该如何测试?
python - 连体网络显示 ValueError
我将连体网络用于具有不同域的 2000 个功能。我想训练相似的对并测试不同的特征对。尝试拟合模型时遇到值错误。
我收到以下错误
left_input ,right_input 和 target 的类型都是数组
python - TypeError:在 Keras 模型的 LSTM 层中的“NoneType”和“float”实例之间不支持“>”
这是 Siamese LSTM 神经网络:
该模型接受两个在线签名,原始签名和查询(原始或伪造),并输出查询签名是否真实。运行代码时,出现以下错误reference_input_processed
:
TypeError: '>' not supported between instances of 'NoneType' and 'float'
我认为这是由于输入形状是(23, None)
. 数据没有填充,因此我有None
形状。
有没有办法解决这个错误,还是必须填充数据?
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
python - Pytorch Siamese NN 与 BERT 用于句子匹配
我正在尝试使用 pytorch 构建一个连体神经网络,在其中我提供 BERT 词嵌入并试图找出两个句子是否相似(想象重复的帖子匹配、产品匹配等)。这是模型:
标准和优化器:
训练循环:
现在,这似乎奏效了,因为它产生了合理的结果,但验证错误在仅仅一个时期后就停止下降到 0.13。使用 Pytorch 在这种 NN 上找不到很多东西。有没有办法优化它?难道我做错了什么?
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