Sparse dropout could be implemented efficiently in TensorFlow by tf.sparse_retain. But it seems that in PyTorch, such kind of sparse retain function does not exist. How could we implement a sparse dropout?