npy文件
.npy文件是numpy专用的二进制文件
目的
在训练自己神经网络的时候,经常会用到已经训练好的权重来初始化自己的网络。比如,我们总是download一个权重文件,后缀名是npy或者mat,虽然知道里面存的是相应网络层的权重,但一直没打开看过。
举例
用VGG19做style transfer的时候,会有一个vgg19.npy , 训练网络的时候加载这个文件可以极大的提升网络速度。就是下图中红色箭头所指的npy文件
常见的python IDE都可以打开这个npy文件,我用的是anaconda的spyder
import numpy as npwDict = np.load('vgg19.npy',encoding = "bytes").item()
注:因为要用到numpy的load的函数,所以导入相应的包就行,然后记得加上编码格式encoding = “bytes” 不然会显示很多16进制的数据,load()返回的是一个字典结构的数据。
加载之后,可以很清楚的看到npy中的数据信息,如下:
看到网络的结构是:conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv3_4,conv4_1,conv4_2,conv4_3,conv4_4 ,conv5_1,conv5_2,conv5_3,conv5_4,fc6,fc7,fc8,上述的结构对应了vgg19每层参数信息,参数中包含了权重w和偏置b,比如wDict['conv1_1'][0]是访问w,wDict['conv1_1'][1]是访问conv1_1层对应的偏置。
链接:https://blog.csdn.net/xiqi4145/article/details/84334645