code: def create_plotly_histogram(self, arr, name, bin_dict=None):
      fig = go.Figure()
      for i in range(arr.shape[-1]):
          fig.add_trace(
              go.Histogram(
                  x=arr[:, i],
                  histnorm="probability",
                  name=f"{name}_{i}",
                  xbins=bin_dict,  # dict(start=0.0, end=1.0, size=0.1),  # bins used for histogram
              )
          )
      # Overlay both histograms
      fig.update_layout(
          barmode="overlay",
          legend={
              "orientation": "h",
              "yanchor": "bottom",
              "y": 1.02,
              "xanchor": "right",
              "x": 1,
          },
      )
      # Reduce opacity to see both histograms
      fig.update_traces(opacity=0.5)
      return fig
  
imports: import importlib
  import warnings
  from abc import ABCMeta, abstractmethod
  from functools import partial
  from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union
  import numpy
  import pytorch_lightning
  import torch
  import torch.nn
  import torchmetrics
  from omegaconf import DictConfig, OmegaConf
  from pandas import DataFrame
  from torch import Tensor
  from torch.optim import Optimizer
  from pytorch_tabular.models.common.heads import blocks
  from pytorch_tabular.models.common.layers import PreEncoded1dLayer
  from pytorch_tabular.utils import get_logger, reset_all_weights
label_desc: Use image node_id 26 for calling the BaseModel obj's underlying member method code with example usage: obj.create_plotly_histogram(arr, name, bin_dict) and returns: fig