cyrildiagne / basnet-http

HTTP service wrapper for BASNet: Boundary-Aware Salient Object Detection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BASNet HTTP

This is an HTTP service wrapper for BASNet: Boundary-Aware Salient Object Detection code

The deploy folder contains configuration files for deployment as serverless container with Knative.

It's highly recommended to run this image on a machine with a CUDA compatible Nvidia Card and minimum 6Gb of RAM.

Usage:

docker run --rm -p 8080:80 docker.io/cyrildiagne/basnet-http

If you're having empty response issues, make sure your docker instance has 6gb of RAM as mentioned here

Test:

curl -F "data=@test.jpg" http://localhost:8080 -o result.png

FAQ / Troubleshooting:

Q: I get an empty response, or "out of memory"

A: Increase your Docker RAM limit to at least 6GB: cyrildiagne/ar-cutpaste#26 (comment)

Q: I get a file that is 256x256 instead of my input image's size

A: That's the right output. You need to resize it to your input image's width and height. See: #11

Development

  • Clone this repository: git clone https://github.com/cyrildiagne/BASNet-http.git
  • Go into the cloned directory: cd BASNet-http
  • Clone the BASNet repository
  • Download the pretrained model basnet.pth
  • Put the file inside the BASNet/saved_models/basnet_bsi/ folder.

Build from source:

Option 1 - Locally with virtualenv

Requires Python v3.6+

virtualenv venv
venv/bin/activate
pip install torch==0.4.1
pip install -r requirements.txt
python main.py

Option 2 - Using Docker

After you've retrieved the BASNet model.

Download Resnet checkpoint

curl https://download.pytorch.org/models/resnet34-333f7ec4.pth -o resnet34-333f7ec4.pth
docker build -t basnet .
docker run --rm -p 8080:80 basnet
ezoic increase your site revenue

About

HTTP service wrapper for BASNet: Boundary-Aware Salient Object Detection

License:MIT License


Languages

Language:Python 84.6%Language:Dockerfile 15.4%