caffe+鉴黄︱yahoo+open_nsfw 中resnet_50_1by2、遇到问题

NSFW:Not Suitable for Work; SFW:Suitable for Work

github:https://github.com/yahoo/open_nsfw

.


一、NSFW来历

1、模型来历

finetuned来源于ImageNet 1000 class dataset。使用的框架是:resnet 50 1by2

2、色情指数

雅虎公开的此算法为概率0-1值,二分类。

分数<0.2代表大致安全;分数>0.8代表很高可能性不适合办公环境观看。

当然,这个阈值根据实际情况确定。

.

.


二、caffe的实践

.

1、GPU报错

参考来源:ResNet-50 Testing

 Check failed: target_blobs.size() == source_layer.blobs_size() (5 vs. 3) Incompatible number of blobs for layer bn_conv1

笔者在实践GPU时候遇到这个问题,那么网上的说法为:

It looks like that Batchnorm layer and adjacent Scale layer are

integrated in single Batchnorm layer in NVIDIA caffe. However original

BVLC/caffe doesn’t integrate them. That means any networks and

pretrained models using batchnorm and scale layers with original Caffe

cannot use in NVIDIA caffe and DIGITS.

original Caffe包含:Batchnorm层和adjacent Scale层分开的;

NVIDIA Caffe/DIGITS包含:Batchnorm层和adjacent Scale层合并在一个BN层中;

所以在预测过程中不能使用NVIDIA Caffe,也就是GPU。

那么之后,调用了CPU就可以了,但是比较慢,一张图12s左右(K80)

.

2、resnet-50_1by2中:BN层中的use_global_stats

(参考博客:caffe Resnet-50 finetune 所有代码+需要注意的地方

1.在训练时所有BN层要设置use_global_stats: false(也可以不写,caffe默认是false)

2.在测试时所有BN层要设置use_global_stats: true

影响:

1.训练如果不设为false,会导致模型不收敛

2.测试如果不设置为true,会导致准确率极低

区别:

use_global_stats: false是使用了每个Batch里的数据的均值和方差;

use_global_stats: true是使用了caffe内部的均值和方差。

其中:resnet_50_1by2,resnet_50,resnet68_1by2等这些框架的caffemodel+deploy可见github:https://github.com/jay-mahadeokar/pynetbuilder/tree/master/models/imagenet

.

3、命令行调用SNFW

python ./classify_nsfw.py  --model_def nsfw_model/deploy.prototxt  --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel  INPUT_IMAGE_PATH 
时间: 2024-10-01 17:45:58

caffe+鉴黄︱yahoo+open_nsfw 中resnet_50_1by2、遇到问题的相关文章

5分钟搞定图片鉴黄web应用!

函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩.免运维.高可靠的方式运行.通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费.极大地提高了开发和运维效率,减小了运作成本. 本文我们将介绍如何通过云函数服务快速构建一个无服务器的图片鉴黄web应用,如下图,该应用接收用户上传的图片,并对图片进行分析,判断是否为×××.

5分钟构建无服务图片鉴黄web应用(基于FunctionGraph)

函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩.免运维.高可靠的方式运行.即使在一些复杂的web应用场景中,函数工作流也能发挥出令人惊叹的实力. 通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费.极大地提高了开发和运维效率,减小了运作成本. 本文我们将介绍如何通过函数工作流快速构建一个无服务的图片鉴黄web应用,如

5分钟Serverless实践 | 构建无服务器图片鉴黄Web应用

Serverless是什么 Serverless中文译为"无服务器",最早可以追溯到2012年Ken Fromm发表的<Why The Future Of Software And Apps Is Serverless>,他描述了一种场景,从用户自己维护的物理机,到IaaS,再到PaaS,计算模式的转变并不会停止,在云计算基础设施成熟的情况下应用程序可以不需要考虑服务器的存在,无服务器计算让开发者可以在不考虑服务器的情况下构建并运行应用程序和服务. 再到2016年,Mike

nsfwjs鉴黄识别最小化案例

3个月前,也就是2月份左右吧,Github上出现一个开源项目: Infinite Red, Inc.工作室宣布开源旗下基于tensorflow的tfjs的鉴黄小工具 据说是从15000张图片中 进行机器学习而来的比较聪明的工具,值得一用 NSFW JS 全称为:NotSafe/SuitableForWork 给 NSFW JS 一张图片元素或画布,然后简单地调用 classify,可能会得到如下 5 个分类结果. 绘画(Drawing)——无害的艺术,或艺术绘画: 变态(Hentai)——色情艺

七牛国内首推鉴黄服务,6-8月 免费用

作为移动互联网行业最为热门的创业领域,在过去的几年中,移动社交类App和UGC类App大量涌现,因此在尽力确保产品定位差异化的同时,打造健康的社交生态也成为这些App能得以获得长期发展的关键.然而,由于这类App每天生成的图片信息量通常很大,并且有大量的色情图片混杂其中,所以高效准确地鉴别和剔除这些淫秽色情信息成为一项十分艰巨的任务. 基于此,七牛云携手专注于图像识别技术的图普科技推出了图片鉴黄服务(nrop),帮助七牛用户有效判断保存在七牛云的图片是属于色情.性感还是正常,并给出判断的分数,分

用Python做了鉴黄模型,内含多20万张“不可描述”图片

GitHub出现一个名为"NSFW Model"的项目.通俗一点来说,就是一个鉴黄模型. 这个模型,使用的数据来自前不久量子位介绍的那个数据集,内含多20万张"不可描述"图片. 同时,这个模型也被项目的贡献者做成了Demo. 既然有了Demo,那肯定是免不了测试一番-- Demo效果 Demo网站十分简单,进去之后能做什么一目了然. 上传图片之后,是自动给出结果,不需要点击其他按钮.但有时候不会给出结果-..还有待完善. 学习过程中有不懂的可以加入我们的学习交流秋秋

caffe使用MemoryDataLayer从内存中加载数据

最近在搞caffe的应用,因为很多时候我们需要进行服务器来进行特征的抽取,所以我们需要很将单张图片丢入caffe的网络进行一次传递,这样就诞生了一个从内存中如何加载数据进入caffe的需求,这里我直接贴出代码来先: #include <boost/make_shared.hpp> // these need to be included after boost on OS X #include <string> // NOLINT(build/include_order) #inc

Caffe中对MNIST执行train操作执行流程解析

之前在 http://blog.csdn.net/fengbingchun/article/details/49849225 中简单介绍过使用Caffe train MNIST的文章,当时只是仿照caffe中的example实现了下,下面说一下执行流程,并精简代码到仅有10余行: 1.        先注册所有层,执行layer_factory.hpp中类LayerRegisterer的构造函数,类LayerRegistry的AddCreator和Registry静态函数:关于Caffe中Lay

云服务中消灭小黄图的大宝剑---X次元口袋

X 次元口袋 把数据的场景做深做透,真正帮助用户缩短从想法到产品的距离,是七牛一直以来的使命.从 2011 年至今,围绕数据管理打造场景化 PaaS ,我们已经服务了超过五十万家客户,承载了超过 2000 亿张图片,10 亿小时视频. 对互联网开发者来说,一站式在线数据管理一定要包含针对海量数据的零运维.高可用.高性能的数据处理服务,以便轻松应对图片.音视频及其他各类数据的实时.异步处理场景.目前,七牛提供的数据处理服务已经日处理数近百亿次,除了提供基础数据处理,还基于容器技术打造了易扩展.易部