# 模型水印验证 提供模型训练嵌入白盒水印和从已经嵌入白盒水印的模型中提取水印的功能 ## 分支说明 - `master`分支包含公共代码,工具类 - `om`分支在`master`分支基础上添加了对om格式进行黑盒水印验证流程 - `onnx`分支在`master`分支基础上添加了对onnx格式权重文件进行白盒水印验证流程 ## 代码说明 ```text model_watermark_detect ├── MANIFEST.in # 打包描述文件 ├── README.md # 项目说明文档 ├── setup.py # 打包配置文件 └── watermark_verify # 模型水印提取验证工具 ├── __init__.py ├── process # 各种模型水印提取验证流程、每个文件代表指定类型模型提取验证流程 │   ├── __init__.py │   ├── classification_all_whitebox_process.py │   ├── classification_pytorch_blackbox_process.py │   ├── classification_tensorflow_blackbox_process.py │   ├── general_process_define.py │   ├── googlenet_all_whitebox_process.py │   └── yolox_pytorch_whitebox_process.py ├── tools # 工具脚本目录 │   ├── __init__.py │   ├── evaluate_tool.py │   ├── general_tool.py │   ├── parse_qrcode_label_file.py │   ├── qrcode_tool.py │   ├── secret_label_func.py │   └── sign_verify.py ├── utils └── verify_tool.py # 验证工具接口 ``` ## process目录下文件说明 process保存各种模型黑盒水印或白盒水印提取验证流程,文件名定义如下: ```text [模型名称]_[支持深度学习框架]_[模型水印类型]_process.py ``` - 模型名称:classification:所有图像分类模型,detection:所有目标检测模型,alexnet、vgg、googlenet、resnet、yolox、ssd、faster-rcnn:分别指代指定模型 - 支持深度学习框架:all:支持所有框架,pytorch、tensorflow、keras - 模型水印类型:whitebox:白盒水印、blackbox:黑盒水印 ## 模块打包 ```shell python setup.py sdist ``` 项目目录会生成`dist`目录,其中`watermark_detector-1.0.tar.gz`即为发布包 ## 安装模块 ```shell pip install watermark_detector-1.0.tar.gz ```