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.
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
curl -F "email@example.com" 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
- Clone this repository:
git clone https://github.com/cyrildiagne/BASNet-http.git
- Go into the cloned directory:
- Clone the BASNet repository
- Download the pretrained model basnet.pth
- Put the file inside the
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
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