code: def generate_dataset(
      triplets_filename,
      summary_filename="msd_summary_file.h5",
      outputfilename="msd_taste_profile.hdf5",
  ):
      """Generates a hdf5 datasetfile from the raw datafiles:
  
      You will need to download the train_triplets from here:
          https://labrosa.ee.columbia.edu/millionsong/tasteprofile#getting
      And the 'Summary File of the whole dataset' from here
      https://labrosa.ee.columbia.edu/millionsong/pages/getting-dataset
  
      You shouldn't have to run this yourself, and can instead just download the
      output using the 'get_msd_taste_profile' function
      """
      data = _read_triplets_dataframe(triplets_filename)
      track_info = _join_summary_file(data, summary_filename)
  
      _hfd5_from_dataframe(data, track_info, outputfilename)
  
file_path: implicit/implicit/datasets/million_song_dataset.py
imports: import logging
  import os
  import time
  import h5py
  import numpy
  from scipy.sparse import coo_matrix, csr_matrix
  from tqdm.auto import tqdm
  from implicit.datasets import _download
label_desc: Use image node_id 2 for calling a global function with example usage: generate_dataset(triplets_filename, summary_filename, outputfilename) without return types