2020
2121
2222class FModel :
23- def __init__ (self , model , model_param_ber = 0 ):
23+ def __init__ (self , model , model_param_ber = 0 , verbose = 0 ):
2424 self .model = model
2525 self .model_param_ber = model_param_ber
26+ self .verbose = verbose
2627 self ._set_layer_bit_ranges ()
2728 self ._set_model_param_ber ()
2829 # self.layer_bit_ranges = {}
@@ -72,7 +73,8 @@ def _set_layer_bit_ranges(self):
7273 raise NotImplementedError (
7374 f"Injecting faults in { layer .__class__ .__name__ } layer not yet supported."
7475 )
75- print (f"[fkeras.fmodel._set_layer_bit_ranges] { self .num_model_param_bits } " )
76+ if self .verbose > 0 :
77+ print (f"[fkeras.fmodel._set_layer_bit_ranges] { self .num_model_param_bits } " )
7678
7779 def explicit_select_model_param_bitflip (self , bits_to_flip ):
7880 """
@@ -87,9 +89,11 @@ def explicit_select_model_param_bitflip(self, bits_to_flip):
8789 """
8890 bits_to_flip_per_layer = defaultdict (int )
8991 # num_faults = int(self.num_model_param_bits * self.model_param_ber)
90- print (
91- f"[fkeras.fmodel.explicit_select_model_param_bitflip] num_faults = { len (bits_to_flip )} "
92- )
92+
93+ if self .verbose > 0 :
94+ print (
95+ f"[fkeras.fmodel.explicit_select_model_param_bitflip] num_faults = { len (bits_to_flip )} "
96+ )
9397 # bits_to_flip = random.sample(list(range(self.num_model_param_bits)), num_faults)
9498 bits_to_flip .sort ()
9599 # print(f"[fkeras.fmodel.explicit_select_model_param_bitflip] {bits_to_flip}")
@@ -127,7 +131,8 @@ def random_select_model_param_bitflip(self):
127131 """
128132 bits_to_flip_per_layer = defaultdict (int )
129133 num_faults = int (self .num_model_param_bits * self .model_param_ber )
130- print (f"num_faults = { num_faults } " )
134+ if self .verbose > 0 :
135+ print (f"num_faults = { num_faults } " )
131136 bits_to_flip = random .sample (list (range (self .num_model_param_bits )), num_faults )
132137 bits_to_flip .sort ()
133138 for bit in bits_to_flip :
0 commit comments