class_docstr: Implementation of a learned black-box membership inference attack.
  
  This implementation can use as input to the learning process probabilities/logits or losses,
  depending on the type of model and provided configuration.
code: def _get_attack_dataset_no_label(self, f_1, label=None):
      from torch.utils.data.dataset import Dataset
  
      class AttackDataset(Dataset):
          """
          Implementation of a pytorch dataset for membership inference attack.
  
          The features are probabilities/logits or losses for the attack training data (`x_1`) along with
          its true labels (`x_2`). The labels (`y`) are a boolean representing whether this is a member.
          """
  
          def __init__(self, x_1, y=None):
              import torch
  
              self.x_1 = torch.from_numpy(x_1.astype(np.float64)).type(
                  torch.FloatTensor
              )
  
              if y is not None:
                  self.y = torch.from_numpy(y.astype(np.int8)).type(
                      torch.FloatTensor
                  )
              else:
                  self.y = torch.zeros(x_1.shape[0])
  
          def __len__(self):
              return len(self.x_1)
  
          def __getitem__(self, idx):
              if idx >= len(self.x_1):  # pragma: no cover
                  raise IndexError("Invalid Index")
  
              return self.x_1[idx], self.y[idx]
  
      return AttackDataset(x_1=f_1, y=label)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Any, Optional, Union, TYPE_CHECKING
  import numpy
  from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
  from sklearn.linear_model import LogisticRegression
  from sklearn.neighbors import KNeighborsClassifier
  from sklearn.tree import DecisionTreeClassifier
  from sklearn.svm import SVC
  from art.attacks.attack import MembershipInferenceAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
  from art.estimators.regression import RegressorMixin
  from art.utils import check_and_transform_label_format
label_desc: Use image node_id 5 for calling the MembershipInferenceBlackBox obj's underlying member method code with example usage: obj._get_attack_dataset_no_label(f_1, label) and returns: AttackDataset, len, self,  self