三井 发自 凹非寺

量子位 出品 | 公众号 QbitAI

近日,GitHub上悄然出现一个内含20多万张“不可描述”图片的数据集。

这份数据集一共将内容分为5类,分别是:

hentai、sexy、neutral、drawings、porn。

这份资源的贡献者是一位名叫Alexander Kim的数据科学家。

他说,这些数据集可以用来训练图像分类器,使用CNN做出来的分类器,分辨上述的5种图像准确度可以达到91%。

当然,这份数据集的价值并不仅限于此。不论是做敏感内容过滤工具(比如鉴黄工具),还是各种图像生成模型,相关的数据集都是必不可少的。

如果你有什么想法,可以用这个数据集来练手了。

这个数据集资源,现在已经在GitHub Trending上排名第3。

数据集里都有什么?

数据集中,一共有227995张图片。

其中,hentai类别中有45228张;sexy类别19554张;neutral有20960张、drawings有25732张;porn类别最多,有116521张。

这些图片,是以链接的方式呈现的。以sexy类别为例:

这些链接并不都是完全有效的,也有一些会出现404的情况。

不要问我是怎么知道的……

怎么使用这个数据集?

数据集的使用,主要依靠一些脚本(位于scripts目录下)。分别是:

  • 1_get_urls.sh:遍历文本文件,在scripts / source_urls中下载上述5个类别中的每个类别的图像URL。不过,这个脚本已经运行过了,输出结果在raw_data文件中。如果没有特殊需求,可以直接从下面的脚本开始运行。
  • 2_download_from_urls.sh:下载raw_data目录中文本文件中找到的URL的实际图像。
  • 3_optional_download_drawings.sh:(可选)脚本,从Danbooru2018数据集下载适合工作场所的动漫图像。
  • 4_optional_download_neutral.sh:(可选)脚本,从Caltech256数据集下载适合工作场所的中性图像。
  • 5_create_train.sh:创建data/train目录,将所有raw_data中的.jpg和.jpeg文件复制进去,并删除损坏的图像。
  • 6_create_test.sh:创建data/test目录,从data/train中随机为每一类移动N=2000个文件。(如果需要不同的训练/测试分割,可以在脚本里改变这个数字)。也可以多次运行这个脚本,每次从data/train中移动每个类别的N个图片到data/test中。

具体的运行方式如下:

$ bash 1_get_urls.sh # has already been run$ find ../raw_data -name "urls_*.txt" -exec sh -c "echo Number of URLs in {}: ; cat {} | wc -l" ;Number of URLs in ../raw_data/drawings/urls_drawings.txt: 25732Number of URLs in ../raw_data/hentai/urls_hentai.txt: 45228Number of URLs in ../raw_data/neutral/urls_neutral.txt: 20960Number of URLs in ../raw_data/sexy/urls_sexy.txt: 19554Number of URLs in ../raw_data/porn/urls_porn.txt: 116521$ bash 2_download_from_urls.sh$ bash 3_optional_download_drawings.sh # optional$ bash 4_optional_download_neutral.sh # optional$ bash 5_create_train.sh$ bash 6_create_test.sh$ cd ../data$ ls traindrawings hentai neutral porn sexy$ ls testdrawings hentai neutral porn sexy

不过,也有热心的微博网友给出了一个使用方法:

运行环境

目前,这些脚本只在Ubuntu 16.04 Linux发行版中进行了测试。

需要的环境配置是:

  • Python3 环境:conda env create -f environment.yml
  • Java 运行环境:
  • (Ubuntu linux):sudo apt-get install default-jre
  • Linux 命令行工具:wget、convert、rsync、shuf

传送门

在给出传送门之前,还是很有必要先发出预警:

上班时,不宜观看数据集内容。

https://github.com/alexkimxyz/nsfw_data_scrapper

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

