rushabhnagda11 / multi-label-classification-sample-python

Nanonets API interface for training MultiLabel Image Classification Problem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

  • Get your API key by signing up on app.nanonets.com

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

Build an Classifier for Natural Scene

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 images (image files) and annotations (annotations for the image files)

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 ./multilabel_data/ImageSets/2795.jpg

About

Nanonets API interface for training MultiLabel Image Classification Problem


Languages

Language:Python 100.0%