国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

tensorflow keras 查找中間tensor并構建局部子圖

dreamans / 1237人閱讀

摘要:但是對于自定義層的中間變量,就沒辦法獲得了,因此需要使用方法二。通過逐層向上查找定義一個迭代函數,不斷查找接著獲得某層的輸出調用迭代函數,找到該最后,調用構建局部圖,并運行此時打印可以看到類似如下大功告成

在Mask_RCNN項目的示例項目nucleus中,stepbystep步驟里面,需要對網絡模型的中間變量進行提取和可視化,常見方式有兩種:

通過 get_layer方法:
outputs = [
    ("rpn_class", model.keras_model.get_layer("rpn_class").output),
    ("proposals", model.keras_model.get_layer("ROI").output)
    ]

此方法可以讀取層的輸出,對于輸出多于1個tensor的,可以指定get_layer("rpn_class").output[0:2]等確定。
但是對于自定義層的中間變量,就沒辦法獲得了,因此需要使用方法二。

通過 tensor.op.inputs 逐層向上查找

定義一個迭代函數,不斷查找

def find_in_tensor(tensor,name,index=0):
    index += 1
    if index >20:
        return
    tensor_parent = tensor.op.inputs
    for each_ptensor in tensor_parent:
        #print(each_ptensor.name)
        if bool(re.fullmatch(name, each_ptensor.name)):
            print("find it!")
            return each_ptensor
        result = find_in_tensor(each_ptensor,name,index)
        if result is not None:
            return result

接著獲得某層的輸出,調用迭代函數,找到該tensor

pillar = model.keras_model.get_layer("ROI").output
nms_rois = find_in_tensor(pillar,"ROI_3/rpn_non_max_suppression/NonMaxSuppressionV2:0")
outputs.append(("NonMaxSuppression",nms_rois))

最后,調用kf.fuction構建局部圖,并運行:

submodel = model.keras_model
outputs = OrderedDict(outputs)
if submodel.uses_learning_phase and not isinstance(K.learning_phase(), int):
    inputs += [K.learning_phase()]
kf = K.function(submodel.inputs, list(outputs.values()))
in_p,ou_p = next(train_generator)
output_all = kf(in_p)

此時打印outputs可以看到類似如下:

OrderedDict([("rpn_class",),
             ("proposals",),
             ("fpn_p2",),
             ("fpn_p3",),
             ("fpn_p4",),
             ("fpn_p6",),
             ("NonMaxSuppression",)])

大功告成~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43024.html

相關文章

  • Tensorflow代碼解析(二)

    摘要:為了進一步了解的邏輯,圖對和進行了展開分析。另外,在命名空間中還隱式聲明了控制依賴操作,這在章節控制流中相關說明。簡述是高效易用的開源庫,有效支持線性代數,矩陣和矢量運算,數值分析及其相關的算法。返回其中一塊給用戶,并將該內存塊標識為占用。 3. TF 代碼分析初步3.1 TF總體概述為了對TF有整體描述,本章節將選取TF白皮書[1]中的示例展開說明,如圖 3 1所示是一個簡單線性模型的TF...

    zhigoo 評論0 收藏0
  • 以靜制動的TensorFlow Fold動態計算圖介紹

    摘要:近日它們交鋒的戰場就是動態計算圖,誰能在這場戰爭中取得優勢,誰就把握住了未來用戶的流向。所以動態框架對虛擬計算圖的構建速度有較高的要求。動態計算圖問題之一的多結構輸入問題的高效計 隨著深度學習的發展,深度學習框架之間競爭也日益激烈,新老框架紛紛各顯神通,想要在廣大DeepLearner的服務器上占據一席之地。近日它們交鋒的戰場就是動態計算圖,誰能在這場戰爭中取得優勢,誰就把握住了未來用戶的流...

    waltr 評論0 收藏0
  • Tensorflow代碼解析(四)

    摘要:聯合查找算法是并查集數據結構一種應用。并查集是一種樹型的數據結構,其保持著用于處理一些不相交集合的合并及查詢問題。的特征是刪除節點。目前就職于騰訊事業部,從事神經機器翻譯工作。 5. TF - Graph模塊TF把神經網絡模型表達成一張拓撲結構的Graph,Graph中的一個節點表示一種計算算子。Graph從輸入到輸出的Tensor數據流動完成了一個運算過程,這是對類似概率圖、神經網絡等連接...

    馬龍駒 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<