code: def builder(name, **builder_init_kwargs):
    
    name, builder_kwargs = _dataset_name_and_kwargs_from_name_str(name)
    builder_kwargs.update(builder_init_kwargs)
    if name in _ABSTRACT_DATASET_REGISTRY:
      raise DatasetNotFoundError(name, is_abstract=True)
    if name in _IN_DEVELOPMENT_REGISTRY:
      raise DatasetNotFoundError(name, in_development=True)
    if name not in _DATASET_REGISTRY:
      raise DatasetNotFoundError(name)
    try:
      return _DATASET_REGISTRY[name](**builder_kwargs)
    except BaseException:
      logging.error("Failed to construct dataset %s", name)
      raise
docs: Fetches a `tfds.core.DatasetBuilder` by string name.
  
    Args:
      name: `str`, the registered name of the `DatasetBuilder` (the snake case
        version of the class name). This can be either `"dataset_name"` or
        `"dataset_name/config_name"` for datasets with `BuilderConfig`s.
        As a convenience, this string may contain comma-separated keyword
        arguments for the builder. For example `"foo_bar/a=True,b=3"` would use
        the `FooBar` dataset passing the keyword arguments `a=True` and `b=3`
        (for builders with configs, it would be `"foo_bar/zoo/a=True,b=3"` to
        use the `"zoo"` config and pass to the builder keyword arguments `a=True`
        and `b=3`).
      **builder_init_kwargs: `dict` of keyword arguments passed to the
        `DatasetBuilder`. These will override keyword arguments passed in `name`,
        if any.
  
    Returns:
      A `tfds.core.DatasetBuilder`.
  
    Raises:
      DatasetNotFoundError: if `name` is unrecognized.