https://github.com/amirzenoozi/nsfw-classification

A Simple NSFW Classifier Based on Keras and Tensorflow

https://github.com/amirzenoozi/nsfw-classification

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.9%) to scientific vocabulary

Keywords

cli keras-models keras-tensorflow nsfw nsfw-classifier-api nsfw-detection nsfw-recognition nudity nudity-detection porn-detection rest-api scene-detection sexy telegram-bot telegram-bots uvicorn
Last synced: 5 months ago · JSON representation

Repository

A Simple NSFW Classifier Based on Keras and Tensorflow

Basic Info
  • Host: GitHub
  • Owner: amirzenoozi
  • License: agpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 321 KB
Statistics
  • Stars: 57
  • Watchers: 6
  • Forks: 9
  • Open Issues: 1
  • Releases: 1
Topics
cli keras-models keras-tensorflow nsfw nsfw-classifier-api nsfw-detection nsfw-recognition nudity nudity-detection porn-detection rest-api scene-detection sexy telegram-bot telegram-bots uvicorn
Created almost 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Funding License

README.md

NSFW Classification ⛔

We Use Pretrained Keras Model to Classify NSFW Content

Prequisites

To run bot you need CPU that supports AVX or AVX2 to run last versions of Tensorflow Otherwise you'll see output like this in your console: bash Illegal instruction (core dumped)

Requirements 📦

bash pip install -r requirements.txt

Classifier CLI Options 📋

bash --model Model File Path #default: 'model/model.h5' --dir Directory Path To Classify #default: 'data/frames' --json Json File Path #default: 'data/frames'

Then You Just Need To Run This

bash python main.py --dir PATH_TO_YOUR_DIR --model MODEL_FILE --jsob FOLDER_NAME

Frame Extractor CLI Options 📋

bash --frame Frame Threshold #default: 1800 (Every Minutes) --src Video File PATH #default: 'sample.mp4'

Then You Just Need To Run This

bash python frame.py --frame FRAME_TH --src VIDEO_FILE

How To Serve Telegram Bot 🤖

Firstly, You Need To Get API_TOKEN from @Bot_Father. Then you need to put your token into '.env' file. Now just run: bash python bot.py

Rest API 📡

You Only Need To Run: bash uvicorn server:app

Features ✨

  • [x] Detect Neutral , Porn and Sexy
  • [x] CLI
  • [x] Telegram Bot
  • [x] Video Files
  • [x] Auto Scene Detect
  • [ ] Train Phase
  • [ ] Dataset
  • [ ] Rest API
    • [x] Image Support
    • [ ] Video Support
    • [ ] GIF Support

Owner

  • Name: Amirhossein Douzandeh Zenoozi
  • Login: amirzenoozi
  • Kind: user
  • Location: Bolzano, Italy

🐍 Python Lover‌ 🧠 AI Student 💻 Front-End Engineer

GitHub Events

Total
  • Watch event: 5
  • Fork event: 1
Last Year
  • Watch event: 5
  • Fork event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 3
  • Total pull requests: 3
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 18 hours
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 2.33
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 20 minutes
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • IzyI (1)
  • masterofobzene (1)
  • Ho3EiNT79 (1)
Pull Request Authors
  • krystlepalace (2)
  • vchakoshy (1)
Top Labels
Issue Labels
question (2)
Pull Request Labels

Dependencies

requirements.txt pypi
  • Babel ==2.12.1
  • Brlapi ==0.8.5
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.3
  • PyGObject ==3.44.1
  • PyYAML ==6.0.1
  • Pygments ==2.16.1
  • SecretStorage ==3.3.3
  • Sphinx ==7.1.2
  • aiofiles ==23.1.0
  • aiogram ==3.0.0rc2
  • aiohttp ==3.8.5
  • aiosignal ==1.3.1
  • alabaster ==0.7.13
  • annotated-types ==0.5.0
  • asttokens ==2.2.1
  • async-timeout ==4.0.3
  • async-timeout ==4.0.2
  • asyncio ==3.4.3
  • attrs ==22.2.0
  • attrs ==23.1.0
  • autocommand ==2.2.2
  • backcall ==0.2.0
  • bcrypt ==4.0.1
  • breezy ==3.3.3
  • certifi ==2023.7.22
  • cffi ==1.15.1
  • chardet ==5.2.0
  • charset-normalizer ==3.2.0
  • configobj ==5.0.8
  • cryptography ==41.0.3
  • dbus-python ==1.3.2
  • decorator ==5.1.1
  • distro ==1.8.0
  • dnspython ==2.3.0
  • docutils ==0.20.1
  • dulwich ==0.21.5
  • executing ==1.2.0
  • fastbencode ==0.2
  • fastjsonschema ==2.18.0
  • frozenlist ==1.4.0
  • idna ==3.4
  • imagesize ==1.4.1
  • importlib-metadata ==5.0.0
  • inflect ==7.0.0
  • ipython ==8.14.0
  • jaraco.classes ==3.3.0
  • jaraco.context ==4.3.0
  • jaraco.functools ==3.8.0
  • jaraco.text ==3.11.1
  • jedi ==0.18.2
  • jeepney ==0.8.0
  • keyring ==24.2.0
  • lensfun ==0.3.4
  • libfdt ==1.7.0
  • louis ==3.26.0
  • lxml ==4.9.2
  • magic-filter ==1.0.11
  • matplotlib-inline ==0.1.6
  • merge3 ==0.0.13
  • meson ==1.2.1
  • more-itertools ==10.1.0
  • multidict ==6.0.4
  • netsnmp-python ==1.0a1
  • ordered-set ==4.1.0
  • packaging ==23.1
  • parso ==0.8.3
  • patiencediff ==0.2.13
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • platformdirs ==3.9.1
  • ply ==3.11
  • prompt-toolkit ==3.0.39
  • proton-client ==0.7.1
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.2
  • pwquality ==1.4.5
  • pyOpenSSL ==23.2.0
  • pycairo ==1.24.0
  • pycparser ==2.21
  • pydantic ==1.10.9
  • pydantic ==2.3.0
  • pydantic-settings ==2.0.3
  • pydantic_core ==2.6.3
  • python-dotenv ==1.0.0
  • python-gnupg ==0.5.1
  • python-xlib ==0.33
  • pytz ==2023.3
  • pyxdg ==0.28
  • redis ==4.6.0
  • requests ==2.28.2
  • setproctitle ==1.3.2
  • six ==1.16.0
  • snowballstemmer ==2.2.0
  • sphinxcontrib-applehelp ==1.0.6
  • sphinxcontrib-devhelp ==1.0.4
  • sphinxcontrib-htmlhelp ==2.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.5
  • sphinxcontrib-serializinghtml ==1.1.7
  • stack-data ==0.6.2
  • systemd-python ==235
  • tomli ==2.0.1
  • tqdm ==4.65.0
  • traitlets ==5.9.0
  • trove-classifiers ==2023.8.8
  • typing_extensions ==4.7.1
  • urllib3 ==1.26.15
  • validate ==5.0.8
  • validate-pyproject ==0.13.post1.dev0
  • wcwidth ==0.2.6
  • yarl ==1.9.2
  • zipp ==3.16.2