Adding dropout to Bidirectional LSTM without stepping


I want to add dropout to each layer of a BidirectionalLSTM cell:
The problem is, the currently implemented DropoutCell (
cannot directly take a BaseRNNCell object, but only its step-wise output. For most RNNCell, the call function gives the step-wise output of the cell, but BidrectionalLSTMCell doesn’t support call function to get intermediate output (cannot step).

Is there a way to get around this problem? (or is the only solution to hard code my own version of BiLSTM?)