Integrating What-If-Tool Widget in Streamlit App

Hi, I have been developing a Streamlit app for Machine Learning models and want to integrate the Widget provided by the What-If Tool (link: What-If Tool).

For an example code of the Widget that I want to integrate please see the link: Example Code of Widget on Google Colab

Can anyone please help me on how to include the exact same widget in streamlit application with all the interactive functionalities maintained.

Thanks in Advance!!

1 Like

Same Issue with me also. Did anyone else has come across this requirement.
Any solution would be helpful!!!

Hi @Arko and @Navyasree_Yadavalli :grinning_face_with_smiling_eyes:

I’ve created a Streamlit component (work in progress) that embeds TensorBoard in Streamlit apps: streamlit-tensorboard

Although I haven’t tested out the What-If Tool yet, it is accessible interactively within streamlit-tensorboard:

The component is missing a lot of command line arguments that you would usually pass, such as the -whatif-data-dir=PATH flag, but you should be able to use the What-If Tool graphically: Getting Started in TensorBoard

Feel free to submit PRs if you have ideas for additional features!

Happy Streamlit’ing! :balloon:


@snehankekre yay lots of new components!

Feel free to add streamlit-tensorboard in the In development category of the Components Tracker :stuck_out_tongue:


@andfanilo Thanks for the idea, done! I’ll make a post about it in 2-3 weeks, once I’ve had time to work on it a bit more :wink:

1 Like

@snehankekre Is there any way to get this component working in Streamlit cloud?

@penfever Unfortunately, not at this time. :slightly_frowning_face: For security reasons, Streamlit Cloud doesn’t allow you to open and expose network ports (as required by Tensorboard and streamlit-tensorboard). I’ve added a clarifying note at the bottom of the README.

Hi I have the same issue that trying to use the WIT tool in my streamlit app.

I have tried the new function embedding TensorBoard, TensorFlow’s visualization toolkit, in Streamlit apps which did not solve my problems.

I would be grateful to hear if you find any way to approach this problem.