Skip to content
This repository has been archived by the owner on Mar 19, 2023. It is now read-only.
/ hebbian_mirror Public archive

Low level http service for image recognition. Written in rust with CUDA support.

License

Notifications You must be signed in to change notification settings

bartossh/hebbian_mirror

Repository files navigation

Hebbian Mirror:

Low level, multi threaded, http API service for image recognition. Written in Rust with CUDA support.

Dependencies:

This software requires:

  • Rust nightly: rustc 1.40.0-nightly, cargo 1.40.0-nightly, rustup 1.20.2

  • Rocket

  • tch

  • openssl

  • Docker

  • and more (please see Cargo.toml)

  • please if building for IoT use proper compilation settings or build on device.

  • please compile with IS_CUDA = false first, or check if your hardware is capable of CUDA before compiling

Deep Learning assets:

  • Download weights $ wget -c https://github.com/LaurentMazare/ocaml-torch/releases/download/v0.1-unstable/yolo-v3.ot to assets folder. or run assets/downloads.sh

  • use nightly: rustup default nightly

Build for development:

  • cargo: $ RUST_LOG=info ROCKET_ENV=development cargo run
  • docker: docker-compose -f docker-compose.dev.yml up

Run in production

  • cargo: $ RUST_LOG=error ROCKET_ENV=production cargo run
  • docker: docker-compose up

Build for production

  • $ cargo build --release then chmod +x ./target/release/hebbian_mirror then $ RUST_LOG=error ROCKET_ENV=production ./target/release/hebbian_mirror

Tests:

Python script: - python3 -m venv venv, then source venv/bin/activate, then pip install -r requirements.txt and run test python e2e_test.py

Authors and Contributors:

License:

Rule to follow for this project

How AI (yolo.v3) works:

YOLO v3 (you only look once) architecture

Predictions map (boxes)

Loss function calculation

Knowledge resources:

Very good explanation from Ayoosh Kathuria

finito

Releases

No releases published

Packages

No packages published

Languages