这篇教程是利用现成的TensorFlow轮子快速实现一个图片分类器。 先说下背景:最新在做一个有趣的网站:meizigif.com 主要是抓取微博上好看的小姐姐图片贴到网站上。但是我又懒得一张张筛选,因为小姐姐们有时会发抠脚大汉的图。这时就需要一个”鉴黄“服务:检查图片是否sexy。 最开始用的是这个open_nsfw , 效果不好。 还是得用自己的图片集训练。 具体做法如下: GitHub上找到一个现成的轮子sourcedexter/tfClassifier。 照着这个教程操作即可。 有几个注意点:

  1. 至少要有两个分类, 我这个case是用sexy和not sexy 两类
  2. 这种错误是因为图片有问题,直接删掉即可。文件名就在错误提示前一行
Fail to slurp xxx file, reason: Failed to read from given file
  1. 这个错误是因为TensorFlow 版本不同, 把retrain.py中的SummaryWriter改成tf.summary.FileWriter即可
AttributeError: module 'tensorflow.python.training.training' has no attribute 'SummaryWriter'
  1. 验证效果
python3 retrain_model_classifier.py xxx.jpg

这时如果提示找不到output.pb,是因为教程中的命令生成的是output文件, 需要重命名成output.pb。默认的labels.txt在/tmp/下面, 需要mv过来。

以上 简单用没啥技术含量,但迅速解决了我的需求。