成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

tensorflow keras 查找中間tensor并構(gòu)建局部子圖

dreamans / 1306人閱讀

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

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

通過 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 逐層向上查找

定義一個迭代函數(shù),不斷查找

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

接著獲得某層的輸出,調(diào)用迭代函數(shù),找到該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))

最后,調(diào)用kf.fuction構(gòu)建局部圖,并運行:

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",)])

大功告成~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/43024.html

相關(guān)文章

  • Tensorflow代碼解析(二)

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

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

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

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

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

    馬龍駒 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<