class_docstr: Implements a recurrent DQN designed to produce melody sequences.
class_docstr_tok: ["Implements","a","recurrent","DQN","designed","to","produce","melody","sequences","."]
docstr: Rewards the model for not playing the same note over and over.
  
  Penalizes the model for playing the same note repeatedly, although more
  repeititions are allowed if it occasionally holds the note or rests in
  between. Reward is uniform when there is no penalty.
  
  Args:
    action: One-hot encoding of the chosen action.
  Returns:
    Float reward value.
docstr_tok: ["Rewards","the","model","for","not","playing","the","same","note","over","and","over",".","Penalizes","the","model","for","playing","the","same","note","repeatedly",",","although","more","repeititions","are","allowed","if","it","occasionally","holds","the","note","or","rests","in","between",".","Reward","is","uniform","when","there","is","no","penalty",".","Args",":","action",":","One-hot","encoding","of","the","chosen","action",".","Returns",":","Float","reward","value","."]
code: def reward_non_repeating(self, action):
      """Rewards the model for not playing the same note over and over.
  
      Penalizes the model for playing the same note repeatedly, although more
      repeititions are allowed if it occasionally holds the note or rests in
      between. Reward is uniform when there is no penalty.
  
      Args:
        action: One-hot encoding of the chosen action.
      Returns:
        Float reward value.
      """
      penalty = self.reward_penalize_repeating(action)
      if penalty >= 0:
          return 0.1
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  import random
  import urllib
  from magenta.models.rl_tuner import note_rnn_loader
  from magenta.models.rl_tuner import rl_tuner_eval_metrics
  from magenta.models.rl_tuner import rl_tuner_ops
  import matplotlib.pyplot
  from note_seq import melodies_lib
  from note_seq import midi_io
  import numpy
  import scipy.special
  from six.moves import range
  from six.moves import reload_module
  from six.moves import urllib
  import tensorflow.compat.v1
label_desc: Use image node_id 22 for calling the RLTuner obj's underlying member method code with example usage: obj.reward_non_repeating(action) and returns: int