(简体中文|English)
示例中使用fit_a_line示例的模型文件作为明文模型
sh get_data.sh
本示例中使用了paddlepaddle
包中的模块,需要进行下载(pip3 install paddlepaddle
)。
运行python3 encrypt.py进行模型加密
def serving_encryption():
inference_model_to_serving(
dirname="./uci_housing_model",
params_filename=None,
serving_server="encrypt_server",
serving_client="encrypt_client",
encryption=True)
其中dirname为模型所在的文件夹路径
当参数为离散参数时,无须指定params_filename,当参数为__params__时,需指定params_filename="__params__"
密钥保存在key
文件中,加密模型文件以及server端配置文件保存在encrypt_server
目录下,client端配置文件保存在encrypt_client
目录下。
注意: 当使用加密预测时,服务端和客户端启动加载的模型配置和参数文件夹是encrypt_server/和encrypt_client/
CPU预测服务
python3 -m paddle_serving_server.serve --model encrypt_server/ --port 9393 --use_encryption_model
GPU预测服务
python3 -m paddle_serving_server.serve --model encrypt_server/ --port 9393 --use_encryption_model --gpu_ids 0
python3 test_client.py encrypt_client/serving_client_conf.prototxt