You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow重训练模型在Android设备上表现异常的技术咨询

解决TensorFlow重训练模型在Android端运行异常的问题

我之前也碰到过一模一样的情况——电脑上测试模型分类准得一批,放到Android里就各种出问题。结合TensorFlow for Poets的教程逻辑,给你梳理几个最可能的排查方向:

1. 别直接用.pb文件!先转成TensorFlow Lite格式

电脑端的retrained_graph.pb是标准TensorFlow GraphDef模型,Android端更适配**TensorFlow Lite(.tflite)**格式,直接丢.pb文件进去大概率会加载失败或者输出乱码。

赶紧转个格式试试,执行这条命令:

tflite_convert --output_file=tf_files/retrained_graph.tflite --graph_def_file=tf_files/retrained_graph.pb --input_arrays=Placeholder --output_arrays=final_result

把生成的retrained_graph.tflite和标签文件(retrained_labels.txt)一起放到assets文件夹里,替换原来的.pb文件。

2. 核对Android代码的输入输出配置

模型的输入输出节点、尺寸必须和训练/转换时完全匹配:

  • 输入尺寸:教程默认是224x224像素,代码里预处理图片时必须缩放到这个尺寸,不能随便改
  • 节点名称:转换模型时指定的input_arrays是Placeholder,output_arrays是final_result,Android代码里调用模型时要对应上
  • 标签顺序:retrained_labels.txt里的类别顺序必须和训练时的类别顺序完全一致,多一个空格、换行都可能导致分类错位

3. 确认assets文件被正确打包

有时候Android Studio会抽风,没把assets里的文件打包进去,检查下build.gradle的配置:

android {
    sourceSets {
        main {
            assets.srcDirs = ['src/main/assets']
        }
    }
}

然后执行Build > Clean Project再Rebuild Project,清掉缓存重新编译。

4. 对齐图片预处理逻辑

电脑端的label_image.py有一套固定的预处理流程,Android端必须1:1复刻,差一点都不行:

  • 颜色通道:要转成RGB(别用Android默认的BGR)
  • 归一化:把像素值除以255.0转成0-1之间的float值
  • 尺寸:严格缩放到224x224,不能拉伸变形

给你贴个Java版的预处理示例,你对照着改:

// 缩放图片到模型要求的224x224
Bitmap resizedBitmap = Bitmap.createScaledBitmap(originalBitmap, 224, 224, true);
float[] inputArray = new float[224 * 224 * 3];
int idx = 0;
for (int y = 0; y < 224; y++) {
    for (int x = 0; x < 224; x++) {
        int pixel = resizedBitmap.getPixel(x, y);
        // 按RGB顺序归一化
        inputArray[idx++] = Color.red(pixel) / 255.0f;
        inputArray[idx++] = Color.green(pixel) / 255.0f;
        inputArray[idx++] = Color.blue(pixel) / 255.0f;
    }
}

5. 打印输出调试

如果还是不行,就在Android代码里把模型输出的所有类别概率都打印出来,和电脑端的结果对比:

  • 如果输出概率完全乱序,说明标签文件读错了
  • 如果概率值都接近0或者1,说明预处理有问题
  • 如果模型直接加载失败,检查.tflite文件是否损坏

内容的提问来源于stack exchange,提问作者tetedp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:28