首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PReLU聚变与TransposeConv偏置

PReLU聚变与TransposeConv偏置
EN

Stack Overflow用户
提问于 2020-04-08 15:22:08
回答 1查看 315关注 0票数 0

当我们用Tf1.15将tf.keras模型与PReLU进行转换时,PReLU层变成了ReLU,似乎与以前的算子融合了。因此,28 MB的keras h5文件在size.It中变为1.3MB,看起来参数的数量明显减少,因为我没有在PReLU中使用共享权重轴选项。那么,这种转换工作正常,没有任何准确性损失?PReLU的权重被完全丢弃了吗?同样,融合是否考虑了转置卷积层的偏置(在netron中没有将偏置作为输入特性)。这些融合是否在内部保留了训练过的权重参数,它们是否影响tflite的推理精度?

Prelu融合:-

代码语言:javascript
复制
input = Input(shape=(512,512,3), name='ip')
x = Conv2D(filters=8, kernel_size=2, strides=2, padding='valid')(input)
x = PReLU()(x) # shared_axes not used

它在输出属性中显示了prelu/ReLU

转座子conv:-

代码语言:javascript
复制
cout1 = Conv2DTranspose(filters=8, kernel_size=2, strides=2, padding = 'same' )(pout1) # Bias is true by default

它在输出属性中不显示偏置

那么,融合是通过组合权重来正常工作还是被丢弃了呢?

EN

回答 1

Stack Overflow用户

发布于 2020-04-11 02:03:49

如果权重中的所有值为零,则在融合/转换过程中自动丢弃它们。融合后PReLU变为ReLU,转座子conv+bias变为转座子。当您在训练前将模型转换为tflite格式时,会出现问题,因为权重有其默认值(零)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61104227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档