首页 > 解决方案 > 有没有办法制作一个模型来创建一个掩码以在将掩码数据馈送到另一个网络之前删除某些输入?

问题描述

这可能是一个有点愚蠢的问题,但我正在尝试构建一个能够在将过滤后的输出馈送到另一个网络之前过滤掉输入的模型。

例如,我有一张图片要与大约 100 张图片的数据库进行匹配,然后我将应用第一个网络进行一些操作,输出最有可能正确匹配的前 10 张图片。之后,我会应用第二个网络,使用辅助网络重新匹配前 10 张图片。

INPUT --> | NETWORK 1 | --> FILTERED OUTPUT --> | NETWORK 2 | --> FINAL OUTPUT

想知道是否有一种方法可以完成这种过滤行为,将过滤后的输出像这样馈送到第二个模型。

标签: pythonimage-processingdeep-learningpytorchobject-detection

解决方案


你也许可以用 numpy 看看布尔索引数组

    >>> import numpy as np
    >>> x = np.array(range(20))
    >>> x
    array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
    >>> x[x > 10]
    array([11, 12, 13, 14, 15, 16, 17, 18, 19])

x > 10 返回一个包含 20 个布尔值的数组,因此您可以尝试以下操作:

    x = pic_arr[network1(pic_arr)]
    network2(x)
  

其中 pic_arr 是包含您的图片的数组,network1 返回一个列表,其中包含要选择的图片的布尔值。


推荐阅读