class_docstr: Dataset that generates samples from different sine curves by following the
  setting in Mate-SGD: https://arxiv.org/pdf/1707.09835.pdf
  config:
      num_classes: number of different sine curves.
      support: number of support samples for each sine curve.
      query: number of query samples for each sine curve.
      amplitude: range of amplitude of sine curves.
      frequency: range of frequency of sine curves.
      phase: range of phase of sine curves.
      x_range: range of x of sine curves.
      noise: if add noise to sine curves.
class_docstr_tok: ["Dataset","that","generates","samples","from","different","sine","curves","by","following","the","setting","in","Mate-SGD",":","https",":","\/\/arxiv.org\/pdf\/1707.09835.pdf","config",":","num_classes",":","number","of","different","sine","curves",".","support",":","number","of","support","samples","for","each","sine","curve",".","query",":","number","of","query","samples","for","each","sine","curve",".","amplitude",":","range","of","amplitude","of","sine","curves",".","frequency",":","range","of","frequency","of","sine","curves",".","phase",":","range","of","phase","of","sine","curves",".","x_range",":","range","of","x","of","sine","curves",".","noise",":","if","add","noise","to","sine","curves","."]
code: def __init__(
      self,
      num_classes,
      support,
      query,
      amplitude,
      frequency,
      phase,
      x_range,
  ):
      self.num_classes = num_classes
      self.support = support
      self.query = query
  
      self.x = []
      self.y = []
  
      for _ in range(num_classes):
          task_amplitude = random.uniform(*amplitude)
          task_frequency = random.uniform(*frequency)
          task_phase = random.uniform(*phase)
  
          task_x = np.random.uniform(*x_range, support + query).astype(
              np.float32
          )
          task_y = task_amplitude * np.sin(
              task_frequency * task_x + task_phase, dtype=np.float32
          )
  
          self.x.append(task_x)
          self.y.append(task_y)
  
file_path: PARL/benchmark/torch/maml++/data.py
imports: import numpy
  from torch.utils.data import Dataset, DataLoader
  import torch
  import random
  import numpy
label_desc: Use image node_id 1 to create a new MetaLearningDataSet object from inherited base classes: Dataset with example: obj = MetaLearningDataSet(num_classes, support, query, amplitude, frequency, phase, x_range)