Belle II Software development
bn Class Reference
Inheritance diagram for bn:

Public Member Functions

 __init__ (self, output_size, eps=1e-5, momentum=0.1, cross_replica=False, mybn=False)
 Constructor.
 
 forward (self, x)
 forward
 

Public Attributes

 output_size = output_size
 output size
 
 gain = P(torch.ones(output_size), requires_grad=True)
 Prepare gain and bias layers.
 
 bias = P(torch.zeros(output_size), requires_grad=True)
 bias
 
 eps = eps
 epsilon to avoid dividing by 0
 
 momentum = momentum
 Momentum.
 
 cross_replica = cross_replica
 Use cross-replica batchnorm?
 
 mybn = mybn
 Use my batchnorm?
 
 stored_mean = torch.zeros(output_size)
 Running mean buffer, updated during training.
 
 stored_var = torch.ones(output_size)
 Running variance buffer, updated during training.
 
bool training
 Training mode flag (inherited from nn.Module).
 

Detailed Description

Normal, non-class-conditional BN

Definition at line 479 of file ieagan.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
output_size,
eps = 1e-5,
momentum = 0.1,
cross_replica = False,
mybn = False )

Constructor.

Definition at line 485 of file ieagan.py.

492 ):
493 super(bn, self).__init__()
494
495 self.output_size = output_size
496
497 self.gain = P(torch.ones(output_size), requires_grad=True)
498
499 self.bias = P(torch.zeros(output_size), requires_grad=True)
500
501 self.eps = eps
502
503 self.momentum = momentum
504
505 self.cross_replica = cross_replica
506
507 self.mybn = mybn
508
509 if mybn:
510 self.bn = myBN(output_size, self.eps, self.momentum)
511 # Register buffers if neither of the above
512 else:
513
514 self.stored_mean = torch.zeros(output_size)
515 self.register_buffer("stored_mean", torch.zeros(output_size))
516
517 self.stored_var = torch.ones(output_size)
518 self.register_buffer("stored_var", torch.ones(output_size))
519
520
521 self.training: bool
522

Member Function Documentation

◆ forward()

forward ( self,
x )

forward

Definition at line 524 of file ieagan.py.

524 def forward(self, x):
525 if self.mybn:
526 gain = self.gain.view(1, -1, 1, 1)
527 bias = self.bias.view(1, -1, 1, 1)
528 return self.bn(x, gain=gain, bias=bias)
529 else:
530 return F.batch_norm(
531 x,
532 self.stored_mean,
533 self.stored_var,
534 self.gain,
535 self.bias,
536 self.training,
537 self.momentum,
538 self.eps,
539 )
540
541

Member Data Documentation

◆ bias

bias = P(torch.zeros(output_size), requires_grad=True)

bias

Definition at line 499 of file ieagan.py.

◆ bn

bn = myBN(output_size, self.eps, self.momentum)

Definition at line 510 of file ieagan.py.

◆ cross_replica

cross_replica = cross_replica

Use cross-replica batchnorm?

Definition at line 505 of file ieagan.py.

◆ eps

eps = eps

epsilon to avoid dividing by 0

Definition at line 501 of file ieagan.py.

◆ gain

gain = P(torch.ones(output_size), requires_grad=True)

Prepare gain and bias layers.

Definition at line 497 of file ieagan.py.

◆ momentum

momentum = momentum

Momentum.

Definition at line 503 of file ieagan.py.

◆ mybn

mybn = mybn

Use my batchnorm?

Definition at line 507 of file ieagan.py.

◆ output_size

output_size = output_size

output size

Definition at line 495 of file ieagan.py.

◆ stored_mean

stored_mean = torch.zeros(output_size)

Running mean buffer, updated during training.

Definition at line 514 of file ieagan.py.

◆ stored_var

stored_var = torch.ones(output_size)

Running variance buffer, updated during training.

Definition at line 517 of file ieagan.py.

◆ training

training

Training mode flag (inherited from nn.Module).

True if the module is in training mode.

Definition at line 521 of file ieagan.py.


The documentation for this class was generated from the following file: