class_docstr: A backend that stores the chain in an HDF5 file using h5py
  
  .. note:: You must install `h5py <http://www.h5py.org/>`_ to use this
      backend.
  
  Args:
      filename (str): The name of the HDF5 file where the chain will be
          saved.
      name (str; optional): The name of the group where the chain will
          be saved.
      read_only (bool; optional): If ``True``, the backend will throw a
          ``RuntimeError`` if the file is opened with write access.
class_docstr_tok: ["A","backend","that","stores","the","chain","in","an","HDF5","file","using","h5py","..","note",":",":","You","must","install","`","h5py","<","http",":","\/\/www.h5py.org\/",">","`","_","to","use","this","backend",".","Args",":","filename","(","str",")",":","The","name","of","the","HDF5","file","where","the","chain","will","be","saved",".","name","(","str",";","optional",")",":","The","name","of","the","group","where","the","chain","will","be","saved",".","read_only","(","bool",";","optional",")",":","If","``","True","``",",","the","backend","will","throw","a","``","RuntimeError","``","if","the","file","is","opened","with","write","access","."]
docstr: Expand the storage space by some number of samples
  
  Args:
      ngrow (int): The number of steps to grow the chain.
      blobs: The current array of blobs. This is used to compute the
          dtype for the blobs array.
docstr_tok: ["Expand","the","storage","space","by","some","number","of","samples","Args",":","ngrow","(","int",")",":","The","number","of","steps","to","grow","the","chain",".","blobs",":","The","current","array","of","blobs",".","This","is","used","to","compute","the","dtype","for","the","blobs","array","."]
code: def grow(self, ngrow, blobs):
      """Expand the storage space by some number of samples
  
      Args:
          ngrow (int): The number of steps to grow the chain.
          blobs: The current array of blobs. This is used to compute the
              dtype for the blobs array.
  
      """
      self._check_blobs(blobs)
  
      with self.open("a") as f:
          g = f[self.name]
          ntot = g.attrs["iteration"] + ngrow
          g["chain"].resize(ntot, axis=0)
          g["log_prob"].resize(ntot, axis=0)
          if blobs is not None:
              has_blobs = g.attrs["has_blobs"]
              if not has_blobs:
                  nwalkers = g.attrs["nwalkers"]
                  dt = np.dtype((blobs.dtype, blobs.shape[1:]))
                  g.create_dataset(
                      "blobs",
                      (ntot, nwalkers),
                      maxshape=(None, nwalkers),
                      dtype=dt,
                      compression=self.compression,
                      compression_opts=self.compression_opts,
                  )
              else:
                  g["blobs"].resize(ntot, axis=0)
                  if g["blobs"].dtype.shape != blobs.shape[1:]:
                      raise ValueError(
                          "Existing blobs have shape {} but new blobs "
                          "requested with shape {}".format(
                              g["blobs"].dtype.shape, blobs.shape[1:]
                          )
                      )
              g.attrs["has_blobs"] = True
  
imports: from __future__ import division, print_function
  import os
  from tempfile import NamedTemporaryFile
  import numpy
  from ..None import __version__
  from .backend import Backend
label_desc: Use image node_id 11 for calling the HDFBackend obj's underlying member method code with example usage: obj.grow(ngrow, blobs) without return types