模型压缩(2) - Xception

Xception: Deep Learning with Depthwise Separable Convolutions

   

论文地址: Arxiv Paper

   

Xception 属于google Inception家族中的一员,演变过来的

   

Google Net Inception V3

输入input通过四个path,最后concat得到output

   

简化后的Inception module

将1中结构简化,input通过3组conv1x1 + conv3x3的block,最后concat得到output

   

变形

将2中的module继续简化

  • 将conv1x1提到外面
  • 将conv1x1 的output channel 划分为3部分分别进行conv3x3卷积

   

   

极端情况

对于conv1x1的output channel (oc),每一个oc后面接一个conv3x3,

最后将conv3x3的输出concat得到最终的output

   

Reference

Xception算法详解

转载于:https://www.cnblogs.com/fighting-lady/p/8903738.html

Draco是一种高效、开源的三角形网格压缩库,由Google开发,用于减少3D模型文件的大小而保持良好的细节。在Java中使用Draco进行模型压缩,你需要依赖其Java绑定或SDK。以下是如何使用Draco Java API进行模型压缩的基本步骤: 1. **添加依赖**: 首先,你需要在你的项目中添加Draco的依赖。如果你使用Maven,可以在pom.xml中添加如下依赖: ```xml <dependency> <groupId>com.google.draco3d</groupId> <artifactId>draco</artifactId> <version>1.5.0</version> </dependency> ``` 或者如果你使用Gradle,添加到`build.gradle`文件中: ```gradle implementation 'com.google.draco3d:draco:1.5.0' ``` 2. **创建 DracoEncoder 实例**: 创建一个`DracoEncoder`对象,这是用来编解码模型的主要工具: ```java import com.google.draco3d.encode.DracoEncoder; DracoEncoder encoder = new DracoEncoder(); ``` 3. **加载模型数据**: 读取3D模型的数据,通常是一个`VertexBufferObject`(VBO)或者`IndexBufferObject`(IBO),具体取决于你的模型格式。 4. **配置编码设置**: 根据需求调整编码参数,例如启用或禁用某些优化,设置质量级别等。这可以通过调用`encoder.setEncodingOptions()`方法来完成。 5. **压缩模型**: 将模型数据传递给`encode()`方法进行压缩: ```java byte[] compressedData = encoder.encode(modelData); ``` 6. **保存结果**: 将压缩后的字节数组写入文件或者网络传输。 7. **处理错误和异常**: 不要忘记检查编码过程中的异常,如`IOException`。 ```java try { // 缩压并保存 } catch (Exception e) { e.printStackTrace(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值