(self, message, trigger)
Updates the estimate of synthetic `message` based on `trigger`.

        Synthesizes a `message` based on `trigger`, computes the MSE between it
        and the input `message` and backpropagates it to compute its gradient
        w.r.t. `Synthesizer` parameters. Does not backpropagate through
        `trigger`.

        Args:
            message: Ground truth `message` that should be synthesized based on
                `trigger`.
            trigger: `trigger` that the `message` should be synthesized based
                on.
Updates the estimate of synthetic `message` based on `trigger`.
Updates the estimate of synthetic message based on trigger .
def send(self, message, trigger):
        """Updates the estimate of synthetic `message` based on `trigger`.

        Synthesizes a `message` based on `trigger`, computes the MSE between it
        and the input `message` and backpropagates it to compute its gradient
        w.r.t. `Synthesizer` parameters. Does not backpropagate through
        `trigger`.

        Args:
            message: Ground truth `message` that should be synthesized based on
                `trigger`.
            trigger: `trigger` that the `message` should be synthesized based
                on.
        """
        synthetic_message = self.synthesizer(
            trigger.detach(), _Manager.get_current_context()
        )
        loss = F.mse_loss(synthetic_message, message.detach())
        _Manager.backward(loss)
def send ( self , message , trigger ) : synthetic_message = self . synthesizer ( trigger . detach ( ) , _Manager . get_current_context ( ) ) loss = F . mse_loss ( synthetic_message , message . detach ( ) ) _Manager . backward ( loss )