The report_histogram function doesn't make any sense in clearml. The expected values are the heights of the bars. (it assumes that you've already calculated the histogram).
I think that they should rename it to "report_bar" or something like that, and "report_histogram" will calculate the histogram for you (same as matplotlib's plt.hist function. HungryCat90
anyway, for histogram I'm using lines plots instead, it is the only way you can compare later on with other runs.
Example:
def report_hist(title:str, series:str, data:Iterable[float], bins:int, range=(0,1)):
_x = np.array(data, dtype=float)
_x = _x[~np.isnan(_x)]
if len(_x) == 0:
return None
_hist, _bins = np.histogram(_x, bins=bins, range=range)
_bins_x = [(a+b)/2 for a,b in zip(_bins[:-1], _bins[1:])]
logger = clearml.Logger.current_logger()
logger.report_scatter2d(title, series, scatter=zip(_bins_x, _hist), mode="lines+markers")