Softmax Tensorflow Lite行为不正常

时间:2019-01-05 12:40:07

标签: android tensorflow softmax tensorflow-lite

我制作了一个简单的卷积Tensorflow模型,该模型使用softmax进行推理。当我在python中运行模型并向模型提供图像时,所有内容都会相应工作。但是,当我使用tflite转换模型并从android运行它时,输出为全0的列表。不知何故,softmax无法正常工作。当我删除softmax函数时,输出在python和android中是相同的,我可以通过在Java中实现softmax函数来对其进行修复,但应该有更好的方法吗?我尝试过更改softmax函数的轴,但是在Java中它只返回0。

谢谢!

function (Event $event) {
 if ($event->data['user']['role_id'] === 'bbcb3031-ebed-445e-8507- 
 f9effb2de026') //the id of role{
    return ['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'profile';
 }

1 个答案:

答案 0 :(得分:0)

大概您使用了量化图。 TFLite计算浮点中的softmax,然后将其乘以256并存储为uint8。由于大多数值都很小,因此在相乘并舍入为最接近的整数后,它们将为零。但是,排名应该相同,如果要显示softmax,可以将它们除以256,以显示前几个非零值。