摘要:但是對(duì)于自定義層的中間變量,就沒(méi)辦法獲得了,因此需要使用方法二。通過(guò)逐層向上查找定義一個(gè)迭代函數(shù),不斷查找接著獲得某層的輸出調(diào)用迭代函數(shù),找到該最后,調(diào)用構(gòu)建局部圖,并運(yùn)行此時(shí)打印可以看到類(lèi)似如下大功告成
在Mask_RCNN項(xiàng)目的示例項(xiàng)目nucleus中,stepbystep步驟里面,需要對(duì)網(wǎng)絡(luò)模型的中間變量進(jìn)行提取和可視化,常見(jiàn)方式有兩種:
通過(guò) get_layer方法:outputs = [ ("rpn_class", model.keras_model.get_layer("rpn_class").output), ("proposals", model.keras_model.get_layer("ROI").output) ]
此方法可以讀取層的輸出,對(duì)于輸出多于1個(gè)tensor的,可以指定get_layer("rpn_class").output[0:2]等確定。
但是對(duì)于自定義層的中間變量,就沒(méi)辦法獲得了,因此需要使用方法二。
定義一個(gè)迭代函數(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)建局部圖,并運(yùn)行:
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)
此時(shí)打印outputs可以看到類(lèi)似如下:
OrderedDict([("rpn_class",), ("proposals", ), ("fpn_p2", ), ("fpn_p3", ), ("fpn_p4", ), ("fpn_p6", ), ("NonMaxSuppression", )])
大功告成~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43024.html
摘要:為了進(jìn)一步了解的邏輯,圖對(duì)和進(jìn)行了展開(kāi)分析。另外,在命名空間中還隱式聲明了控制依賴(lài)操作,這在章節(jié)控制流中相關(guān)說(shuō)明。簡(jiǎn)述是高效易用的開(kāi)源庫(kù),有效支持線(xiàn)性代數(shù),矩陣和矢量運(yùn)算,數(shù)值分析及其相關(guān)的算法。返回其中一塊給用戶(hù),并將該內(nèi)存塊標(biāo)識(shí)為占用。 3. TF 代碼分析初步3.1 TF總體概述為了對(duì)TF有整體描述,本章節(jié)將選取TF白皮書(shū)[1]中的示例展開(kāi)說(shuō)明,如圖 3 1所示是一個(gè)簡(jiǎn)單線(xiàn)性模型的TF...
摘要:近日它們交鋒的戰(zhàn)場(chǎng)就是動(dòng)態(tài)計(jì)算圖,誰(shuí)能在這場(chǎng)戰(zhàn)爭(zhēng)中取得優(yōu)勢(shì),誰(shuí)就把握住了未來(lái)用戶(hù)的流向。所以動(dòng)態(tài)框架對(duì)虛擬計(jì)算圖的構(gòu)建速度有較高的要求。動(dòng)態(tài)計(jì)算圖問(wèn)題之一的多結(jié)構(gòu)輸入問(wèn)題的高效計(jì) 隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)框架之間競(jìng)爭(zhēng)也日益激烈,新老框架紛紛各顯神通,想要在廣大DeepLearner的服務(wù)器上占據(jù)一席之地。近日它們交鋒的戰(zhàn)場(chǎng)就是動(dòng)態(tài)計(jì)算圖,誰(shuí)能在這場(chǎng)戰(zhàn)爭(zhēng)中取得優(yōu)勢(shì),誰(shuí)就把握住了未來(lái)用戶(hù)的流...
摘要:聯(lián)合查找算法是并查集數(shù)據(jù)結(jié)構(gòu)一種應(yīng)用。并查集是一種樹(shù)型的數(shù)據(jù)結(jié)構(gòu),其保持著用于處理一些不相交集合的合并及查詢(xún)問(wèn)題。的特征是刪除節(jié)點(diǎn)。目前就職于騰訊事業(yè)部,從事神經(jīng)機(jī)器翻譯工作。 5. TF - Graph模塊TF把神經(jīng)網(wǎng)絡(luò)模型表達(dá)成一張拓?fù)浣Y(jié)構(gòu)的Graph,Graph中的一個(gè)節(jié)點(diǎn)表示一種計(jì)算算子。Graph從輸入到輸出的Tensor數(shù)據(jù)流動(dòng)完成了一個(gè)運(yùn)算過(guò)程,這是對(duì)類(lèi)似概率圖、神經(jīng)網(wǎng)絡(luò)等連接...
閱讀 1018·2023-04-26 02:56
閱讀 14592·2021-11-23 09:51
閱讀 1916·2021-09-26 10:14
閱讀 3022·2019-08-29 13:09
閱讀 2182·2019-08-26 13:29
閱讀 596·2019-08-26 12:02
閱讀 3594·2019-08-26 10:42
閱讀 3030·2019-08-23 18:18