-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pytorch模型直接转TFLite可以支持动态维度输入吗? #73
Comments
据我所知,TFLite模型不支持动态输入大小,只能在AllocateTensors前用ResizeInput来一次性的改变输入的大小。如你有支持动态维度输入的TFLite模型,麻烦提供一个给我们,我们可以研究下怎么实现。 |
PyTorch 动态 shape 模型的话似乎必须要用 |
PyTorch这边其实无所谓,只要TFLite能支持,我们这边可以添加接口,通过一个pass来传播shape的动态性就可以了 |
您好,关于TFLite模型是否支持动态输入大小这个问题,我了解不深,只是参阅了 https://stackoverflow.com/questions/55701663/input-images-with-dynamic-dimensions-in-tensorflow-lite/55732431#55732431 和 tensorflow/tensorflow#41807 这两个链接的回答 |
你试下你的模型走resize_input_tensor可以正常工作吗? |
会出现类似这样的问题: |
嗯,那reshape算子都得特殊处理下,你看下导出的torchscript包不包含shape相关的操作?如果有相关操作的话,我们只需要把shape跟踪下来就行了,如果没有就比较复杂了 |
请问您最后是如何解决这个问题的?已经被困扰三四天了 |
@moses574 截至目前(2024/08/23)为止,TinyNN还没支持动态维度的TFLite模型导出。如果动态维度存在实际的应用场景(最好提供对应的性能数据),我们可以考虑支持。但是根据我的了解,目前tflite的动态维度每次都需要resize tensor的空间,因此如果频繁更换shape的情况,应该开销会很大。所以从目前的评估来说,优先级比较低。 |
@moses574 如果你问的是目前怎么生成这种类型的模型,那么先假设你是转一个浮点的模型,可以先用tinynn转一个固定shape的模型,然后用contrib下面的tflite2tf生成转换代码(转换到tf savedmodel),然后应该可以通过自己修改这段代码来生成动态shape的tf savedmodel,然后再走tf自己的tfliteconverter应该可以导出动态shape的模型。 |
此外,我尝试使用converter.input_shapes = { |
额,因为我们目前没有支持动态shape,所以所有shape都被折叠为常量了,所以用resize_input肯定就没法正常工作。 |
这个你用的不是tinynn的converter吧,你可以去tf那边问问 |
因为有些模型的输入shape是不固定的,请问转换方法支持转出的TFLite模型是动态输入大小的吗?
The text was updated successfully, but these errors were encountered: