Dear Edge Impulse Team.
I’ve been enthusiastically digging and exploring your platform for the last days until I’ve realized this HUGE problem Question/Issue:
I’m trying to train my model locally (exported from Edit block locally) and building/running the docker like suggested in the README but, with my big surprise (and disappointment), it still complains ERR: Estimated training time (1h 29m 30s) is larger than compute time limit (20m 0s).
I’ve read the brief docs about BYOM but this means I’ve to start from scratch or I can use the model settings prepared in the studio and downloaded??? There is almost no useful information there on how to do it.
Can I use the code exported from Edit block locally to train locally with no restrictions yes or no?
I really hope is yes and I’ve missed some docs and I can take advantage of the great pipeline that you’ve made, and likewise I can use my local compute resources.
Project ID:
362527 Context/Use case:
This is the fist research phase, for a CV project I’m doing for the University of Bologna (Italy),
field: Precise and Sustainable Agriculture.
We aim to successfully estimate the weight of the crop, collected in a conveyor belt using image regression.
The current dataset comprise of 1000+ synthetic generated images with corresponding labels representing the number of “balls” tossed in the rigid-body simulation (blender).
This is just the very first try, but we plan to use many more sample, with possible increased resolutions/image quality and, of course, real images at harvesting time.
Interesting project, we love blender here too, and could use some better examples for sure. I’ll try to follow through your workflow.
Can you share the pipeline / notebook / gitrepo you are working from? I’ll check with the team on the steps that are missing and get back to you.
Failed to create job: Transfer learning model “ei-synth” cannot be exported
Custom learning blocks can be modified locally from the same local directory it was initially pushed from on your system, or re-clone the remote repository it is stored in, and then re-push your updated block with the Edge Impulse CLI
OK so the main problem is getting the trained model output in the correct format to get recognised as it is trained once it is uploaded to your project.
Did you try to follow the BYOM doc? Your model must have a single input tensor and a single output tensor. After training and evaluating your model, then bundle it in a zip.
Input and Output Tensors: The model should have a single input tensor and a single output tensor. For image models, the input tensor typically has a shape that includes the batch size, height, width, and channels (e.g., [1, height, width, channels]), and the output tensor shape (e.g., [1, 1] for a single regression output).
Export and Zip your trained model: If using a TensorFlow SavedModel, the directory containing the saved_model.pb file and variables directory should be zipped something like this.
# Save the trained model
model.save('/my_model')
# Zip the saved model directory for upload
!zip -r my_model.zip . /my_model/
If you’re still having trouble I will check with the tech team to see if there is anything we are missing.