Android部署Pytorch模型中导包问题(DuplicateClasses)

Gradle7.0以上加载国内镜像源

如果不使用国内镜像源可能会出现下载速度过慢或下载不成功等问题,故我们使用国内的源一劳永逸解决该问题。(注意buildscript模块一定要写在plugins模块上方)

buildscript {
    repositories {
        maven {
            allowInsecureProtocol = true
            url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        maven {
            allowInsecureProtocol = true
            url'https://maven.aliyun.com/repository/public/' }
        maven {
            allowInsecureProtocol = true
            url'https://maven.aliyun.com/repository/google/' }
        maven {
            allowInsecureProtocol = true
            url'https://maven.aliyun.com/repository/jcenter/' }
        maven {
            allowInsecureProtocol = true
            url'https://maven.aliyun.com/repository/central/'}

    }
}

Build.gradle中导入需要的Pytorch包

        根据Pytorch官方文档中会要求我们导入如下两个(进测试编译无法成功)

dependencies {
    implementation 'org.pytorch:pytorch_android_lite:1.9.0'
    implementation 'org.pytorch:pytorch_android_torchvision:1.9.0'
}

Android | PyTorch

         但是我这边版本环境导入后编译运行报错Execution failed for task :‘checkDebugDuplicateClasses

        查阅百度后都说是依赖了重复的资源文件,如在lib和build.gradle中依赖了重复的文件,但是我这边并没有这种情况,猜测是两个包有相同的部分。故改成如下依赖包后完美解决。

    implementation 'org.pytorch:pytorch_android:1.10.0'
    implementation 'org.pytorch:pytorch_android_torchvision:1.10.0'

总结

1.开始没有使用国内镜像源仓库,一直出现下载不成功问题,改用国内源后解决。

2.在我的配置环境下,官方文档中的依赖包有重复,编译不成功。经过实验后改成如上两个依赖包后编译成功。

        最后在Android上部署一个自己训练的狗狗图像分类模型后的结果,由于只是测试模型部署的成功性,故在界面美观和结果展示上并未下功夫。如下是测试图。

         下面是Android上的运行结果,屏幕上的数字就是预测的结果索引了,索引65就是柴犬啦!所以模型部署和预测都没有太大问题,接下来就可以开始操刀其他部分了。

         最后以上解决方案可能并不通用,经测试在我的配置环境下是可行的,我是gradle7.2版本!如果能帮到大家那是最好,如果可惜没有的话那就希望大家能尽快找到解决方案啦。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值