Skip to main content

Stand-alone wrapper for Yahoo's OpenNSFW model using ONNX.

Project description

opennsfw-standalone

License: MIT PyPi CircleCI

A small library for intergrating yahoo/open_nsfw model directly into an application.

This library uses the ONNX Runtime to run inference against Open NSFW. The conversion from the original Caffe model provided by yahoo/open_nsfw was done as following:

  1. Convert from Caffe to Tensorflow using ethereon/caffe-tensorflow.
  2. Convert from Tensorflow to ONNX using onnx/tensorflow-onnx.

The image pre-processing routine was approximated and is implemented using Pillow.

Prerequisites

  • ONNX Runtime 1.x
  • NumPy 1.x

Installation

$ pip install opennsfw-standalone

Usage

Python

import sys

from opennsfw_standalone import OpenNSFWInferenceRunner


inference_runner = OpenNSFWInferenceRunner.load()

for image_filename in sys.argv[1:]:
    with open(image_filename, "rb") as fp:
        nsfw_score = inference_runner.infer(fp.read())
        print(image_filename, nsfw_score)

CLI

$ python -m opennsfw_standalone myimage.jpeg mysecondimage.jpeg
myimage.jpg 0.9997739
mysecondimage.jpg 0.9984438

License

Although this repository is MIT licensed, the model itself is subject to the BSD 2-Clause license Yahoo provided.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page