class_docstr: Single random rotation attack.
  
  Reference:
  Engstrom et al. Exploring the Landscape of Spatial Robustness.
  https://arxiv.org/pdf/1712.02779.pdf
class_docstr_tok: ["Single","random","rotation","attack",".","Reference",":","Engstrom","et","al",".","Exploring","the","Landscape","of","Spatial","Robustness",".","https",":","\/\/arxiv.org\/pdf\/1712.02779.pdf"]
docstr: See base class.
docstr_tok: ["See","base","class","."]
code: def attack(self, x, y, model, loss, random_start=False):
      """See base class."""
      return self.rotate(x)
  
imports: from absl import logging
  import gin
  import neural_structured_learning
  from multi_representation_adversary.cleverhans_adapter import sparse_l1_descent
  from multi_representation_adversary.cleverhans_adapter import utils_tf
  import numpy
  import tensorflow.compat.v2
label_desc: Use image node_id 2 for calling the SingleRotationAttack obj's underlying member method code with example usage: obj.attack(x, y, model, loss, random_start) and returns: self