Python3 - Docker部署caffe open_nsfw 图片鉴黄
文章目录
-
- 1. Docker部署caffe
-
- 检测caffe是否安装成功
- 2. 下载open_nsfw
- 3. 运行caffe
- 4. 运行鉴黄图片
本篇博文重点介绍 Centos:6.9 Docker部署Caffe, 测试open_nsfw实例, 意在学习caffe的快速安装, 这里以cpu版本的caffe安装为例, 简单应用 open_nsfw 鉴黄库, 当前使用图片和视频的项目越来越多, 在此基础上, 进一步封装可以商用, 节省成本。
1. Docker部署caffe
[harry@k8s-master01 open_nsfw]$ docker pull elezar/caffe:cpucpu: Pulling from elezar/caffe6c953ac5d795: Pull complete 3eed5ff20a90: Pull complete f8419ea7c1b5: Pull complete 51900bc9e720: Pull complete a3ed95caeb02: Pull complete b968c02ba977: Pull complete 291f35fdb68c: Pull complete 6c428669041b: Pull complete ee9f5a7f3403: Pull complete 380df6ccf740: Pull complete Digest: sha256:d2fc0a3e942290fdf275cc072f329557b1ba1b0210436c42cd11481d7b4b318cStatus: Downloaded newer image for elezar/caffe:cpudocker.io/elezar/caffe:cpu
检测caffe是否安装成功
# 查看caffe版本号[harry@k8s-master01 open_nsfw]$ docker run -ti elezar/caffe:cpu caffe --versionlibdc1394 error: Failed to initialize libdc1394caffe version 1.0.0-rc3
# 查看caffe镜像[harry@k8s-master01 open_nsfw]$ docker imagesREPOSITORY TAG IMAGE IDCREATED SIZEelezar/caffe cpu aadc51f74429 5 years ago 1.31GB
2. 下载open_nsfw
wget https://github.com/yahoo/open_nsfw.git
3. 运行caffe
# 切换到刚才下载的open_nsfw文件夹[harry@k8s-master01 ]$ cd open_nsfw# 放几张待测试的图片[harry@k8s-master01 open_nsfw]$ tree.├── 111.jpg├── 222.jpg├── 333.jpg├── classify_nsfw.py├── LICENSE.md├── nsfw_model│ ├── deploy.prototxt│ └── resnet_50_1by2_nsfw.caffemodel└── README.md# 运行caffe# --volume=$(pwd):/workspace 工作目录映射# $(pwd)为当前文件路径# /workspace 为caffe工作路径[harry@k8s-master01 open_nsfw]$ docker run -ti --volume=$(pwd):/workspace elezar/caffe:cpu /bin/bashroot@c74059855431:/workspace#
4. 运行鉴黄图片
# 使用open_nsfw识别库 检测图片root@27a3cf6c655f:/workspace# python ./classify_nsfw.py --model_def nsfw_model/deploy.prototxt --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel 333.jpg libdc1394 error: Failed to initialize libdc1394WARNING: Logging before InitGoogleLogging() is written to STDERRI0417 12:29:12.823567 21 net.cpp:49] Initializing net from parameters: name: "ResNet_50_1by2_nsfw"state { phase: TEST}layer { name: "data" type: "Input" top: "data" input_param { shape { dim: 1 dim: 3 dim: 224 dim: 224 } }}..............................I0417 12:28:58.549093 20 net.cpp:219] scale_1 does not need backward computation.I0417 12:28:58.549103 20 net.cpp:219] bn_1 does not need backward computation.I0417 12:28:58.549154 20 net.cpp:219] conv_1 does not need backward computation.I0417 12:28:58.549166 20 net.cpp:219] data does not need backward computation.I0417 12:28:58.549175 20 net.cpp:261] This network produces output probI0417 12:28:58.549315 20 net.cpp:274] Network initialization done.I0417 12:28:58.809204 20 net.cpp:752] Ignoring source layer loss('NSFW score: ', 0.81271326541900635)# 很明显0.8值高了, 你懂得~ 自己手动试试吧~
好啦🌶🌶, 关于caffe-open_nsfw鉴黄就介绍到这里, 喜欢点个赞吧~ ❤☕️