【问题标题】:Prediction differences between keras and tensorflow lite modelkeras 和 tensorflow lite 模型的预测差异
【发布时间】:2019-11-14 20:05:28
【问题描述】:

我创建了 keras 模型来识别人类活动,基于来自移动加速度计的数据:

model = Sequential()
model.add(Reshape((const.PERIOD, const.N_FEATURES), input_shape=(240,)))
model.add(Conv1D(100, 10, activation='relu', input_shape=(const.PERIOD, const.N_FEATURES)))
model.add(Conv1D(100, 10, activation='relu'))
model.add(MaxPooling1D(const.N_FEATURES))
model.add(Conv1D(160, 10, activation='relu'))
model.add(Conv1D(160, 10, activation='relu'))
model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(7, activation='softmax'))
model.summary()
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

我已经测试过模型,十个 epoch 后的准确率大约是 85-90%。我不知道,但是当我将模型转换为 TF Lite 并在我的 android 应用程序中运行解释器时,会出现可怕的预测。结果不好的原因是什么? keras -> tensorflow -> tensorflow lite line 不兼容?我应该以另一种方式运行它,使用 servlet + keras 模型之类的东西吗?

【问题讨论】:

  • 你很快就进入了你的模型,你有没有考虑过它可能是训练数据?
  • 但如果是同一部手机,同样的活动,数据会有什么问题?
  • 每次活动我收集的方式都是一样的,即保持在首选位置或放在我的口袋里。

标签: python android tensorflow keras tensorflow-lite


【解决方案1】:

一些建议:

  1. 尝试使用 https://lutzroeder.github.io/netron/。看看有没有 出乎意料。
  2. 首先尝试使用 tensorflow lite 的 python API 进行调试。喂一样的 keras 模型和 tflite 模型的输入并比较输出 张量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多