FlyingQianMM 4 лет назад
Родитель
Сommit
0d972ead6a

+ 1 - 1
README.md

@@ -1,4 +1,4 @@
-简体中文| [English](./README.md)
+简体中文| [English](./README_en.md)
 
 
 
 
 
 

+ 1 - 1
dygraph/deploy/cpp/encryption/README → dygraph/deploy/cpp/encryption/README.md

@@ -41,4 +41,4 @@ Step2:打开 blend Visual Studio 2015,
 1.  sdk添加支持对流进行加密, 产出为
 1.  sdk添加支持对流进行加密, 产出为
     libpmodel-decrypt.so 对应的头文件为paddle_model_decrypt.h, 原始的解密接口
     libpmodel-decrypt.so 对应的头文件为paddle_model_decrypt.h, 原始的解密接口
     libpmodel-encrypt.so 对应的头文件为paddle_model_encrypt.h, 原始的加密接口, 并添加对流加密接口
     libpmodel-encrypt.so 对应的头文件为paddle_model_encrypt.h, 原始的加密接口, 并添加对流加密接口
-    libpstream-decrypt.so 对应的头文件为paddle_stream_decrypt.h, 新的解密接口, 包含对流解密接口
+    libpstream-decrypt.so 对应的头文件为paddle_stream_decrypt.h, 新的解密接口, 包含对流解密接口

+ 2 - 0
dygraph/paddlex/cv/models/utils/det_metrics/metrics.py

@@ -210,6 +210,8 @@ class COCOMetric(Metric):
         pass
         pass
 
 
     def get(self):
     def get(self):
+        if 'bbox' not in self.eval_stats:
+            return {'bbox_mmap': 0.}
         if 'mask' in self.eval_stats:
         if 'mask' in self.eval_stats:
             return OrderedDict(
             return OrderedDict(
                 zip(['bbox_mmap', 'segm_mmap'],
                 zip(['bbox_mmap', 'segm_mmap'],

+ 6 - 0
dygraph/paddlex/utils/checkpoint.py

@@ -16,6 +16,7 @@ import os
 import os.path as osp
 import os.path as osp
 import glob
 import glob
 import paddle
 import paddle
+import paddlex
 from paddlex.utils import logging
 from paddlex.utils import logging
 from .download import download_and_decompress
 from .download import download_and_decompress
 
 
@@ -353,6 +354,11 @@ def get_pretrain_weights(flag, class_name, save_dir, backbone_name=None):
 
 
     # TODO: check flag
     # TODO: check flag
     new_save_dir = save_dir
     new_save_dir = save_dir
+    if hasattr(paddlex, 'pretrain_dir'):
+        new_save_dir = paddlex.pretrain_dir
+        new_save_dir = osp.join(new_save_dir, class_name)
+        if backbone_name is not None:
+            new_save_dir = "{}_{}".format(new_save_dir, backbone_name)
     if backbone_name is not None:
     if backbone_name is not None:
         weights_key = "{}_{}_{}".format(class_name, backbone_name, flag)
         weights_key = "{}_{}_{}".format(class_name, backbone_name, flag)
     else:
     else:

+ 8 - 2
paddlex/cv/models/slim/prune.py

@@ -228,7 +228,8 @@ def update_program(program, model_dir, place, scope=None):
             if param.name in shapes:
             if param.name in shapes:
                 param_tensor = scope.find_var(param.name).get_tensor()
                 param_tensor = scope.find_var(param.name).get_tensor()
                 param_tensor.set(
                 param_tensor.set(
-                    np.zeros(list(shapes[param.name])).astype('float32'), place)
+                    np.zeros(list(shapes[param.name])).astype('float32'),
+                    place)
     graph.update_groups_of_conv()
     graph.update_groups_of_conv()
     graph.infer_shape()
     graph.infer_shape()
     return program
     return program
@@ -295,7 +296,10 @@ def cal_params_sensitivities(model, save_file, eval_dataset, batch_size=8):
 
 
 def analysis(model, dataset, batch_size=8, save_file='./model.sensi.data'):
 def analysis(model, dataset, batch_size=8, save_file='./model.sensi.data'):
     return cal_params_sensitivities(
     return cal_params_sensitivities(
-        model, eval_dataset=dataset, batch_size=batch_size, save_file=save_file)
+        model,
+        eval_dataset=dataset,
+        batch_size=batch_size,
+        save_file=save_file)
 
 
 
 
 def get_params_ratios(sensitivities_file, eval_metric_loss=0.05):
 def get_params_ratios(sensitivities_file, eval_metric_loss=0.05):
@@ -383,6 +387,8 @@ def cal_model_size(program,
                 prune_var = prune_block.var(name)
                 prune_var = prune_block.var(name)
                 prune_shape = prune_var.shape
                 prune_shape = prune_var.shape
                 break
                 break
+        if len(shape) == 0:
+            continue
         origin_size += reduce(lambda x, y: x * y, shape)
         origin_size += reduce(lambda x, y: x * y, shape)
         new_size += reduce(lambda x, y: x * y, prune_shape)
         new_size += reduce(lambda x, y: x * y, prune_shape)
     return (new_size * 1.0) / origin_size
     return (new_size * 1.0) / origin_size