Week 5 (Jul 4 - Jul 7)
Meeting with Mentors
- In this week’s meeting, Sergio and I primarily discussed the UI. I presented the Figma design to him (here it is for your reference). He suggested several additions:
- In the Dataset Viewer tab, after selecting the dataset, display some images and let the user select an image from there.
- In the Detector tab, add the original image and an overlap of the original and prediction. Also, add a selector for a sample image to run inference on.
- In the Evaluator tab, I had missed the batch size option, which Sergio pointed out.
- He also recommended implementing real-time updating of the metrics and emphasized keeping the end user in mind throughout the design.
- I also created a small prototype using Streamlit and demonstrated it to Sergio. He suggested using separate bounding box colors for different categories.
To Do for This Week
- Continue making progress with the Streamlit UI.
- Extensively test the newly added object detection metrics.
- Fix all the MPS errors I was facing.
Progress
- I started by fixing errors in my example notebook, focusing on the kernel crash issue from last week and the
[srcBuf length] > 0 INTERNAL ASSERT FAILED
error specific to MPS. - I noticed that inference through my pipeline was producing poor predictions, so I rechecked the class definitions and added logic for the confidence threshold in both inference and evaluation.
- I also modified my model configuration and updated PyTorch. Everything is working as expected now. Next, I plan to run evaluation on a larger dataset sample and check the results.
- Another issue I observed: running evaluation was taking almost 50–60 seconds per sample. I’m not sure if this is normal, so I’ll check with my mentors to see if there’s a way to decrease the runtime.
- I then worked on the UI, implementing Sergio’s suggestions for the Dataset Viewer tab. Currently, I’m accepting the dataset as a zip file (since Streamlit doesn’t support folder uploads), and displaying 10 sample images from the dataset. After the user selects an image, it is shown in full size with bounding boxes.
- Streamlit doesn’t allow images to be used directly as buttons, so as a workaround for this demo, I’ve added a button below each image. In the future, I’ll explore creating a custom component to make the images themselves clickable.
Enjoy Reading This Article?
Here are some more articles you might like to read next: