PINTO0309 / PINTO_model_zoo

A repository for storing models that have been inter-converted between various frameworks. Supported frameworks are TensorFlow, PyTorch, ONNX, OpenVINO, TFJS, TFTRT, TensorFlowLite (Float32/16/INT8), EdgeTPU, CoreML.
https://qiita.com/PINTO
MIT License
3.49k stars 566 forks source link

Feature Request BirdNet Lite #338

Closed HarshitSheoran closed 1 year ago

HarshitSheoran commented 1 year ago

Issue Type

Feature Request

OS

Ubuntu

OS architecture

x86_64

Programming Language

Python

Framework

TensorFlow

Model name and Weights/Checkpoints URL

https://github.com/PINTO0309/PINTO_model_zoo/tree/main/177_BirdNET-Lite

Description

I want this model in keras, the reason for that is, I want to remove the preprocessing part which have RFFT layer, and take outputs at both embedding and logits, and I am unable to do this with tensorflow graph

Relevant Log Output

No response

URL or source code for simple inference testing code

No response

PINTO0309 commented 1 year ago

I thought if you could convert from TensorFlow saved_model to ONNX it would be very easy to achieve what you want. Unfortunately, however, it seems that tensorflow-onnx aborts on the RFFT2D conversion.

If you really want to break up the model, you will need to convert the tflite to JSON using the tool below, manually cut out the before and after RFFT2D, and then generate the tflite or Keras, saved_model from the JSON again.

https://github.com/PINTO0309/tflite2json2tflite

I know this is a very difficult task because you need to understand the FlatBuffer specifications, but good luck.

HarshitSheoran commented 1 year ago

image I don't think this error provides much detail on why

HarshitSheoran commented 1 year ago

Solved that error, apprently not using sudo can be a dumb thing to do while using docker

HarshitSheoran commented 1 year ago

I have tried some things, I have no idea how to delete the part of graph, it looks simple in netron but the changes seems complex in .json that was created, do you have tips for me?

PINTO0309 commented 1 year ago

Since you are still trying to figure out what is best for you, I will share as many tutorials and simple steps as I can think of. It is not in my or the community's best interest to address individual requirements, and I am not a teacher, so I will keep the explanation and work costs to a minimum. Please understand.

Alternatively, it would be far easier to increase the final output to two or three rather than go to the trouble of removing all the intermediate structure of the model.

PINTO0309 commented 1 year ago

I'm going to close it since you don't seem to want to take it seriously.