Portal
Portal is the fastest way to load and visualize your deep learning models. We are all sick of wrangling a bunch of cv2
or matplotlib
codes to test your models - especially on videos. We created portal to help teams, engineers, and product managers interactively test their model on images and videos, inference thresholds, IoU values and much more.
Portal is an open-source browser-based app written in TypeScript
, React
and Flask
.
Made with โฅ
by Datature
Portal works on both images and videos - bounding boxes and masks - allowing you to use it as a sandbox for testing your model's performance. Additionally, Portal supports Datature Hub, TensorFlow and DarkNet models (PyTorch Support Incoming) and runs on either our electron app or your browser.
Setting up Portal
Portal can be used as a Web Application or through downloading and installing our Electron package via Portal Releases.
Running Portal as a Web Application
Portal is built using python 3.7
. Ensure that you have this version (and up) before beginning. Clone the repository and then navigate to the directory where requirements.txt
is and install all necessary dependencies and setup using setup.sh
:
git clone https://github.com/datature/portal
cd portal
pip3 install -r requirements.txt
./setup.sh
Running the following command will open the Portal application on the browser via http://localhost:9449.
If you wish to run the application on gpu, add a trailing
--gpu
flag (This only works for TensorFlow Models)
python3 portal.py
Using Virtual Environment
If you'd like to use virtual environments for this project - you can use a helpful script below to before activating the virtualenv -
./setup-virtualenv.sh
Running from Portal Executable
Portal comes with an installable version that runs on electron.js
- this helps to provide a desktop application feel and ease of access of setting up. To install, please download the latest Portal Releases and run the Portal installer for your OS.
Navigating Portal
On starting Portal or navigating to http://localhost:9449 - The following steps details how you can load your YOLO or TensorFlow model on your image folders. To begin, let's assume we want to register a tf2.0
model. On Portal, a concept we use is that you can register multiple models but load one at each time.
Registering and Loading Portal
Start by clicking on the +
sign and adding the relevant filepaths, e.g. /user/portal/downloads/MobileNet/
and a name. You will be prompted to load the model as seen below. Simply click on the model you'd like to load and the engine wil
Loading Your Images / Videos
To load your dataset (images / videos), click on the Open Folders
button in the menu and paste your folder path to your dataswr. Once you are done, press the enter
button. The images should appear in the asset menu below. You can load and synchronize multiple folders at once on Portal.
Running Inferences
Click on any image or video, press Analyze
, and Portal will make the inference and render the results. You can then adjust the confidence threshold or filter various classes as needed. Note that Portal run inferences on videos frame-by-frame, so that will take some time. You can change the inference settings, such as IoU or Frame Settings under Advanced Settings
.
Portal works on both Mask and Bounding Box models. For detailed documentations about advanced features of Portal can be found here : Portal Documentation
Sample Weights
We have provided sample weights for you to test portal:
Dataset | Description | Download Link |
---|---|---|
YOLO-v3 | DarkNet Model based off pjreddie/darknet | YOLOv3 |
SSD MobileNet V2 FPNLite 640x640 | Tensorflow Model from tensorflow/models | MobileNet |