class_docstr: Implementation of the Copycat CNN attack from Rodrigues Correia-Silva et al. (2018).
  
  | Paper link: https://arxiv.org/abs/1806.05476
class_docstr_tok: ["Implementation","of","the","Copycat","CNN","attack","from","Rodrigues","Correia-Silva","et","al",".","(","2018",")",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1806.05476"]
docstr: Create a Copycat CNN attack instance.
  
  :param classifier: A victim classifier.
  :param batch_size_fit: Size of batches for fitting the thieved classifier.
  :param batch_size_query: Size of batches for querying the victim classifier.
  :param nb_epochs: Number of epochs to use for training.
  :param nb_stolen: Number of queries submitted to the victim classifier to steal it.
docstr_tok: ["Create","a","Copycat","CNN","attack","instance",".",":","param","classifier",":","A","victim","classifier",".",":","param","batch_size_fit",":","Size","of","batches","for","fitting","the","thieved","classifier",".",":","param","batch_size_query",":","Size","of","batches","for","querying","the","victim","classifier",".",":","param","nb_epochs",":","Number","of","epochs","to","use","for","training",".",":","param","nb_stolen",":","Number","of","queries","submitted","to","the","victim","classifier","to","steal","it","."]
code: def __init__(
      self,
      classifier: "CLASSIFIER_TYPE",
      batch_size_fit: int = 1,
      batch_size_query: int = 1,
      nb_epochs: int = 10,
      nb_stolen: int = 1,
      use_probability: bool = False,
  ) -> None:
      """
      Create a Copycat CNN attack instance.
  
      :param classifier: A victim classifier.
      :param batch_size_fit: Size of batches for fitting the thieved classifier.
      :param batch_size_query: Size of batches for querying the victim classifier.
      :param nb_epochs: Number of epochs to use for training.
      :param nb_stolen: Number of queries submitted to the victim classifier to steal it.
      """
      super().__init__(estimator=classifier)
  
      self.batch_size_fit = batch_size_fit
      self.batch_size_query = batch_size_query
      self.nb_epochs = nb_epochs
      self.nb_stolen = nb_stolen
      self.use_probability = use_probability
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/attacks/extraction/copycat_cnn.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, TYPE_CHECKING
  import numpy
  from art.config import ART_NUMPY_DTYPE
  from art.attacks.attack import ExtractionAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
  from art.utils import to_categorical
label_desc: Use image node_id 1 to create a new CopycatCNN object from inherited base classes: ExtractionAttack with example: obj = CopycatCNN(classifier, batch_size_fit, batch_size_query, nb_epochs, nb_stolen, use_probability)