当前位置: 首页 > 知识库问答 >
问题:

Tensorfow-lite预融合和TransposeConv偏置

慕通
2023-03-14

当我们用tf 1.15用PReLU转换tf.keras模型时,PReLU层变成了ReLU,似乎与以前的运算符融合在一起。结果,28 MB的keras h5文件变成了1.3 MB的大小。看起来参数的数量明显减少,因为我没有使用PReLU的份额权重轴选项。那么,这种转换工作正常,没有任何精度损失吗?PReLU的重量是否完全丢弃?同样,融合也考虑到转置卷积层的偏置(偏置在netron中不作为输入属性提及)。这些融合是否在内部保留了训练的权重参数,它们是否影响了tflite的推断精度?

预熔合:-

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

转置转换:-

cout1 = Conv2DTranspose(filters=8, kernel_size=2, strides=2, padding = 'same' )(pout1) # Bias is true by default

它在输出特性上没有显示偏差

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

共有1个答案

束俊英
2023-03-14

如果权重中的所有值都是零,它会在融合/转换过程中自动丢弃它们。因此,融合后PReLU变成了ReLU,转置转换偏置变成了转置转换。当您在训练前将模型转换为tflite格式时,问题就出现了,因为权重有其默认值(零)。

 类似资料:
  • 我使用英特尔®架构代码分析器(IACA)发现了一些(对我来说)意想不到的东西。 以下使用寻址的指令 不符合IACA规定的微型保险丝。但是,如果我这样使用

  • 本文向大家介绍Spring Cloud Alibaba和Dubbo融合实现,包括了Spring Cloud Alibaba和Dubbo融合实现的使用技巧和注意事项,需要的朋友参考一下 服务提供者 创建一个名为 hello-dubbo-nacos-provider 的服务提供者项目 POM 该项目下有两个子模块,分别是 hello-dubbo-nacos-provider-api 和 hello-d

  • 在运行规则之前,我正在尝试将date设置为与我对象中的日期变量相同的日期。我使用此配置来创建我的 在运行规则之前,我使用将会话的日期设置为所需日期。 这导致使用滑动窗口的规则出现错误。比如说,检查1小时内通过的对象,而我在最后一个小时内没有任何对象。前一天我只有3件物品。下面是一个对象数据集示例。 我有一条规则,检查在1小时内是否有超过2个对象具有相同的客户ID。 当我用这些值传递对象时。上面的规

  • 此CDN是一个融合CDN,支持广电标准(NGOD),以及互联网OTT标准,主要特性如下: 支持NGOD标准 支持HLS协议 支持防盗链 支持实时录制,回看 支持在线转码,统一内容格式 内容节点实时监控 智能预分发 系统架构:

  • 关于预合成和嵌套 如果要对合成中已存在的某些图层进行分组,可以预合成 这些图层。预合成图层会将这些图层放置在新合成中,这将替换原始合成中的图层。新的嵌套合成将成为原始合成中单个图层的源。新合成将显示在“项目”面板中并且可用于渲染或者在其他任何合成中使用。您可以通过将现有合成添加到其他合成中来嵌套合成,正如您将其他任何素材项目添加到合成中一样。预合成单个图层可用于向图层添加变换属性以及影响渲染合成元