pytorch可视化特征映射的示例代码

  

之前做的一些项目中涉及到功能映射可视化的问题,一个层中特征映射的数量往往就是当前层out_channels的值,我们可以通过以下代码可视化自己网络中某层地图的功能,个人感觉可视化特征地图对调参还是很有用的。

  

<强>不多说了,直接看代码:

        进口火炬   从火炬。autograd导入变量   进口火炬。神经网络是神经网络   进口泡菜      从系统导入路径   路径。追加(“/剩余模型路径”)   进口residual_model   从residual_model进口residual_model      模型=Residual_Model ()   model.load_state_dict (torch.load (’。/model.pkl '))            类myNet (nn.Module):   def __init__(自我、pretrained_model层):   超级(myNet自我). __init__ ()   self.net1=nn.Sequential(*列表(pretrained_model.children())[:层[0]])   self.net2=nn.Sequential(*列表(pretrained_model.children())[:层[1]])   self.net3=nn.Sequential(*列表(pretrained_model.children())[:层[2]])      def向前(自我,x):   着干活=self.net1 (x)   out2=self.net(着干活)   out3=self.net (out2)   返回着干活,out2 out3      def get_features (pretrained_model x层=[3、4、9]):# # get_features其实很简单   “‘   1.首先导入模型   2.将重量负荷进模型   3.熟悉模型的每一层的位置,提前知道要输出特征映射的网络层是处于网络的那一层   4 .直接将test_x输入网络,*列表(model.chidren())是用来提取网络的每一层的结构的.net1=nn.Sequential(*列表(pretrained_model.children())[:层[0]]),就是第三层前的所有层。      “‘   net1=nn.Sequential(*列表(pretrained_model.children())[:层[0]])   #打印net1   着干活=net1 (x)      net2=nn.Sequential(*列表(pretrained_model.children())(层[0]:层[1]])   #打印net2   out2=net2(着干活)      # net3=nn.Sequential(*列表(pretrained_model.children())(层[1]:层[2]])   # out3=net3 (out2)      返回着干活,out2   张开(‘test.pickle’,‘rb) f:   data=https://www.yisu.com/zixun/pickle.load (f)   数据[x=' test_main '] [0]   x=变量(torch.from_numpy (x)) .view (1128 1) # # test_x必须为Varibable   # x=变量(torch.randn (1128 1))   如果torch.cuda.is_available ():   x=x.cuda() #如果模型的训练是用cuda加速的话,输入的变量也必须是cuda加速的,两个必须是对应的,网络的参数重量都是用cuda加速的,不然会报的错   模型=model.cuda ()   output1 output2=get_features(模型中,x) # #模型是训练好的模型,前面已经导入进来了剩余模型   打印(output1.shape:, output1.shape)   打印(output2.shape:, output2.shape)   #打印(output3.shape:, output3.shape)   output_1=火炬。挤压(output2昏暗=0)   .numpy output_1_arr=output_1.data.cpu()() #得到的cuda加速的输出不能直接转变成numpy格式的,当时根据报错的信息首先将变量转换为cpu的,然后转换为numpy的格式   output_1_arr=output_1_arr.reshape ([output_1_arr.shape [0], output_1_arr.shape [1]])   之前      

以上这篇pytorch可视化特征映射的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

pytorch可视化特征映射的示例代码