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 "data=@test.jpg" http://localhost:8080 -o result.png
Q: I get an empty response, or "out of memory"
A: Increase your Docker RAM limit to at least 6GB: https://github.com/cyrildiagne/ar-cutpaste/issues/26#issuecomment-625689672
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:
cd BASNet-http
- Clone the BASNet repository
- Download the pretrained model basnet.pth
- Put the file inside the
BASNet/saved_models/basnet_bsi/
folder.
Requires Python v3.6+
virtualenv venv
venv/bin/activate
pip install torch==0.4.1
pip install -r requirements.txt
python main.py
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