mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 09:07:10 +08:00
Add some args in encrypt.py
This commit is contained in:
@@ -14,7 +14,7 @@ cd FastDeploy/tutorials/encrypt_model
|
||||
wget https://bj.bcebos.com/paddlehub/fastdeploy/ResNet50_vd_infer.tgz
|
||||
tar -xvf ResNet50_vd_infer.tgz
|
||||
|
||||
python encrypt.py --model ResNet50_vd_infer
|
||||
python encrypt.py --model_file ResNet50_vd_infer/inference.pdmodel --params_file ResNet50_vd_infer/inference.pdiparams --encrypted_model_dir ResNet50_vd_infer_encrypt
|
||||
```
|
||||
>> **Note** After the encryption is completed, the ResNet50_vd_infer_encrypt folder will be generated, including `__model__.encrypted`, `__params__.encrypted`, `encryption_key.txt` three files, where `encryption_key.txt` contains the encrypted key. At the same time, you need to copy the `inference_cls.yaml` configuration file in the original folder to the ResNet50_vd_infer_encrypt folder for subsequent deployment
|
||||
|
||||
|
@@ -16,7 +16,7 @@ cd FastDeploy/tutorials/encrypt_model
|
||||
wget https://bj.bcebos.com/paddlehub/fastdeploy/ResNet50_vd_infer.tgz
|
||||
tar -xvf ResNet50_vd_infer.tgz
|
||||
|
||||
python encrypt.py --model ResNet50_vd_infer
|
||||
python encrypt.py --model_file ResNet50_vd_infer/inference.pdmodel --params_file ResNet50_vd_infer/inference.pdiparams --encrypted_model_dir ResNet50_vd_infer_encrypt
|
||||
```
|
||||
>> **注意** 加密完成后会生成ResNet50_vd_infer_encrypt文件夹,包含`__model__.encrypted`,`__params__.encrypted`,`encryption_key.txt`三个文件,其中`encryption_key.txt`包含加密后的秘钥,同时需要将原文件夹中的、`inference_cls.yaml`配置文件 拷贝至ResNet50_vd_infer_encrypt文件夹,以便后续部署使用
|
||||
|
||||
|
@@ -1,33 +1,47 @@
|
||||
import fastdeploy as fd
|
||||
import os
|
||||
|
||||
|
||||
def parse_arguments():
|
||||
import argparse
|
||||
import ast
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"--model", required=True, help="Path of model directory.")
|
||||
"--encrypted_model_dir",
|
||||
required=False,
|
||||
help="Path of model directory.")
|
||||
parser.add_argument(
|
||||
"--model_file", required=True, help="Path of model file directory.")
|
||||
parser.add_argument(
|
||||
"--params_file",
|
||||
required=True,
|
||||
help="Path of parameters file directory.")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
args = parse_arguments()
|
||||
model_file = os.path.join(args.model, "inference.pdmodel")
|
||||
params_file = os.path.join(args.model, "inference.pdiparams")
|
||||
config_file = os.path.join(args.model, "inference_cls.yaml")
|
||||
model_buffer = open(model_file, 'rb')
|
||||
params_buffer = open(params_file, 'rb')
|
||||
model_buffer = open(args.model_file, 'rb')
|
||||
params_buffer = open(args.params_file, 'rb')
|
||||
encrypted_model, key = fd.encryption.encrypt(model_buffer.read())
|
||||
# use the same key to encrypt parameter file
|
||||
encrypted_params, key = fd.encryption.encrypt(params_buffer.read(), key)
|
||||
encrypted_model_dir = args.model + "_encrypt"
|
||||
encrypted_model_dir = "encrypt_model_dir"
|
||||
if args.encrypted_model_dir:
|
||||
encrypted_model_dir = args.encrypted_model_dir
|
||||
model_buffer.close()
|
||||
params_buffer.close()
|
||||
os.mkdir(encrypted_model_dir)
|
||||
with open(os.path.join(encrypted_model_dir, "__model__.encrypted"), "w") as f:
|
||||
with open(os.path.join(encrypted_model_dir, "__model__.encrypted"),
|
||||
"w") as f:
|
||||
f.write(encrypted_model)
|
||||
|
||||
with open(os.path.join(encrypted_model_dir, "__params__.encrypted"), "w") as f:
|
||||
with open(os.path.join(encrypted_model_dir, "__params__.encrypted"),
|
||||
"w") as f:
|
||||
f.write(encrypted_params)
|
||||
|
||||
with open(os.path.join(encrypted_model_dir, "encryption_key.txt"), "w") as f:
|
||||
with open(os.path.join(encrypted_model_dir, "encryption_key.txt"),
|
||||
"w") as f:
|
||||
f.write(key)
|
||||
print("encryption key: ", key)
|
||||
print("encryption success")
|
Reference in New Issue
Block a user