class_docstr: Simple TicTacToe Env, starts the game randomly half of the time.
code: def hparams(self, defaults, unused_model_hparams):
      p = defaults
      p.modality = {
          "inputs": modalities.ModalityType.IDENTITY_SYMBOL,
          "targets": modalities.ModalityType.IDENTITY_SYMBOL,
      }
      p.vocab_size = {
          "inputs": 3,  # since at each box, the input is either x, o or -.
          # nevermind that we have a 3x3 box.
          "targets": 3,  # -1, 0, 1
      }
      p.input_space_id = 0  # problem.SpaceID.GENERIC
      p.target_space_id = 0
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import gym
  from gym import spaces
  from gym.utils import seeding
  import numpy
  from tensor2tensor.data_generators import problem
  from tensor2tensor.layers import modalities
  from tensor2tensor.rl import gym_utils
label_desc: Use image node_id 7 for calling the TicTacToeEnv obj's underlying member method code with example usage: obj.hparams(defaults, unused_model_hparams) without return types