Giter Club home page Giter Club logo

nsfw-api's Introduction

Nanonets NSFW API

Live demo

Golang Sample Python Sample Node.js Sample

Usage

We're classifying images into NSFW and SFW categories.

Following are the image categories we classify into NSFW categories.

  • Porn
  • Explicit Nudity
  • Animated Porn
  • Suggestive Nudity
  • Gore

Query pretrained model.

You can query our pretrained model which should work for most use cases. If you want to build your own custom model tailored to your use case, skip ahead to the next section.

Few integration code samples are provided below.

Model ID : 7390a500-9fe1-483b-8123-750b96fc660

curl

curl --request POST --url 'https://app.nanonets.com/api/v2/ImageCategorization/LabelUrls/' --header 'accept: application/x-www-form-urlencoded' -d 'modelId=7390a500-9fe1-483b-8123-750b96fc660c&urls=https://goo.gl/ICoiHc' -u '-REPLCAE_YOUR_API_KEY:'

python

#REPLACE YOUR API KEY
 
import requests
 
url = 'https://app.nanonets.com/api/v2/ImageCategorization/LabelUrls/'
 
headers = {
  'accept': 'application/x-www-form-urlencoded'
}
 
data = {'modelId': '7390a500-9fe1-483b-8123-750b96fc660c', 'urls' : ['https://goo.gl/ICoiHc']}
 
response = requests.request('POST', url, headers=headers, auth=requests.auth.HTTPBasicAuth('REPLACE_YOUR_API_KEY', ''), data=data)
 
print(response.text)

node

var request = require("request");
  
var options = { method: 'POST',
  url: 'http://app.nanonets.com/api/v2/ImageCategorization/LabelUrls/',
  headers:
  { 'cache-control': 'no-cache',
    Authorization: 'Basic ' + new Buffer('REPLACE YOUR API KEY' + ":" + '').toString("base64"),
    'Content-Type': 'application/x-www-form-urlencoded' },
  form:
  { urls: 'https://goo.gl/ICoiHc',
    modelId: '7390a500-9fe1-483b-8123-750b96fc660c' } };

request(options, function (error, response,body) {
  if (error) throw new Error(error);

  console.log(body);
});

Train your own NSFW model

Step 1: Clone the Repo

git clone https://github.com/NanoNets/nsfw-api
cd nsfw-api

Step 2: Get your free API Key

Get your free API Key from http://app.nanonets.com/#/keys

Step 3: Set the API key as an Environment Variable

export NANONETS_API_KEY=YOUR_API_KEY_GOES_HERE

Step 4: Create a New Model

python ./code/create_model.py

_Note: This generates a MODEL_ID that you need for the next step

Step 5: Add Model Id as Environment Variable

export NANONETS_MODEL_ID=YOUR_MODEL_ID

_Note: you will get YOUR_MODEL_ID from the previous step

Step 6: Upload the Training Data

The training data is found in data

python ./code/upload_training.py

Step 7: Train Model

Once the Images have been uploaded, begin training the Model

python ./code/train_model.py

Step 8: Get Model State

The model takes ~2 hours to train. You will get an email once the model is trained. In the meanwhile you check the state of the model

python ./code/model_state.py

Step 9: Make Prediction

Once the model is trained. You can make predictions using the model

python ./code/prediction.py PATH_TO_YOUR_IMAGE.jpg

Sample Usage:

python ./code/prediction.py ./data/nsfw/2795.jpg

nsfw-api's People

Contributors

aatishpatel avatar prats226 avatar rushabhnagda11 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nsfw-api's Issues

Errors when running python ./code/create_model.py

Keep getting this error when running python ./code/create_model.py
Ideas?

  File "code/create_model.py", line 24, in create_new_model
    return json.loads(response.text)["model_id"]
KeyError: 'model_id'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "code/create_model.py", line 29, in <module>
    model_id = create_new_model(categories)
  File "code/create_model.py", line 26, in create_new_model
    raise ValueError("Error in creating model")
ValueError: Error in creating model
Quartz@mypc:~/Desktop/API/nsfw-api$ 

Doesn't work

Doesn't explain how to clone the model & so gives an error {"message":"Unauthorized","code":401,"errors":[{"reason":"Api key and model id does not belong to same account","message":"Add api key and model id from same account to request"}]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.