GithubHelp home page GithubHelp logo

xu-justin / fiftyone-plotly-dash Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 1.0 15.17 MB

Integrating fiftyone image embeddings to web browser using plotly-dash.

Python 94.58% Dockerfile 3.65% Shell 1.77%
dash embeddings fiftyone plolty

fiftyone-plotly-dash's Introduction

fiftyone-plotly-dash

This repository integrates fiftyone image embeddings to web browser using plotly-dash, so that user no longer need to use jupyter notebook or jupyter lab to preview and interact with image embeddings plot.

Usage

The program app_flask.py responsible to serve fiftyone application, while the program app_dash.py responsible to serve plotly plot on dash server. Both programs need to be run parallely in order to work as it should.

Run the following command on terminal to clone this repository, then execute run.sh to run app_flask.py and app_dash.py in parallel.

git clone https://github.com/Xu-Justin/fiftyone-plotly-dash.git
cd fiftyone-plotly-dash
./run.sh

API

Method Route Description
GET url:6001/embedding/<name> Display image embeddings plot of <name>.

This API will automatically send POST url:6001/compute, if <name>.pickle is not found on cache folder.
GET url:6001/fiftyone/<name> Display selected image embeddings scatter of <name> on fiftyone interface.
Method Route JSON Description
POST url:6001/compute
'name' :str
Compute image embeddings of <name> and saved the result to <name>.pickle on cache folder.
POST url:6001/fiftyone/update
'name' :str
'ids' :list
Update fiftyone view of to only contains images.
POST url:6001/fiftyone/save/view - Save current fiftyone session view to dataset.
POST url:6001/delete/cache - Delete all cache.

Docker

It is recommended to do the inference inside a docker container to prevent version conflicts. The container image for this project is available on Docker Hub and can be pulled using the following commands.

docker pull jstnxu/fiftyone-plotly-dash

The following commands will run the docker image.

docker run -it --ipc=host -v <local_fiftyone>:/root/.fiftyone/ -p <local_port>:6000-6003 --rm jstnxu/fiftyone-plotly-dash

This project was developed as part of Nodeflux Internship x Kampus Merdeka.

fiftyone-plotly-dash's People

Contributors

xu-justin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

clayrisee

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.