class_docstr: DIIN model.
  
  Examples:
      >>> model = DIIN()
      >>> model.guess_and_fill_missing_params()
      >>> model.params['embedding_input_dim'] = 10000
      >>> model.params['embedding_output_dim'] = 300
      >>> model.params['embedding_trainable'] = True
      >>> model.params['optimizer'] = 'adam'
      >>> model.params['dropout_initial_keep_rate'] = 1.0
      >>> model.params['dropout_decay_interval'] = 10000
      >>> model.params['dropout_decay_rate'] = 0.977
      >>> model.params['char_embedding_input_dim'] = 100
      >>> model.params['char_embedding_output_dim'] = 8
      >>> model.params['char_conv_filters'] = 100
      >>> model.params['char_conv_kernel_size'] = 5
      >>> model.params['first_scale_down_ratio'] = 0.3
      >>> model.params['nb_dense_blocks'] = 3
      >>> model.params['layers_per_dense_block'] = 8
      >>> model.params['growth_rate'] = 20
      >>> model.params['transition_scale_down_ratio'] = 0.5
      >>> model.build()
class_docstr_tok: ["DIIN","model",".","Examples",":",">",">",">","model","=","DIIN","(",")",">",">",">","model.guess_and_fill_missing_params","(",")",">",">",">","model.params","[","'embedding_input_dim","'","]","=","10000",">",">",">","model.params","[","'embedding_output_dim","'","]","=","300",">",">",">","model.params","[","'embedding_trainable","'","]","=","True",">",">",">","model.params","[","'optimizer","'","]","=","'adam'",">",">",">","model.params","[","'dropout_initial_keep_rate","'","]","=","1.0",">",">",">","model.params","[","'dropout_decay_interval","'","]","=","10000",">",">",">","model.params","[","'dropout_decay_rate","'","]","=","0.977",">",">",">","model.params","[","'char_embedding_input_dim","'","]","=","100",">",">",">","model.params","[","'char_embedding_output_dim","'","]","=","8",">",">",">","model.params","[","'char_conv_filters","'","]","=","100",">",">",">","model.params","[","'char_conv_kernel_size","'","]","=","5",">",">",">","model.params","[","'first_scale_down_ratio","'","]","=","0.3",">",">",">","model.params","[","'nb_dense_blocks","'","]","=","3",">",">",">","model.params","[","'layers_per_dense_block","'","]","=","8",">",">",">","model.params","[","'growth_rate","'","]","=","20",">",">",">","model.params","[","'transition_scale_down_ratio","'","]","=","0.5",">",">",">","model.build","(",")"]
docstr: :return: model default parameters.
docstr_tok: [":","return",":","model","default","parameters","."]
code: def get_default_params(cls) -> ParamTable:
      """:return: model default parameters."""
      params = super().get_default_params(with_embedding=True)
      params["optimizer"] = "adam"
      params.add(
          Param(
              name="dropout_decay_interval",
              value=10000,
              desc="The decay interval of decaying_dropout.",
          )
      )
      params.add(
          Param(
              name="char_embedding_input_dim",
              value=100,
              desc="The input dimension of character embedding "
              "layer.",
          )
      )
      params.add(
          Param(
              name="char_embedding_output_dim",
              value=2,
              desc="The output dimension of character embedding "
              "layer.",
          )
      )
      params.add(
          Param(
              name="char_conv_filters",
              value=8,
              desc="The filter size of character convolution " "layer.",
          )
      )
      params.add(
          Param(
              name="char_conv_kernel_size",
              value=2,
              desc="The kernel size of character convolution " "layer.",
          )
      )
      params.add(
          Param(
              name="first_scale_down_ratio",
              value=0.3,
              desc="The channel scale down ratio of the "
              "convolution layer before densenet.",
          )
      )
      params.add(
          Param(
              name="nb_dense_blocks",
              value=1,
              desc="The number of blocks in densenet.",
          )
      )
      params.add(
          Param(
              name="layers_per_dense_block",
              value=2,
              desc="The number of convolution layers in dense "
              "block.",
          )
      )
      params.add(
          Param(
              name="growth_rate",
              value=2,
              desc="The filter size of each convolution layer in "
              "dense block.",
          )
      )
      params.add(
          Param(
              name="transition_scale_down_ratio",
              value=0.5,
              desc="The channel scale down ratio of the "
              "convolution layer in transition block.",
          )
      )
      params.add(
          Param(
              name="dropout_initial_keep_rate",
              value=1.0,
              hyper_space=hyper_spaces.quniform(
                  low=0.8, high=1.0, q=0.02
              ),
              desc="The initial keep rate of decaying_dropout.",
          )
      )
      params.add(
          Param(
              name="dropout_decay_rate",
              value=0.97,
              hyper_space=hyper_spaces.quniform(
                  low=0.90, high=0.99, q=0.01
              ),
              desc="The decay rate of decaying_dropout.",
          )
      )
      return params
  
imports: import typing
  import keras
  import keras.backend
  import tensorflow
  from matchzoo import preprocessors
  from matchzoo.contrib.layers import DecayingDropoutLayer
  from matchzoo.contrib.layers import EncodingLayer
  from matchzoo.engine import hyper_spaces
  from matchzoo.engine.base_model import BaseModel
  from matchzoo.engine.param import Param
  from matchzoo.engine.param_table import ParamTable
label_desc: Use image node_id 1 for calling the DIIN obj's underlying member method code with example usage: obj.get_default_params(cls) and returns: params