open nsfw封装成接口

Posted 猫二哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了open nsfw封装成接口相关的知识,希望对你有一定的参考价值。

承接上文:http://blog.csdn.net/wangqi880/article/details/62037078 黄图识别-open nsfw

为了使用的方便和提供别人好用,想把open nsfw封装成http形式的接口,别人通过上传图片,就可以得到这图片的nsfw score.
由于本人技术有限,python不太熟悉,自己整理了一套方案如下:
1因为图片需要上传到服务器之后,才能调用python的 nsfw,所以这里需要搭建一个ftp服务器。
2使用python的bottle提供http服务,可以调用如下命令进行反馈

python ./classify_nsfw.py \\
--model_def nsfw_model/deploy.prototxt \\
--pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel \\
./pic/h1.jpg

3还需要一个web服务器,来做图片上传,然后调用python的bottole接口 ,处理返回数据。
这里使用httpclient来调用Python的远程接口。

web的架构spring+mybatis+springmvc,虽然没有使用到mybatis哈,但是以前有就直接拿来用了。

文件目录:
/home/wangqi//home/wangqi/open_nsfw-master 这里nsfw目录
/home/wangqi//home/wangqi/open_nsfw-master/pic 保存图片目录
可以自己改哈

python的服务脚本就比较简单了:
我是在/home/wangqi/pythonhttp,vim bottoleServer.py

import commands
import bottle
from bottle import route, run, template
@route('/alisa')
def index():
    params = bottle.request.params
    filename=params.get("filename", None)
    print filename
    command = "python /home/wangqi/open_nsfw-master/classify_nsfw.py --model_def /home/wangqi/open_nsfw-master/nsfw_model/deploy.prototxt --pretrained_model /home/wangqi/open_nsfw-master/nsfw_model/resnet_50_1by2_nsfw.caffemodel /home/wangqi/open_nsfw-master/pic/"+filename


    # output = os.popen(command)
    return template('<b>text</b>', text=commands.getoutput(command))


run(host='192.168.247.131', port=8888)

然后python bottoleServer.py启动就好了

。这里启动好了之后,就从github下载javaweb工程就可以使用了哈.

还有就是open nsfw调用的自己的模型,会输出一大推日志信息,我是使用sub直接截取的分数。如果不想要日志的话,只有部署caffeonspark自己训练模型来用了,以后尝试做吧。

以上是关于open nsfw封装成接口的主要内容,如果未能解决你的问题,请参考以下文章

Python3 - Docker部署caffe open_nsfw 图片鉴黄

Python3 - Docker部署caffe open_nsfw 图片鉴黄

黄图识别-open nsfw

Tensorflow Implementation of Yahoo's Open NSFW Model

Caffe和crontab

【转】DRM(三)libdrm库