class_docstr: Child-Sum TreeLSTM unit.
  
  .. warning::
  
      This feature is experimental. The interface can change in the future.
  
  This is a Child-Sum TreeLSTM unit as a chain.
  This link is a variable arguments function, which compounds
  the states of all children nodes into the new states of
  a current (parent) node. *states* denotes the cell state, :math:`c`,
  and the output, :math:`h`, which are produced by this link.
  This link doesn't keep cell and hidden states internally.
  
  For example, this link is called such as
  ``func(c1, c2, h1, h2, x)`` if the number of children nodes is 2,
  while ``func(c1, c2, c3, h1, h2, h3, x)`` if that is 3.
  This function is *independent* from an order of children nodes.
  Thus, the returns of ``func(c1, c2, h1, h2, x)`` equal to
  those of ``func(c2, c1, h2, h1, x)``.
  
  Args:
      in_size (int): Dimension of input vectors.
      out_size (int): Dimensionality of cell and output vectors.
  
  Attributes:
      W_x (chainer.links.Linear): Linear layer of
          connections from input vectors.
      W_h_aio (chainer.links.Linear): Linear layer of connections between
          (:math:`a`, :math:`i`, :math:`o`) and summation of children's
          output vectors. :math:`a`, :math:`i` and :math:`o` denotes
          input compound,
          input gate and output gate, respectively.
          :math:`a`, input compound, equals to :math:`u` in
          the paper by Tai et al.
      W_h_f (chainer.links.Linear): Linear layer of connections between
          forget gate :math:`f` and the output of each child.
  
  See the paper for details: `Improved Semantic Representations From
  Tree-Structured Long Short-Term Memory Networks
  <https://www.aclweb.org/anthology/P15-1150>`_.
class_docstr_tok: ["Child-Sum","TreeLSTM","unit",".","..","warning",":",":","This","feature","is","experimental",".","The","interface","can","change","in","the","future",".","This","is","a","Child-Sum","TreeLSTM","unit","as","a","chain",".","This","link","is","a","variable","arguments","function",",","which","compounds","the","states","of","all","children","nodes","into","the","new","states","of","a","current","(","parent",")","node",".","*","states","*","denotes","the","cell","state",",",":","math",":","`","c","`",",","and","the","output",",",":","math",":","`","h","`",",","which","are","produced","by","this","link",".","This","link","does","n't","keep","cell","and","hidden","states","internally",".","For","example",",","this","link","is","called","such","as","``","func","(","c1",",","c2",",","h1",",","h2",",","x",")","``","if","the","number","of","children","nodes","is","2",",","while","``","func","(","c1",",","c2",",","c3",",","h1",",","h2",",","h3",",","x",")","``","if","that","is","3",".","This","function","is","*","independent","*","from","an","order","of","children","nodes",".","Thus",",","the","returns","of","``","func","(","c1",",","c2",",","h1",",","h2",",","x",")","``","equal","to","those","of","``","func","(","c2",",","c1",",","h2",",","h1",",","x",")","``",".","Args",":","in_size","(","int",")",":","Dimension","of","input","vectors",".","out_size","(","int",")",":","Dimensionality","of","cell","and","output","vectors",".","Attributes",":","W_x","(","chainer.links.Linear",")",":","Linear","layer","of","connections","from","input","vectors",".","W_h_aio","(","chainer.links.Linear",")",":","Linear","layer","of","connections","between","(",":","math",":","`","a","`",",",":","math",":","`","i","`",",",":","math",":","`","o","`",")","and","summation","of","children's","output","vectors",".",":","math",":","`","a","`",",",":","math",":","`","i","`","and",":","math",":","`","o","`","denotes","input","compound",",","input","gate","and","output","gate",",","respectively",".",":","math",":","`","a","`",",","input","compound",",","equals","to",":","math",":","`","u","`","in","the","paper","by","Tai","et","al",".","W_h_f","(","chainer.links.Linear",")",":","Linear","layer","of","connections","between","forget","gate",":","math",":","`","f","`","and","the","output","of","each","child",".","See","the","paper","for","details",":","`","Improved","Semantic","Representations","From","Tree-Structured","Long","Short-Term","Memory","Networks","<","https",":","\/\/www.aclweb.org\/anthology\/P15-1150",">","`","_","."]
code: def _pad_zero_nodes(self, vs, shape, dtype=numpy.float32):
      if any(v is None for v in vs):
          zero = self.xp.zeros(shape, dtype=dtype)
          return tuple(zero if v is None else v for v in vs)
      else:
          return vs
  
file_path: chainer/chainer/links/rnn/tree_lstm.py
imports: import numpy
  from chainer.functions.activation import sigmoid
  from chainer.functions.activation import tanh
  from chainer.functions.array import concat
  from chainer.functions.array import split_axis
  from chainer.functions.rnn import tree_lstm
  from chainer import link
  from chainer.links.connection import linear
label_desc: Use image node_id 3 for calling the ChildSumTreeLSTM obj's underlying member method code with example usage: obj._pad_zero_nodes(vs, shape, dtype) and returns: tuple, vs