iOS请参考:issues13
Java参考:Tensorflow-Api
C++参考:TensorflowLite-Api
JavaScript参考JS相关文档
其中Python、C++均有两种数据喂入的方式,可根据需求选择pb模型或tfLite文件,详细请参考上面的链接.Java的目前只能加载pb模型。其他的平台可自行百度
- 开启tflite文件支持
android {
aaptOptions {
noCompress "tflite"
}
}
//可选 快速初始化扫描器,可免去初始化代码
implementation 'com.zwy.nsfw:nsfw_initializer:lastVersion'
//必须 扫描器核心文件
implementation 'com.zwy.nsfw:nsfw:lastVersion'
//必须 tensorflow 支持库
implementation 'org.tensorflow:tensorflow-lite:2.1.0'
implementation 'org.tensorflow:tensorflow-lite-gpu:2.1.0'
- 初始化
//方式一,将模型文件放在Assets根目录下并命名为nsfw.tflite
NSFWHelper.init(context = this@Application)
//方式二,适用于产品对apk大小控制严格,无法将模型文件直接放在apk中,可在用户打开Apk后台静默下载后指定模型路径进行初始化
NSFWHelper.init(modelPath = "模型文件存放路径")
//方式三,将模型文件放在Assets根目录下并命名为nsfw.tflite,引用该库可免去初始化代码
implementation 'com.zwy.nsfw:nsfw_initializer:lastVersion'
- 使用:
//val mNSFWScoreBean:NSFWScoreBean = File.getNSFWScore()
//val mNSFWScoreBean:NSFWScoreBean = Bitmap.getNSFWScore()
//val mNSFWScoreBean:NSFWScoreBean = NSFWHelper.getNSFWScore(bitmap)
mNSFWScoreBean.sfw ... 非涉黄数值 数值越大约安全
mNSFWScoreBean.nsfw ... 涉黄数值 数值越大约危险
mNSFWScoreBean.timeConsumingToLoadData ... 装载数据耗时 单位ms
mNSFWScoreBean.timeConsumingToScanData ... 扫描图片耗时 单位ms