让一个.sh文件一直运行_想做AI鉴黄工具?这有一个内含20多万张“不可描述”图片的数据集...相关推荐

  1. .sh文件怎么运行_监控Linux文件或目录的变化工具之watchman

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Linux系统上使用watchman ...

  2. 两个条件一个为false就运行_【上古十大神马,其中一个以虎为食,一个诛杀相柳,两个龙王之子】缅怀金庸—射雕英雄传200...

    十二生肖之马,名列第七,十二地支当中属午,这也就是午马的由来.上古神话传说中,以马为原型的神兽少为人知,所以呢,歪歪今天就以<山海经>.以及民间神话传说等资料,选出十大'神马'分享给大家, ...

  3. 用python将照片做成数据集_那个20多万“不可描述”照片的数据集,有人用python做了鉴黄模型 | Demo...

    有人上手了! 近日, GitHub出现一个名为"NSFW Model"的项目.通俗一点来说,就是一个鉴黄模型.学习Python中有不明白推荐加入交流群 号:864573496 群里 ...

  4. Linux如何让一个.sh文件可双击执行 并设置桌面启动图标

    Linux如何让一个.sh文件可双击执行并设置桌面启动图标 linux下怎么设置一个.sh文件可执行 参考资料: https://blog.csdn.net/ahelloyou/article/det ...

  5. Android程序暂停sh,init进程 解析Android启动脚本init.rc 修改它使不启动android init.rc中启动一个sh文件...

    Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序.提供了以下的功能:设备管理.解析启动脚本.执行基本的功能.启动各种服务.代码的路径: system/core/init,编 ...

  6. armgcc交叉编译的文件无法运行_认识GCC交叉编译器

    一.GCC 简介 GCC(GNU Compiler Collection)是一套功能强大.性能优越的编程语言编译器,它是GNU计划的代表作品之一.GCC 是 Linux 平台下最常用的编译器,GCC ...

  7. 【Windows10下.sh文件的运行】‘bash’ is not recognized as an internal or external command

    问题描述 由于要下载数据集,需要在Win10下用bash指令. 但是在cmd直接运行,会出现'bash' is not recognized as an internal or external co ...

  8. centos系统中,相同的shell命令,直接在命令行中可以执行,在.sh文件中运行不了的原因

    sh文件可能是从windows上直接拷过去的是dos格式 使用vim命令set ff=unix转为unix格式就可以了

  9. 审批流_想做流程审批的开发?带你玩转Activity工作流(一)

    现在的很多传统企业转型互联网,最多的"转型"工作之一,就是公司的流程审批模块,如何进行线上运行,实现降本增效. -- 23号老板      01引入 现在的很多传统企业转型互联网, ...

  10. 不想做直播的数据分析师不是一个好销售

    关于此博客 首先介绍下作者 写博客的初衷 关于作者的一些小故事 当你遇上了机票退改签诈骗 当你遇上了兼职诈骗 写在最后 首先介绍下作者 90后,本科毕业于211院校,软件工程专业,毕业一直在新疆从事I ...

最新文章

  1. Elam的git笔记:(二)git的安装与基本操作介绍
  2. 消息中间件消费到的消息处理失败怎么办?
  3. 在TSQL中替换换行符
  4. 汉字笔画动图怎么做_“快乐学写字”之五:新笔画及生字间架结构形象化解说(课文1—4)...
  5. Mac下运行git报错xcrun: error: invalid active developer path ..
  6. 我为什么“放弃”从事八年的嵌入式领域
  7. 使用NPO依赖的一些类库文件介绍
  8. ubuntu18设置屏幕旋转_无线电对讲机,常用电台上中继台设置
  9. Windows Xp Sp3简体中文补丁包下载地址
  10. linux 字幕制作工具,字幕制作工具
  11. ijkplayer播放器h265解码能力调研
  12. HTML测试报告模板
  13. 天使投资喜欢什么样的商业计划书
  14. Blender - Proportional Edit Mode - 按比例编辑模式(3D版的液化、挤压工具)
  15. 质量与规范,敬我们那些年欠下的技术债
  16. 程序员刷简历领导看见很寒心,网友:找工作也要经过你同意?
  17. Resional Rose使用说明
  18. HBuilderX 开发工具
  19. JS中的函数声明和函数表达式
  20. 数字音视频编解码技术标准工作组会员单位

热门文章

  1. 生成特定区间的随机数
  2. 2020-12-07
  3. 传智播客 C/C++学习笔记 const
  4. 做情绪的主人,痛苦是人生的催化剂
  5. Atitit 提升开发效率 提升团队人员能力 目录 1. 多语言扩展 提升抽象度 2 2. 从上到下法 vs 从下倒上 问题诊断解决法 2 2.1. 培训机制 上到下法 2 2.2. 问题案例
  6. Atitit sumdoc everything index tech and index log 目录 1. 使用的tech 1 1.1. Atitit 日志记录的三个trace跟踪等级文件夹级
  7. atitit.提升软件开发的生产力关健点-------大型开发工具最关健
  8. Atitit. 解释器模式框架选型 and应用场景attilax总结 oao
  9. atitit.报表最佳实践oae 与报表引擎选型
  10. paip.提升用户体验---上传文件图片命名