摘要:但是对于自定义层的中间变量,就没办法获得了,因此需要使用方法二。通过逐层向上查找定义一个迭代函数,不断查找接着获得某层的输出调用迭代函数,找到该最后,调用构建局部图,并运行此时打印可以看到类似如下大功告成
在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]等确定。
但是对于自定义层的中间变量,就没办法获得了,因此需要使用方法二。
定义一个迭代函数,不断查找
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", )])
大功告成~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/43024.html
摘要:为了进一步了解的逻辑,图对和进行了展开分析。另外,在命名空间中还隐式声明了控制依赖操作,这在章节控制流中相关说明。简述是高效易用的开源库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。返回其中一块给用户,并将该内存块标识为占用。 3. TF 代码分析初步3.1 TF总体概述为了对TF有整体描述,本章节将选取TF白皮书[1]中的示例展开说明,如图 3 1所示是一个简单线性模型的TF...
摘要:近日它们交锋的战场就是动态计算图,谁能在这场战争中取得优势,谁就把握住了未来用户的流向。所以动态框架对虚拟计算图的构建速度有较高的要求。动态计算图问题之一的多结构输入问题的高效计 随着深度学习的发展,深度学习框架之间竞争也日益激烈,新老框架纷纷各显神通,想要在广大DeepLearner的服务器上占据一席之地。近日它们交锋的战场就是动态计算图,谁能在这场战争中取得优势,谁就把握住了未来用户的流...
摘要:联合查找算法是并查集数据结构一种应用。并查集是一种树型的数据结构,其保持着用于处理一些不相交集合的合并及查询问题。的特征是删除节点。目前就职于腾讯事业部,从事神经机器翻译工作。 5. TF - Graph模块TF把神经网络模型表达成一张拓扑结构的Graph,Graph中的一个节点表示一种计算算子。Graph从输入到输出的Tensor数据流动完成了一个运算过程,这是对类似概率图、神经网络等连接...
阅读 963·2023-04-26 02:56
阅读 9437·2021-11-23 09:51
阅读 1849·2021-09-26 10:14
阅读 2979·2019-08-29 13:09
阅读 2152·2019-08-26 13:29
阅读 570·2019-08-26 12:02
阅读 3560·2019-08-26 10:42
阅读 2999·2019-08-23 18:18