def invBN(self, arr, Y_name):
if isinstance(arr, int) or len(self.bns) == 0 or len(self.affines) == 0:
return arr
interstellar = Y_name.split('_')[0]
for i in self.bottom_names[interstellar]:
if i in self.bns and 'branch2c' in i:
bn = i
break
for i in self.affines:
if self.layer_bottom(i) == bn:
affine = i
break
if 1: print('inverted bn', bn, affine, Y_name)
mean, std, k, b = self.getBNaff(bn, affine)
# (y - mean) / std * k + b
#return (arr - b) * std / k + mean
return arr * std / k
#embed()
评论列表
文章目录