candle/candle-wasm-examples/yolo
Laurent Mazare 2257f4d475
Bump the crate version + update the changelog. (#822)
2023-09-12 06:39:24 +01:00
..
src Simplify usage of the pool functions. (#662) 2023-08-29 19:12:16 +01:00
Cargo.toml Bump the crate version + update the changelog. (#822) 2023-09-12 06:39:24 +01:00
README.md Add Yolo Pose to JS Example (#684) 2023-08-31 06:32:57 +01:00
build-lib.sh Also fix the aspect ratio in the wasm example. (#556) 2023-08-22 22:20:08 +01:00
index.html [WIP] Improve Yolo WASM UI example (#591) 2023-08-26 11:40:41 +01:00
lib-example.html Minor WASM UI improvements (#748) 2023-09-05 19:24:43 +01:00
yoloWorker.js force model cache (#751) 2023-09-06 05:53:31 +02:00

README.md

Running Yolo Examples

Here, we provide two examples of how to run YOLOv8 using a Candle-compiled WASM binary and runtimes.

Pure Rust UI

To build and test the UI made in Rust you will need Trunk From the candle-wasm-examples/yolo directory run:

Download assets:

wget -c https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/candle/examples/bike.jpeg
wget -c https://huggingface.co/lmz/candle-yolo-v8/resolve/main/yolov8s.safetensors

Run hot reload server:

trunk serve --release --public-url / --port 8080

Vanilla JS and WebWorkers

To build and test the UI made in Vanilla JS and WebWorkers, first we need to build the WASM library:

sh build-lib.sh

This will bundle the library under ./build and we can import it inside our WebWorker like a normal JS module:

import init, { Model, ModelPose } from "./build/m.js";

The full example can be found under ./lib-example.html. All needed assets are fetched from the web, so no need to download anything. Finally, you can preview the example by running a local HTTP server. For example:

python -m http.server

Then open http://localhost:8000/lib-example.html in your browser.