File tree Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -64,7 +64,9 @@ def prune_rate(model):
64
64
total_nb_param = 0
65
65
nb_zero_param = 0
66
66
67
- for i , parameter in enumerate (model .parameters ()):
67
+ layer_id = 0
68
+
69
+ for parameter in model .parameters ():
68
70
69
71
param_this_layer = 1
70
72
for dim in parameter .data .size ():
@@ -73,11 +75,13 @@ def prune_rate(model):
73
75
74
76
# only pruning linear and conv layers
75
77
if len (parameter .data .size ()) != 1 :
78
+ layer_id += 1
76
79
zero_param_this_layer = \
77
80
np .count_nonzero (parameter .cpu ().data .numpy ()== 0 )
78
81
nb_zero_param += zero_param_this_layer
79
82
80
- print ("{} layer {:.2f}% parameters pruned" .format (
83
+ print ("Layer {} | {} layer | {:.2f}% parameters pruned" .format (
84
+ layer_id ,
81
85
'Conv' if len (parameter .data .size ()) == 4 else 'Linear' ,
82
86
100. * zero_param_this_layer / param_this_layer ,
83
87
))
Original file line number Diff line number Diff line change 41
41
if torch .cuda .is_available ():
42
42
print ('CUDA ensabled.' )
43
43
net .cuda ()
44
- print ("Pretrained network loaded. " )
44
+ print ("--- Pretrained network loaded --- " )
45
45
test (net , loader_test )
46
46
47
47
# prune the weights
48
48
masks = weight_prune (net , param ['pruning_perc' ])
49
49
net .set_masks (masks )
50
- print ("{}% parameters pruned. " .format (param ['pruning_perc' ]))
50
+ print ("--- {}% parameters pruned --- " .format (param ['pruning_perc' ]))
51
51
test (net , loader_test )
52
52
53
53
60
60
61
61
62
62
# Check accuracy and nonzeros weights in each layer
63
- print ("After retraining... " )
63
+ print ("--- After retraining --- " )
64
64
test (net , loader_test )
65
65
prune_rate (net )
66
66
You can’t perform that action at this time.
0 commit comments