加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

NCNN示例之squeezenet_v1.1.param/bin文件解析

(2019-10-23 17:35:56)
标签:

it

教育

分类: *机器学习
NCNN 示例之 squeezenet_v1.1.param/bin 文件解析

*.param 文件:
描述神经网络的结构,包括层名称,层输入输出信息,层参数信息等。

NCNN示例之squeezenet_v1.1.param/bin文件解析

7767517
版本号(如下图代码)

NCNN示例之squeezenet_v1.1.param/bin文件解析

层数  数据交换结构(blob)数量
75    83
layer:
神经网络是一层一层向前推进计算的,每一层用一个 layer 表示;
blob: 
每一个 layer 都可能会有输入、输出,在 ncnn 中用一个多维(3维)向量表示,
每一个输入、输出为一个 blob ,并为它起名。

从第 3 行起的每一行描述一个 layer 如下:

层类型       层名            层输入数量  层输出数量  层输入名          层输出名
Input        data                                                 data
Convolution  conv1                             data              conv1
ReLU         relu_conv1                         conv1             conv1_relu_conv1
Pooling      pool1                             conv1_relu_conv1  pool1
Convolution  fire2/squeeze1x1                   pool1             fire2/squeeze1x1

层配置参数(形式有两种:一是 k=v 二是 k=len,v1,v2,v3...(数组))
0=227       1=227  2=3
0=64        1=3    2=1  3=2  4=0  5=1  6=1728
0=0.000000
0=0         1=3    2=2  3=0  4=0
0=16        1=1    2=1  3=1  4=0  5=1  6=1024

1)层 类 型:Input、Convolution、ReLU
2)层   名:模型训练者为该层起得名字(相同类型的层可能多次使用要能区分)
3)层输入数量:层输入blob数量
4)层输出数量:层输出blob数量
5)层输入名称:
6)层输出名称:
7)层配置参数:
  不同的层类型,配置参数意义也不一样,需要具体分析。
  https://github.com/Tencent/ncnn/wiki/operation-param-weight-table
  如:卷积层(Convolution Layer)的 卷积核大小、步长信息 等。

NCNN示例之squeezenet_v1.1.param/bin文件解析

*.bin 文件:binary,二进制
存储了对应模型中部分层的计算需求参数(如:卷积层的权重、偏置信息等)。

如 squeezenet_v1.1.param 文件中的第四行 Convolution 层,

NCNN示例之squeezenet_v1.1.param/bin文件解析

对应的 squeezenet_v1.1.bin 文件中就存储了其:
0 - num_output:     64 个 float 类型的偏置数据(weight bias)
1 - kernel_w:        3
2 - dilation_w:      1
3 - stride_w:        2
4 - pad_left:        0
5 - bias_term:       1
6 - weight_data_size:1728 = 3(核高) * 3(核宽) * 3(RGB三通道) * 64(输出单元数量) 个 float 类型的权重数据(weight_data)

.bin文件字节块结构:
四字节的weight_data数据类型标志 + 6912(1728 * 4)字节的weight_data数据 + 256(64*4)字节的bias偏置数据
注:float 类型是四个字节。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有