When RBM is used in an ML pipelines like DVAE it is necessary to update encoder parameters with respect to energy / free energy of the RBM over the output of encoders which are continuous and carry gradients during backpropagation.
The energy / free energy should be calculated with parameters of RBM (h, J) fixed (detached).
specifically the quasi_objective function in here https://github.com/dwavesystems/dwave-pytorch-plugin/blob/main/dwave/plugins/torch/boltzmann_machine.py#L323 should allow an optional parameter (continuous observation) and return the related energy / free energy.