diff --git a/search.js b/search.js index acb7f05..cc1bf1e 100644 --- a/search.js +++ b/search.js @@ -1,6 +1,6 @@ window.pdocSearch = (function(){ /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();oConstructing training data for attack models\n\n

Membership status is one-hot encoded with the following scheme:

\n\n

[1,0] or 0 : respective record was part of training data\n[0,1] or 1 : respective record was not part of training data

\n"}, "attack_data.set_seed": {"fullname": "attack_data.set_seed", "modulename": "attack_data", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_data.from_target_data": {"fullname": "attack_data.from_target_data", "modulename": "attack_data", "qualname": "from_target_data", "kind": "function", "doc": "

Use the training and test data to construct the attack dataset.\nSplitting is done according to this scheme:

\n\n

Training data Testing data

\n\n

\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2502\n\u2502 B \u2502 C \u2502 \u2502 A \u2502 D \u2502\n\u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2518 \u2514\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2518\n \u2502 \u2502 \u2502 \u2502\n \u2502 \u250c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502\n B \u2502 A \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502\n \u2502 \u2502 \u2502C \u2502D\n \u2502 \u2502 \u2502 \u2502\n \u25bc \u25bc \u25bc \u25bc

\n\n

\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502 \u2502 \u2502\n\u2502 A+B \u2502 \u2502 C+D \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nAttack train data Attack test data

\n", "signature": "(\ttargetTrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttargetTestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttargetModel: keras.engine.sequential.Sequential,\tlabel: int) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "attack_data.load_attack_data": {"fullname": "attack_data.load_attack_data", "modulename": "attack_data", "qualname": "load_attack_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict) -> List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]:", "funcdef": "def"}, "attack_data.save": {"fullname": "attack_data.save", "modulename": "attack_data", "qualname": "save", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]):", "funcdef": "def"}, "attack_data.shuffle": {"fullname": "attack_data.shuffle", "modulename": "attack_data", "qualname": "shuffle", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tbufferSize=10000) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "attack_data.balance_attack_data": {"fullname": "attack_data.balance_attack_data", "modulename": "attack_data", "qualname": "balance_attack_data", "kind": "function", "doc": "

Make sure that input datasets have equal number of in/out datapoints.

\n", "signature": "(\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_data.split_dataset": {"fullname": "attack_data.split_dataset", "modulename": "attack_data", "qualname": "split_dataset", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tsplit: float):", "funcdef": "def"}, "attack_data.split_attack_data_for_training": {"fullname": "attack_data.split_attack_data_for_training", "modulename": "attack_data", "qualname": "split_attack_data_for_training", "kind": "function", "doc": "

\n", "signature": "(\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2],\tconfig: Dict):", "funcdef": "def"}, "attack_data.get_attack_data": {"fullname": "attack_data.get_attack_data", "modulename": "attack_data", "qualname": "get_attack_data", "kind": "function", "doc": "

This function predicts and then labels the provided datasets on their\nrespective shadow model, thus creating the labeled data needed for the\nattack model.

\n", "signature": "(\tconfig: Dict,\tshadowModels: List[keras.engine.sequential.Sequential],\tshadowDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]:", "funcdef": "def"}, "attack_data.from_shadow_models": {"fullname": "attack_data.from_shadow_models", "modulename": "attack_data", "qualname": "from_shadow_models", "kind": "function", "doc": "

Predicts the shadow data on the shadow models themselves and labels it with\n\"in\" and \"out\", for the attack model to train on.

\n", "signature": "(\tconfig: Dict,\tshadowModels: List[keras.engine.sequential.Sequential],\tshadowDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_model": {"fullname": "attack_model", "modulename": "attack_model", "kind": "module", "doc": "

\n"}, "attack_model.set_seed": {"fullname": "attack_model.set_seed", "modulename": "attack_model", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_model.KaggleAttackModel": {"fullname": "attack_model.KaggleAttackModel", "modulename": "attack_model", "qualname": "KaggleAttackModel", "kind": "class", "doc": "

Architecture:\n Fully connected NN,\n 1 hiddenlayer, size 64,\n ReLU activation\n Softmax LAyer

\n\n

One model for each class

\n", "bases": "keras.engine.sequential.Sequential"}, "attack_model.KaggleAttackModel.__init__": {"fullname": "attack_model.KaggleAttackModel.__init__", "modulename": "attack_model", "qualname": "KaggleAttackModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "(numClasses: int)"}, "attack_model.load_model": {"fullname": "attack_model.load_model", "modulename": "attack_model", "qualname": "load_model", "kind": "function", "doc": "

Load model from disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, verbose=True) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "attack_model.save_model": {"fullname": "attack_model.save_model", "modulename": "attack_model", "qualname": "save_model", "kind": "function", "doc": "

Save model to disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, model: keras.engine.sequential.Sequential) -> None:", "funcdef": "def"}, "attack_model.train_model": {"fullname": "attack_model.train_model", "modulename": "attack_model", "qualname": "train_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tmodelName: str,\ttrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\thyperpar: Dict):", "funcdef": "def"}, "attack_model.evaluate_models": {"fullname": "attack_model.evaluate_models", "modulename": "attack_model", "qualname": "evaluate_models", "kind": "function", "doc": "

\n", "signature": "(\tmodels: List[keras.engine.sequential.Sequential],\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> float:", "funcdef": "def"}, "attack_model.evaluate_model": {"fullname": "attack_model.evaluate_model", "modulename": "attack_model", "qualname": "evaluate_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2):", "funcdef": "def"}, "attack_model.get_model_name": {"fullname": "attack_model.get_model_name", "modulename": "attack_model", "qualname": "get_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict, i: int) -> str:", "funcdef": "def"}, "attack_model.get_attack_models": {"fullname": "attack_model.get_attack_models", "modulename": "attack_model", "qualname": "get_attack_models", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tattackDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[attack_model.KaggleAttackModel]:", "funcdef": "def"}, "attack_pipeline": {"fullname": "attack_pipeline", "modulename": "attack_pipeline", "kind": "module", "doc": "

\n"}, "attack_pipeline.set_seed": {"fullname": "attack_pipeline.set_seed", "modulename": "attack_pipeline", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_pipeline.load_target_data": {"fullname": "attack_pipeline.load_target_data", "modulename": "attack_pipeline", "qualname": "load_target_data", "kind": "function", "doc": "

Returns tuple trainData, restData.

\n\n

RestData is data unused for training and testing previously.

\n", "signature": "(\tconfig: Dict) -> Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_pipeline.run_pipeline": {"fullname": "attack_pipeline.run_pipeline", "modulename": "attack_pipeline", "qualname": "run_pipeline", "kind": "function", "doc": "

\n", "signature": "(targetModel, targetTrainData, targetRestData):", "funcdef": "def"}, "attack_pipeline.process_results": {"fullname": "attack_pipeline.process_results", "modulename": "attack_pipeline", "qualname": "process_results", "kind": "function", "doc": "

\n", "signature": "(precision, recall, precisionPerClass, recallPerClass):", "funcdef": "def"}, "configuration": {"fullname": "configuration", "modulename": "configuration", "kind": "module", "doc": "

This module allows the parsing of YAML config files into a python dict.

\n\n

To load a YAML file located in config/ use the method from_name:

\n\n
\n
config = configuration.from_name("example.yml")\n
\n
\n\n

Access the information of the YAML file by accessing members of the returned\nobject. E.g. if the YAML file has an entry \"seed: 1234\":

\n\n
\n
print(config["seed"])\n1234\n
\n
\n\n

You can also load from a relative or absolute file path:

\n\n
\n
config_relative = configuration.from_rel_path("../example.yml")\nconfig_absolute = configuration.from_abs_path("/home/user/config/example.yml")\n
\n
\n\n

Save the current configuration to config/ using the save_to_file method:

\n\n
\n
save_to_file(config) # Uses current time as filename\nsave_to_file(config,"example.yaml") \n
\n
\n"}, "configuration.save_to_file": {"fullname": "configuration.save_to_file", "modulename": "configuration", "qualname": "save_to_file", "kind": "function", "doc": "

If a configName is passed, this will be used to construct the file\nname. Otherwise the current time is used. Either way, config files are\nwritten into the config/ directory.

\n", "signature": "(configuration: Dict, configName: Optional[str] = None):", "funcdef": "def"}, "configuration.from_abs_path": {"fullname": "configuration.from_abs_path", "modulename": "configuration", "qualname": "from_abs_path", "kind": "function", "doc": "

Load a Configuration from absolute file path.

\n", "signature": "(absoluteFilePath: str) -> Dict:", "funcdef": "def"}, "configuration.from_rel_path": {"fullname": "configuration.from_rel_path", "modulename": "configuration", "qualname": "from_rel_path", "kind": "function", "doc": "

Load a Configuration from relative file path.

\n", "signature": "(fileName: str) -> Dict:", "funcdef": "def"}, "configuration.from_name": {"fullname": "configuration.from_name", "modulename": "configuration", "qualname": "from_name", "kind": "function", "doc": "

Load a Configuration from config/.

\n\n

fileName is the name of the file inside config/.

\n", "signature": "(fileName: str) -> Dict:", "funcdef": "def"}, "configuration.from_cli_options": {"fullname": "configuration.from_cli_options", "modulename": "configuration", "qualname": "from_cli_options", "kind": "function", "doc": "

Take options from CLI and load correct config file.

\n", "signature": "(options: Dict) -> Dict:", "funcdef": "def"}, "datasets": {"fullname": "datasets", "modulename": "datasets", "kind": "module", "doc": "

Loading datasets

\n\n

This module preprocesses the datasets (where necessary) and returns them as \ntf.data.Dataset objects.

\n\n

The main interface is the function load_dataset(datasetName:str). It loads a\ntf.data.Dataset from disk and if none is found, creates one and saves it to\ndisk. That means, it can also be used in advance to ensure that the dataset is\nstored to disk and can be quickly loaded during training.

\n\n

Use it like this:

\n\n
\n
kaggle = load_dataset("kaggle")\n
\n
\n\n

Valid datasetName values are: \"cifar10\", \"cifar100\", \"kaggle\", \"kaggle_2\",\n\"kaggle_10\",\"kaggle_20\",\"kaggle_50\",\"kaggle_100\". Using the key \"kaggle_x\" \nreturns the Kaggle dataset, but clustered into x classes. If the dataset has \nto be constructed, a k-means clustering is done in the backend, so it can take \na while.

\n\n

Shuffling

\n\n

To shuffle a Kaggle dataset (e.g. to construct a training set from random \nsamples) call shuffle_kaggle:

\n\n
\n
kaggle = load_dataset("kaggle")\nkaggle_shuffled = shuffle_kaggle(kaggle)\n
\n
\n\n

Pre-loading for later use

\n\n

There is a conveniance method load_all_datasets, which loads all datasets as\ntf.data.Dataset and saves them to disk, so that they can be quickly loaded in\nthe future.

\n\n

Seeding

\n\n

Use set_seed to set a global seed, used by all random functions:

\n\n
\n
set_seed(1234)\n
\n
\n"}, "datasets.set_seed": {"fullname": "datasets.set_seed", "modulename": "datasets", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "datasets.shuffle": {"fullname": "datasets.shuffle", "modulename": "datasets", "qualname": "shuffle", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_attack": {"fullname": "datasets.load_attack", "modulename": "datasets", "qualname": "load_attack", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_shadow": {"fullname": "datasets.load_shadow", "modulename": "datasets", "qualname": "load_shadow", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_numpy_array": {"fullname": "datasets.load_numpy_array", "modulename": "datasets", "qualname": "load_numpy_array", "kind": "function", "doc": "

\n", "signature": "(filename: str):", "funcdef": "def"}, "datasets.save_numpy_array": {"fullname": "datasets.save_numpy_array", "modulename": "datasets", "qualname": "save_numpy_array", "kind": "function", "doc": "

\n", "signature": "(filename: str, array):", "funcdef": "def"}, "datasets.save_target": {"fullname": "datasets.save_target", "modulename": "datasets", "qualname": "save_target", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.load_target": {"fullname": "datasets.load_target", "modulename": "datasets", "qualname": "load_target", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.save_attack": {"fullname": "datasets.save_attack", "modulename": "datasets", "qualname": "save_attack", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.save_shadow": {"fullname": "datasets.save_shadow", "modulename": "datasets", "qualname": "save_shadow", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.delete_shadow": {"fullname": "datasets.delete_shadow", "modulename": "datasets", "qualname": "delete_shadow", "kind": "function", "doc": "

\n", "signature": "(datasetName: str):", "funcdef": "def"}, "datasets.load_dataset": {"fullname": "datasets.load_dataset", "modulename": "datasets", "qualname": "load_dataset", "kind": "function", "doc": "

Load a dataset.

\n\n

Valid datasetName values are: \"cifar10\", \"cifar100\", \"kaggle\", \"kaggle_2\",\n\"kaggle_10\",\"kaggle_20\",\"kaggle_50\",\"kaggle_100\".

\n", "signature": "(datasetName: str) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.split_dataset": {"fullname": "datasets.split_dataset", "modulename": "datasets", "qualname": "split_dataset", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tnumSubsets: int) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "datasets.load_all_datasets": {"fullname": "datasets.load_all_datasets", "modulename": "datasets", "qualname": "load_all_datasets", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download": {"fullname": "download", "modulename": "download", "kind": "module", "doc": "

This module downloads all necessary datasets.

\n\n

Usage examples:

\n\n
\n
import download\ndownload.download_cifar100()\ndownload.download_cifar10()\ndownload.download_kaggle()\ndownload.download_all_datasets() # Download all 3 at once\n
\n
\n"}, "download.download_kaggle": {"fullname": "download.download_kaggle", "modulename": "download", "qualname": "download_kaggle", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_cifar10": {"fullname": "download.download_cifar10", "modulename": "download", "qualname": "download_cifar10", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_cifar100": {"fullname": "download.download_cifar100", "modulename": "download", "qualname": "download_cifar100", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_all_datasets": {"fullname": "download.download_all_datasets", "modulename": "download", "qualname": "download_all_datasets", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_dataset": {"fullname": "download.download_dataset", "modulename": "download", "qualname": "download_dataset", "kind": "function", "doc": "

\n", "signature": "(datasetName: str):", "funcdef": "def"}, "main": {"fullname": "main", "modulename": "main", "kind": "module", "doc": "

\n"}, "main.parse_args": {"fullname": "main.parse_args", "modulename": "main", "qualname": "parse_args", "kind": "function", "doc": "

\n", "signature": "() -> Dict:", "funcdef": "def"}, "main.run_script": {"fullname": "main.run_script", "modulename": "main", "qualname": "run_script", "kind": "function", "doc": "

\n", "signature": "(scriptName: str, configFile: str):", "funcdef": "def"}, "main.prepare": {"fullname": "main.prepare", "modulename": "main", "qualname": "prepare", "kind": "function", "doc": "

\n", "signature": "(configFile: str):", "funcdef": "def"}, "main.evaluate": {"fullname": "main.evaluate", "modulename": "main", "qualname": "evaluate", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data": {"fullname": "shadow_data", "modulename": "shadow_data", "kind": "module", "doc": "

This module generates shadow data for training the shadow models.\nIt assumes varying knowledge about the original dataset, depending on the\nattacker capabilities.

\n"}, "shadow_data.set_seed": {"fullname": "shadow_data.set_seed", "modulename": "shadow_data", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "shadow_data.generate_shadow_data_sampling": {"fullname": "shadow_data.generate_shadow_data_sampling", "modulename": "shadow_data", "qualname": "generate_shadow_data_sampling", "kind": "function", "doc": "

Generate synthetic data for the shadow models by randomly sampling data\npoints from the original data set.

\n", "signature": "(\toriginal_data: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.split_shadow_data": {"fullname": "shadow_data.split_shadow_data", "modulename": "shadow_data", "qualname": "split_shadow_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tshadowData: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "shadow_data.load_shadow_data": {"fullname": "shadow_data.load_shadow_data", "modulename": "shadow_data", "qualname": "load_shadow_data", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data.get_shadow_data_name": {"fullname": "shadow_data.get_shadow_data_name", "modulename": "shadow_data", "qualname": "get_shadow_data_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data.get_shadow_data": {"fullname": "shadow_data.get_shadow_data", "modulename": "shadow_data", "qualname": "get_shadow_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\ttargetDataset,\ttargetModel) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.generate_shadow_data_noisy": {"fullname": "shadow_data.generate_shadow_data_noisy", "modulename": "shadow_data", "qualname": "generate_shadow_data_noisy", "kind": "function", "doc": "

Generate synthetic data for the shadow models by using a noisy version of\nthe original data.\nReturns only the noisy data, no the oririnal data.

\n\n

Arguments:\n fraction: percentage of labels that will be flipped per data record to\n make it \"noisy\"

\n", "signature": "(\toriginal_data: tensorflow.python.data.ops.dataset_ops.DatasetV2,\toutputSize: int,\tfraction: float = 0.1) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.generate_shadow_data_statistic": {"fullname": "shadow_data.generate_shadow_data_statistic", "modulename": "shadow_data", "qualname": "generate_shadow_data_statistic", "kind": "function", "doc": "

Generate synthetic data for the shadow models by using the marginal\ndistribution of features in the original dataset.

\n", "signature": "(\toriginal_data: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.hill_climbing": {"fullname": "shadow_data.hill_climbing", "modulename": "shadow_data", "qualname": "hill_climbing", "kind": "function", "doc": "

Generate synthetic data for the shadow models by querying the target model\nfor randomly sampled records, in order to find those that are classified\nwith high confidence.

\n\n

numRecords: size of generated dataset\nhyperpars has the following keys (taken from the paper:\nk_max,k_min,rej_max,conf_min,iter_max)

\n", "signature": "(\ttargetModel: keras.engine.sequential.Sequential,\tnumRecords: int,\t**hyperpars) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.get_target_model_rest_data": {"fullname": "shadow_data.get_target_model_rest_data", "modulename": "shadow_data", "qualname": "get_target_model_rest_data", "kind": "function", "doc": "

\n", "signature": "(config: Dict) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_models": {"fullname": "shadow_models", "modulename": "shadow_models", "kind": "module", "doc": "

\n"}, "shadow_models.set_seed": {"fullname": "shadow_models.set_seed", "modulename": "shadow_models", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "shadow_models.get_shadow_model_name": {"fullname": "shadow_models.get_shadow_model_name", "modulename": "shadow_models", "qualname": "get_shadow_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict, i: int):", "funcdef": "def"}, "shadow_models.load_shadow_models_and_datasets": {"fullname": "shadow_models.load_shadow_models_and_datasets", "modulename": "shadow_models", "qualname": "load_shadow_models_and_datasets", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "shadow_models.train_shadow_models": {"fullname": "shadow_models.train_shadow_models", "modulename": "shadow_models", "qualname": "train_shadow_models", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tshadowDatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "shadow_models.get_shadow_models_and_datasets": {"fullname": "shadow_models.get_shadow_models_and_datasets", "modulename": "shadow_models", "qualname": "get_shadow_models_and_datasets", "kind": "function", "doc": "

Tries to load shadow datasets from disk, alternatively trains from scratch.

\n\n

Returns 2 lists:\n models: the trained shadow models and a list of tuples, containing\n datasets: the training and test data for the corresponding shadow models

\n\n
E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1]\n
\n", "signature": "(\tconfig: Dict,\tshadowDatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "target_models": {"fullname": "target_models", "modulename": "target_models", "kind": "module", "doc": "

This module defines the victim models and provides methods to save, load and\ntrain them.

\n\n

To set the seed:

\n\n
\n
victim_models.set_seed(1234)\n
\n
\n\n

To load the models:

\n\n
\n
cifar10Model = victim_models.CifarModel()\nkaggleModel = victim_models.KaggleModel()\n
\n
\n\n

To train it with a tf.data.Dataset called cifar10 (dimension has to fit):

\n\n
\n
victim_models.train_model(cifar10Model, cifar10, epochs=1)\n
\n
\n\n

To save and load the model:

\n\n
\n
victim_models.save_model("filename",cifar10Model)\ncifar10Model = victim_models.load_model("filename")\n
\n
\n"}, "target_models.set_seed": {"fullname": "target_models.set_seed", "modulename": "target_models", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "target_models.CifarModel": {"fullname": "target_models.CifarModel", "modulename": "target_models", "qualname": "CifarModel", "kind": "class", "doc": "

On CIFAR datasets, we train a standard convolutional neural\nnetwork (CNN) with two convolution and max pooling layers\nplus a fully connected layer of size 128 and a Sof tMax layer.\n\u2018We use Tanh as the activation function. We set the learning\nrate to 0.001, the learning rate decay to le \u2014 07, and the\nmaximum epochs of training to 100.

\n", "bases": "keras.engine.sequential.Sequential"}, "target_models.CifarModel.__init__": {"fullname": "target_models.CifarModel.__init__", "modulename": "target_models", "qualname": "CifarModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "()"}, "target_models.KaggleModel": {"fullname": "target_models.KaggleModel", "modulename": "target_models", "qualname": "KaggleModel", "kind": "class", "doc": "

On the purchase dataset (see Section VI-A), we train a fully\nconnected neural network with one hidden layer of size 128\nand a SoftMax layer. We use Tanh as the activation function.\n\u2018We set the learning rate to 0.001, the learning rate decay to\n1e \u2014 07, and the maximum epochs of training to 200.

\n", "bases": "keras.engine.sequential.Sequential"}, "target_models.KaggleModel.__init__": {"fullname": "target_models.KaggleModel.__init__", "modulename": "target_models", "qualname": "KaggleModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "(output_size: int)"}, "target_models.load_model": {"fullname": "target_models.load_model", "modulename": "target_models", "qualname": "load_model", "kind": "function", "doc": "

Load model from disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, verbose=True) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "target_models.save_model": {"fullname": "target_models.save_model", "modulename": "target_models", "qualname": "save_model", "kind": "function", "doc": "

Save model to disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, model: keras.engine.sequential.Sequential) -> None:", "funcdef": "def"}, "target_models.train_model": {"fullname": "target_models.train_model", "modulename": "target_models", "qualname": "train_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tmodelName: str,\ttrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\thyperpar: Dict):", "funcdef": "def"}, "target_models.evaluate_model": {"fullname": "target_models.evaluate_model", "modulename": "target_models", "qualname": "evaluate_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2):", "funcdef": "def"}, "target_models.get_model_name": {"fullname": "target_models.get_model_name", "modulename": "target_models", "qualname": "get_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict) -> str:", "funcdef": "def"}, "target_models.get_target_model": {"fullname": "target_models.get_target_model", "modulename": "target_models", "qualname": "get_target_model", "kind": "function", "doc": "

Try to load target model. If it doesn't work, train it.

\n", "signature": "(config: Dict, targetDataset) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "target_models.train_target_model": {"fullname": "target_models.train_target_model", "modulename": "target_models", "qualname": "train_target_model", "kind": "function", "doc": "

\n", "signature": "(config: Dict, targetDataset) -> keras.engine.sequential.Sequential:", "funcdef": "def"}}, "docInfo": {"attack_data": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 47}, "attack_data.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_data.from_target_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 146, "bases": 0, "doc": 95}, "attack_data.load_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 88, "bases": 0, "doc": 3}, "attack_data.save": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 3}, "attack_data.shuffle": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 83, "bases": 0, "doc": 3}, "attack_data.balance_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 14}, "attack_data.split_dataset": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "attack_data.split_attack_data_for_training": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 3}, "attack_data.get_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 199, "bases": 0, "doc": 27}, "attack_data.from_shadow_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 163, "bases": 0, "doc": 26}, "attack_model": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "attack_model.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_model.KaggleAttackModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 21}, "attack_model.KaggleAttackModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 30}, "attack_model.load_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "attack_model.save_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "attack_model.train_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 128, "bases": 0, "doc": 3}, "attack_model.evaluate_models": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 3}, "attack_model.evaluate_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 69, "bases": 0, "doc": 3}, "attack_model.get_model_name": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 3}, "attack_model.get_attack_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 111, "bases": 0, "doc": 3}, "attack_pipeline": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "attack_pipeline.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_pipeline.load_target_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 19}, "attack_pipeline.run_pipeline": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "attack_pipeline.process_results": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "configuration": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 295}, "configuration.save_to_file": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 37}, "configuration.from_abs_path": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 10}, "configuration.from_rel_path": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 10}, "configuration.from_name": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 26}, "configuration.from_cli_options": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 12}, "datasets": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 353}, "datasets.set_seed": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "datasets.shuffle": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 3}, "datasets.load_attack": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.load_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.load_numpy_array": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "datasets.save_numpy_array": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "datasets.save_target": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.load_target": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.save_attack": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.save_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.delete_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "datasets.load_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 28}, "datasets.split_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 89, "bases": 0, "doc": 3}, "datasets.load_all_datasets": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 87}, "download.download_kaggle": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_cifar10": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_cifar100": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_all_datasets": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "main": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "main.parse_args": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 10, "bases": 0, "doc": 3}, "main.run_script": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "main.prepare": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "main.evaluate": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 26}, "shadow_data.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "shadow_data.generate_shadow_data_sampling": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 73, "bases": 0, "doc": 20}, "shadow_data.split_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 89, "bases": 0, "doc": 3}, "shadow_data.load_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data.get_shadow_data_name": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data.get_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 3}, "shadow_data.generate_shadow_data_noisy": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 103, "bases": 0, "doc": 47}, "shadow_data.generate_shadow_data_statistic": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 73, "bases": 0, "doc": 21}, "shadow_data.hill_climbing": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 80, "bases": 0, "doc": 61}, "shadow_data.get_target_model_rest_data": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 3}, "shadow_models": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "shadow_models.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "shadow_models.get_shadow_model_name": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "shadow_models.load_shadow_models_and_datasets": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 117, "bases": 0, "doc": 3}, "shadow_models.train_shadow_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 160, "bases": 0, "doc": 3}, "shadow_models.get_shadow_models_and_datasets": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 160, "bases": 0, "doc": 59}, "target_models": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 250}, "target_models.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "target_models.CifarModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 65}, "target_models.CifarModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 4, "bases": 0, "doc": 30}, "target_models.KaggleModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 60}, "target_models.KaggleModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 15, "bases": 0, "doc": 30}, "target_models.load_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "target_models.save_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "target_models.train_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 128, "bases": 0, "doc": 3}, "target_models.evaluate_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 69, "bases": 0, "doc": 3}, "target_models.get_model_name": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 3}, "target_models.get_target_model": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 15}, "target_models.train_target_model": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 3}}, "length": 89, "save": true}, "index": {"qualname": {"root": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.save": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 8}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}, "datasets.shuffle": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 15}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 7}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.train_model": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.load_attack_data": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 14, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"datasets.delete_shadow": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download.download_kaggle": {"tf": 1}, "download.download_cifar10": {"tf": 1}, "download.download_cifar100": {"tf": 1}, "download.download_all_datasets": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 5}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 12}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.save_attack": {"tf": 1}}, "df": 7}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 10}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 3}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 14, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 6}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"download.download_kaggle": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "main.evaluate": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 4}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.get_model_name": {"tf": 1}, "configuration.from_name": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}, "main.run_script": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 1}}, "l": {"docs": {"configuration.from_rel_path": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"main.prepare": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"download.download_cifar100": {"tf": 1}}, "df": 1}, "docs": {"download.download_cifar10": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}, "fullname": {"root": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}, "attack_pipeline.process_results": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.save_attack": {"tf": 1}}, "df": 29}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.load_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data_name": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1.4142135623730951}}, "df": 23, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "datasets.shuffle": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1.4142135623730951}, "download.download_all_datasets": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 18}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"datasets.delete_shadow": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download": {"tf": 1}, "download.download_kaggle": {"tf": 1.4142135623730951}, "download.download_cifar10": {"tf": 1.4142135623730951}, "download.download_cifar100": {"tf": 1.4142135623730951}, "download.download_all_datasets": {"tf": 1.4142135623730951}, "download.download_dataset": {"tf": 1.4142135623730951}}, "df": 6}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.save": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 8}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}, "datasets.shuffle": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.load_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data_name": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 21}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "target_models": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1.4142135623730951}, "target_models.train_target_model": {"tf": 1.4142135623730951}}, "df": 18}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.train_model": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 12}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 10}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 3}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_model_name": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 20, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_models": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 22}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"main": {"tf": 1}, "main.parse_args": {"tf": 1}, "main.run_script": {"tf": 1}, "main.prepare": {"tf": 1}, "main.evaluate": {"tf": 1}}, "df": 5}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"download.download_kaggle": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "main.evaluate": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 4}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.get_model_name": {"tf": 1}, "configuration.from_name": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1.4142135623730951}, "attack_pipeline.process_results": {"tf": 1}}, "df": 5}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"main.prepare": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}, "main.run_script": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 1}}, "l": {"docs": {"configuration.from_rel_path": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"download.download_cifar100": {"tf": 1}}, "df": 1}, "docs": {"download.download_cifar10": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"0": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"0": {"0": {"docs": {"attack_data.shuffle": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}, "docs": {"attack_data.set_seed": {"tf": 3.7416573867739413}, "attack_data.from_target_data": {"tf": 10.770329614269007}, "attack_data.load_attack_data": {"tf": 8.366600265340756}, "attack_data.save": {"tf": 7}, "attack_data.shuffle": {"tf": 8.12403840463596}, "attack_data.balance_attack_data": {"tf": 8.18535277187245}, "attack_data.split_dataset": {"tf": 6.6332495807108}, "attack_data.split_attack_data_for_training": {"tf": 7}, "attack_data.get_attack_data": {"tf": 12.569805089976535}, "attack_data.from_shadow_models": {"tf": 11.40175425099138}, "attack_model.set_seed": {"tf": 3.7416573867739413}, "attack_model.KaggleAttackModel.__init__": {"tf": 3.4641016151377544}, "attack_model.load_model": {"tf": 6}, "attack_model.save_model": {"tf": 6}, "attack_model.train_model": {"tf": 10.14889156509222}, "attack_model.evaluate_models": {"tf": 8.246211251235321}, "attack_model.evaluate_model": {"tf": 7.483314773547883}, "attack_model.get_model_name": {"tf": 4.898979485566356}, "attack_model.get_attack_models": {"tf": 9.38083151964686}, "attack_pipeline.set_seed": {"tf": 3.7416573867739413}, "attack_pipeline.load_target_data": {"tf": 8.18535277187245}, "attack_pipeline.run_pipeline": {"tf": 4.242640687119285}, "attack_pipeline.process_results": {"tf": 4.69041575982343}, "configuration.save_to_file": {"tf": 5.744562646538029}, "configuration.from_abs_path": {"tf": 4}, "configuration.from_rel_path": {"tf": 4}, "configuration.from_name": {"tf": 4}, "configuration.from_cli_options": {"tf": 4}, "datasets.set_seed": {"tf": 3.7416573867739413}, "datasets.shuffle": {"tf": 7.54983443527075}, "datasets.load_attack": {"tf": 6.782329983125268}, "datasets.load_shadow": {"tf": 6.782329983125268}, "datasets.load_numpy_array": {"tf": 3.7416573867739413}, "datasets.save_numpy_array": {"tf": 4.242640687119285}, "datasets.save_target": {"tf": 6.6332495807108}, "datasets.load_target": {"tf": 6.782329983125268}, "datasets.save_attack": {"tf": 6.6332495807108}, "datasets.save_shadow": {"tf": 6.6332495807108}, "datasets.delete_shadow": {"tf": 3.7416573867739413}, "datasets.load_dataset": {"tf": 6}, "datasets.split_dataset": {"tf": 8.426149773176359}, "datasets.load_all_datasets": {"tf": 2.6457513110645907}, "download.download_kaggle": {"tf": 2.6457513110645907}, "download.download_cifar10": {"tf": 2.6457513110645907}, "download.download_cifar100": {"tf": 2.6457513110645907}, "download.download_all_datasets": {"tf": 2.6457513110645907}, "download.download_dataset": {"tf": 3.7416573867739413}, "main.parse_args": {"tf": 3}, "main.run_script": {"tf": 4.69041575982343}, "main.prepare": {"tf": 3.7416573867739413}, "main.evaluate": {"tf": 3.7416573867739413}, "shadow_data.set_seed": {"tf": 3.7416573867739413}, "shadow_data.generate_shadow_data_sampling": {"tf": 7.54983443527075}, "shadow_data.split_shadow_data": {"tf": 8.426149773176359}, "shadow_data.load_shadow_data": {"tf": 3.7416573867739413}, "shadow_data.get_shadow_data_name": {"tf": 3.7416573867739413}, "shadow_data.get_shadow_data": {"tf": 6.855654600401044}, "shadow_data.generate_shadow_data_noisy": {"tf": 9}, "shadow_data.generate_shadow_data_statistic": {"tf": 7.54983443527075}, "shadow_data.hill_climbing": {"tf": 8.06225774829855}, "shadow_data.get_target_model_rest_data": {"tf": 6}, "shadow_models.set_seed": {"tf": 3.7416573867739413}, "shadow_models.get_shadow_model_name": {"tf": 4.69041575982343}, "shadow_models.load_shadow_models_and_datasets": {"tf": 9.643650760992955}, "shadow_models.train_shadow_models": {"tf": 11.269427669584644}, "shadow_models.get_shadow_models_and_datasets": {"tf": 11.269427669584644}, "target_models.set_seed": {"tf": 3.7416573867739413}, "target_models.CifarModel.__init__": {"tf": 2}, "target_models.KaggleModel.__init__": {"tf": 3.4641016151377544}, "target_models.load_model": {"tf": 6}, "target_models.save_model": {"tf": 6}, "target_models.train_model": {"tf": 10.14889156509222}, "target_models.evaluate_model": {"tf": 7.483314773547883}, "target_models.get_model_name": {"tf": 4}, "target_models.get_target_model": {"tf": 5.656854249492381}, "target_models.train_target_model": {"tf": 5.656854249492381}}, "df": 76, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"datasets.split_dataset": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 4}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1.4142135623730951}, "target_models.get_target_model": {"tf": 1.4142135623730951}, "target_models.train_target_model": {"tf": 1.4142135623730951}}, "df": 18}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"shadow_data.split_shadow_data": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}, "main.run_script": {"tf": 1.4142135623730951}, "main.prepare": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 25}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"target_models.KaggleModel.__init__": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {"attack_model.get_model_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 15}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data.get_shadow_data": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 3}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 8}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_target": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 5}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.7320508075688772}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.7320508075688772}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.7320508075688772}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1.4142135623730951}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1.4142135623730951}, "datasets.save_shadow": {"tf": 1.4142135623730951}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1.4142135623730951}}, "df": 35, "v": {"2": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}, "docs": {}, "df": 0}, "s": {"docs": {"attack_data.save": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}}, "df": 4}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 9}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1.4142135623730951}, "main.parse_args": {"tf": 1}, "main.evaluate": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 29}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 2.449489742783178}, "attack_data.load_attack_data": {"tf": 2}, "attack_data.save": {"tf": 1.4142135623730951}, "attack_data.shuffle": {"tf": 2}, "attack_data.balance_attack_data": {"tf": 2}, "attack_data.split_dataset": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 2.8284271247461903}, "attack_data.from_shadow_models": {"tf": 2.449489742783178}, "attack_model.train_model": {"tf": 2}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 2}, "attack_pipeline.load_target_data": {"tf": 2}, "datasets.shuffle": {"tf": 2}, "datasets.load_attack": {"tf": 1.4142135623730951}, "datasets.load_shadow": {"tf": 1.4142135623730951}, "datasets.save_target": {"tf": 1.4142135623730951}, "datasets.load_target": {"tf": 1.4142135623730951}, "datasets.save_attack": {"tf": 1.4142135623730951}, "datasets.save_shadow": {"tf": 1.4142135623730951}, "datasets.load_dataset": {"tf": 1.4142135623730951}, "datasets.split_dataset": {"tf": 2}, "shadow_data.generate_shadow_data_sampling": {"tf": 2}, "shadow_data.split_shadow_data": {"tf": 2}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 2}, "shadow_data.generate_shadow_data_statistic": {"tf": 2}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_data.get_target_model_rest_data": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 2}, "shadow_models.train_shadow_models": {"tf": 2.449489742783178}, "shadow_models.get_shadow_models_and_datasets": {"tf": 2.449489742783178}, "target_models.train_model": {"tf": 2}, "target_models.evaluate_model": {"tf": 1.4142135623730951}}, "df": 35}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 3}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"target_models.KaggleModel.__init__": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 18}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 18}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}}, "df": 13}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "main.evaluate": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 21, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"main.run_script": {"tf": 1}, "main.prepare": {"tf": 1}}, "df": 2}}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 4}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_target": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 5}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 7, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {"attack_model.evaluate_models": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.save_numpy_array": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}}}, "doc": {"root": {"0": {"0": {"1": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "7": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {"attack_data": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}, "1": {"0": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "target_models.CifarModel": {"tf": 1}}, "df": 3}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "2": {"3": {"4": {"docs": {"configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "8": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_model.KaggleAttackModel": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 4, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}, "2": {"0": {"0": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3}, "3": {"docs": {"download": {"tf": 1}}, "df": 1}, "5": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "6": {"4": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"attack_data": {"tf": 2.8284271247461903}, "attack_data.set_seed": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 7.54983443527075}, "attack_data.load_attack_data": {"tf": 1.7320508075688772}, "attack_data.save": {"tf": 1.7320508075688772}, "attack_data.shuffle": {"tf": 1.7320508075688772}, "attack_data.balance_attack_data": {"tf": 1.7320508075688772}, "attack_data.split_dataset": {"tf": 1.7320508075688772}, "attack_data.split_attack_data_for_training": {"tf": 1.7320508075688772}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model": {"tf": 1.7320508075688772}, "attack_model.set_seed": {"tf": 1.7320508075688772}, "attack_model.KaggleAttackModel": {"tf": 2}, "attack_model.KaggleAttackModel.__init__": {"tf": 2.8284271247461903}, "attack_model.load_model": {"tf": 2.8284271247461903}, "attack_model.save_model": {"tf": 2.8284271247461903}, "attack_model.train_model": {"tf": 1.7320508075688772}, "attack_model.evaluate_models": {"tf": 1.7320508075688772}, "attack_model.evaluate_model": {"tf": 1.7320508075688772}, "attack_model.get_model_name": {"tf": 1.7320508075688772}, "attack_model.get_attack_models": {"tf": 1.7320508075688772}, "attack_pipeline": {"tf": 1.7320508075688772}, "attack_pipeline.set_seed": {"tf": 1.7320508075688772}, "attack_pipeline.load_target_data": {"tf": 2.449489742783178}, "attack_pipeline.run_pipeline": {"tf": 1.7320508075688772}, "attack_pipeline.process_results": {"tf": 1.7320508075688772}, "configuration": {"tf": 13.038404810405298}, "configuration.save_to_file": {"tf": 2.6457513110645907}, "configuration.from_abs_path": {"tf": 1.7320508075688772}, "configuration.from_rel_path": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 3.4641016151377544}, "configuration.from_cli_options": {"tf": 1.7320508075688772}, "datasets": {"tf": 11.661903789690601}, "datasets.set_seed": {"tf": 1.7320508075688772}, "datasets.shuffle": {"tf": 1.7320508075688772}, "datasets.load_attack": {"tf": 1.7320508075688772}, "datasets.load_shadow": {"tf": 1.7320508075688772}, "datasets.load_numpy_array": {"tf": 1.7320508075688772}, "datasets.save_numpy_array": {"tf": 1.7320508075688772}, "datasets.save_target": {"tf": 1.7320508075688772}, "datasets.load_target": {"tf": 1.7320508075688772}, "datasets.save_attack": {"tf": 1.7320508075688772}, "datasets.save_shadow": {"tf": 1.7320508075688772}, "datasets.delete_shadow": {"tf": 1.7320508075688772}, "datasets.load_dataset": {"tf": 2.8284271247461903}, "datasets.split_dataset": {"tf": 1.7320508075688772}, "datasets.load_all_datasets": {"tf": 1.7320508075688772}, "download": {"tf": 7.681145747868608}, "download.download_kaggle": {"tf": 1.7320508075688772}, "download.download_cifar10": {"tf": 1.7320508075688772}, "download.download_cifar100": {"tf": 1.7320508075688772}, "download.download_all_datasets": {"tf": 1.7320508075688772}, "download.download_dataset": {"tf": 1.7320508075688772}, "main": {"tf": 1.7320508075688772}, "main.parse_args": {"tf": 1.7320508075688772}, "main.run_script": {"tf": 1.7320508075688772}, "main.prepare": {"tf": 1.7320508075688772}, "main.evaluate": {"tf": 1.7320508075688772}, "shadow_data": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.split_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.load_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.get_shadow_data_name": {"tf": 1.7320508075688772}, "shadow_data.get_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_noisy": {"tf": 2.449489742783178}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.7320508075688772}, "shadow_data.hill_climbing": {"tf": 3.1622776601683795}, "shadow_data.get_target_model_rest_data": {"tf": 1.7320508075688772}, "shadow_models": {"tf": 1.7320508075688772}, "shadow_models.set_seed": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_model_name": {"tf": 1.7320508075688772}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 3.1622776601683795}, "target_models": {"tf": 13.038404810405298}, "target_models.set_seed": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 2.8284271247461903}, "target_models.KaggleModel": {"tf": 2}, "target_models.KaggleModel.__init__": {"tf": 2.8284271247461903}, "target_models.load_model": {"tf": 2.8284271247461903}, "target_models.save_model": {"tf": 2.8284271247461903}, "target_models.train_model": {"tf": 1.7320508075688772}, "target_models.evaluate_model": {"tf": 1.7320508075688772}, "target_models.get_model_name": {"tf": 1.7320508075688772}, "target_models.get_target_model": {"tf": 1.7320508075688772}, "target_models.train_target_model": {"tf": 1.7320508075688772}}, "df": 89, "c": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 5}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "f": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 3}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "configuration.from_name": {"tf": 1.4142135623730951}, "configuration.from_cli_options": {"tf": 1}}, "df": 4, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 2}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}}, "df": 4}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "+": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "datasets": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 4}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 2}}, "df": 2}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.save_to_file": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download": {"tf": 1}}, "df": 3}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}}, "df": 4, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 2}}, "df": 1}}}}}}, "docs": {}, "df": 0}, "docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "n": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "target_models": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 8}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_pipeline.set_seed": {"tf": 1}, "configuration": {"tf": 2.8284271247461903}, "configuration.save_to_file": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 1.4142135623730951}, "datasets": {"tf": 3}, "datasets.set_seed": {"tf": 1}, "shadow_data": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 2}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.7320508075688772}, "shadow_data.hill_climbing": {"tf": 2}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 2}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 2.23606797749979}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}}, "df": 31, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}, "m": {"docs": {"datasets": {"tf": 1.4142135623730951}, "target_models": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "y": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1}, "attack_model.set_seed": {"tf": 1.4142135623730951}, "attack_pipeline.set_seed": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1.4142135623730951}, "shadow_data.set_seed": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.set_seed": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1.4142135623730951}}, "df": 11}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "download": {"tf": 1}, "shadow_data": {"tf": 1}, "target_models": {"tf": 1}}, "df": 8}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.23606797749979}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 2.8284271247461903}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 2.449489742783178}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 17}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2, "n": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data.hill_climbing": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "h": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}, "f": {"docs": {"datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 1}}, "df": 2}, "w": {"docs": {}, "df": 0, "o": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 2.23606797749979}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_noisy": {"tf": 2.23606797749979}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "datasets": {"tf": 3.1622776601683795}, "datasets.load_dataset": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 8, "s": {"docs": {"attack_data.balance_attack_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "datasets": {"tf": 2}, "download": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}}, "df": 6, "[": {"0": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2, ":": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download": {"tf": 3.1622776601683795}}, "df": 1, "s": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "datasets": {"tf": 2}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 6}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 22}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4, "s": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 8}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.23606797749979}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1}}, "df": 13}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.6457513110645907}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 10, "s": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "configuration.from_name": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "t": {"docs": {"target_models": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "configuration": {"tf": 1.7320508075688772}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets": {"tf": 2.6457513110645907}, "datasets.load_dataset": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 16, "t": {"docs": {"download": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1}, "download": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 9, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1, "d": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 10}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}}}}, "+": {"docs": {}, "df": 0, "b": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {"configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.from_abs_path": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.7320508075688772}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1.7320508075688772}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 13, "s": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 2.8284271247461903}}, "df": 9, "[": {"0": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "download": {"tf": 1}, "shadow_data": {"tf": 1}, "target_models": {"tf": 1}}, "df": 5}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1}}, "df": 2, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {"shadow_data.hill_climbing": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.hill_climbing": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 2}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 12}, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1}}, "df": 10, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}}, "df": 8}}}}, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"datasets": {"tf": 1.7320508075688772}}, "df": 1, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}}}, "o": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1, "f": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2}, "target_models": {"tf": 1.7320508075688772}, "target_models.save_model": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "configuration.from_name": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 7}, "n": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "configuration": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 5, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_name": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}}, "df": 3}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "target_models": {"tf": 1}, "target_models.get_target_model": {"tf": 1.4142135623730951}}, "df": 6, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "target_models.get_target_model": {"tf": 1}}, "df": 4}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 6, "e": {"docs": {"attack_data": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "datasets": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}, "c": {"docs": {}, "df": 0, "e": {"docs": {"download": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "configuration": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "configuration": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 13}, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_shadow_models": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}}, "df": 3}}, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"attack_data": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}, "s": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 13}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1.4142135623730951}}, "df": 1}, "y": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel": {"tf": 1.7320508075688772}}, "df": 2}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.load_target_data": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 2, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"configuration": {"tf": 1}}, "df": 1, "u": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}, "j": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"attack_data": {"tf": 1.4142135623730951}}, "df": 1}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration": {"tf": 1.7320508075688772}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 3}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1, "t": {"docs": {"attack_data": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1.7320508075688772}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1}, "download": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "configuration": {"tf": 1.4142135623730951}, "configuration.save_to_file": {"tf": 1}, "configuration.from_name": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}}, "df": 10}}}}, "g": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 8}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 2}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 14}, "y": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 6}, "u": {"docs": {}, "df": 0, "t": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "configuration": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 5, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.4142135623730951}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 9}, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 4}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"download": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 3}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}}, "df": 4}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.load_model": {"tf": 1}, "configuration": {"tf": 1.4142135623730951}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 2}, "datasets.load_dataset": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 2}, "target_models.load_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 12, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "y": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "l": {"docs": {"configuration": {"tf": 2.23606797749979}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"configuration": {"tf": 1.7320508075688772}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 3.1622776601683795}, "datasets": {"tf": 2}, "target_models": {"tf": 2}}, "df": 3}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}, "k": {"docs": {"datasets": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 4.123105625617661}, "datasets.load_dataset": {"tf": 2.449489742783178}, "download": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1}}, "df": 1, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"target_models": {"tf": 2.6457513110645907}}, "df": 1}}}}}}, "x": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"attack_data": {"fullname": "attack_data", "modulename": "attack_data", "kind": "module", "doc": "

Constructing training data for attack models

\n\n

Membership status is one-hot encoded with the following scheme:

\n\n

[1,0] or 0 : respective record was part of training data\n[0,1] or 1 : respective record was not part of training data

\n"}, "attack_data.set_seed": {"fullname": "attack_data.set_seed", "modulename": "attack_data", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_data.from_target_data": {"fullname": "attack_data.from_target_data", "modulename": "attack_data", "qualname": "from_target_data", "kind": "function", "doc": "

Use the training and test data to construct the attack dataset.\nSplitting is done according to this scheme:

\n\n

Training data Testing data

\n\n

\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2502\n\u2502 B \u2502 C \u2502 \u2502 A \u2502 D \u2502\n\u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2518 \u2514\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2518\n \u2502 \u2502 \u2502 \u2502\n \u2502 \u250c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502\n B \u2502 A \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502\n \u2502 \u2502 \u2502C \u2502D\n \u2502 \u2502 \u2502 \u2502\n \u25bc \u25bc \u25bc \u25bc

\n\n

\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \u2502 \u2502 \u2502\n\u2502 A+B \u2502 \u2502 C+D \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nAttack train data Attack test data

\n", "signature": "(\ttargetTrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttargetTestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttargetModel: keras.engine.sequential.Sequential,\tlabel: int) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "attack_data.load_attack_data": {"fullname": "attack_data.load_attack_data", "modulename": "attack_data", "qualname": "load_attack_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict) -> List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]:", "funcdef": "def"}, "attack_data.save": {"fullname": "attack_data.save", "modulename": "attack_data", "qualname": "save", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]):", "funcdef": "def"}, "attack_data.shuffle": {"fullname": "attack_data.shuffle", "modulename": "attack_data", "qualname": "shuffle", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tbufferSize=10000) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "attack_data.balance_attack_data": {"fullname": "attack_data.balance_attack_data", "modulename": "attack_data", "qualname": "balance_attack_data", "kind": "function", "doc": "

Make sure that input datasets have equal number of in/out datapoints.

\n", "signature": "(\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_data.split_dataset": {"fullname": "attack_data.split_dataset", "modulename": "attack_data", "qualname": "split_dataset", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tsplit: float):", "funcdef": "def"}, "attack_data.split_attack_data_for_training": {"fullname": "attack_data.split_attack_data_for_training", "modulename": "attack_data", "qualname": "split_attack_data_for_training", "kind": "function", "doc": "

\n", "signature": "(\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2],\tconfig: Dict):", "funcdef": "def"}, "attack_data.get_attack_data": {"fullname": "attack_data.get_attack_data", "modulename": "attack_data", "qualname": "get_attack_data", "kind": "function", "doc": "

This function predicts and then labels the provided datasets on their\nrespective shadow model, thus creating the labeled data needed for the\nattack model.

\n", "signature": "(\tconfig: Dict,\tshadowModels: List[keras.engine.sequential.Sequential],\tshadowDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]:", "funcdef": "def"}, "attack_data.from_shadow_models": {"fullname": "attack_data.from_shadow_models", "modulename": "attack_data", "qualname": "from_shadow_models", "kind": "function", "doc": "

Predicts the shadow data on the shadow models themselves and labels it with\n\"in\" and \"out\", for the attack model to train on.

\n", "signature": "(\tconfig: Dict,\tshadowModels: List[keras.engine.sequential.Sequential],\tshadowDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_model": {"fullname": "attack_model", "modulename": "attack_model", "kind": "module", "doc": "

\n"}, "attack_model.set_seed": {"fullname": "attack_model.set_seed", "modulename": "attack_model", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_model.KaggleAttackModel": {"fullname": "attack_model.KaggleAttackModel", "modulename": "attack_model", "qualname": "KaggleAttackModel", "kind": "class", "doc": "

Architecture:\n Fully connected NN,\n 1 hiddenlayer, size 64,\n ReLU activation\n Softmax LAyer

\n\n

One model for each class

\n", "bases": "keras.engine.sequential.Sequential"}, "attack_model.KaggleAttackModel.__init__": {"fullname": "attack_model.KaggleAttackModel.__init__", "modulename": "attack_model", "qualname": "KaggleAttackModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "(numClasses: int)"}, "attack_model.load_model": {"fullname": "attack_model.load_model", "modulename": "attack_model", "qualname": "load_model", "kind": "function", "doc": "

Load model from disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, verbose=True) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "attack_model.save_model": {"fullname": "attack_model.save_model", "modulename": "attack_model", "qualname": "save_model", "kind": "function", "doc": "

Save model to disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, model: keras.engine.sequential.Sequential) -> None:", "funcdef": "def"}, "attack_model.train_model": {"fullname": "attack_model.train_model", "modulename": "attack_model", "qualname": "train_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tmodelName: str,\ttrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\thyperpar: Dict):", "funcdef": "def"}, "attack_model.evaluate_models": {"fullname": "attack_model.evaluate_models", "modulename": "attack_model", "qualname": "evaluate_models", "kind": "function", "doc": "

\n", "signature": "(\tmodels: List[keras.engine.sequential.Sequential],\tdatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> float:", "funcdef": "def"}, "attack_model.evaluate_model": {"fullname": "attack_model.evaluate_model", "modulename": "attack_model", "qualname": "evaluate_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2):", "funcdef": "def"}, "attack_model.get_model_name": {"fullname": "attack_model.get_model_name", "modulename": "attack_model", "qualname": "get_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict, i: int) -> str:", "funcdef": "def"}, "attack_model.get_attack_models": {"fullname": "attack_model.get_attack_models", "modulename": "attack_model", "qualname": "get_attack_models", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tattackDatasets: List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]) -> List[attack_model.KaggleAttackModel]:", "funcdef": "def"}, "attack_pipeline": {"fullname": "attack_pipeline", "modulename": "attack_pipeline", "kind": "module", "doc": "

\n"}, "attack_pipeline.set_seed": {"fullname": "attack_pipeline.set_seed", "modulename": "attack_pipeline", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "attack_pipeline.load_target_data": {"fullname": "attack_pipeline.load_target_data", "modulename": "attack_pipeline", "qualname": "load_target_data", "kind": "function", "doc": "

Returns tuple trainData, restData.

\n\n

RestData is data unused for training and testing previously.

\n", "signature": "(\tconfig: Dict) -> Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "attack_pipeline.run_pipeline": {"fullname": "attack_pipeline.run_pipeline", "modulename": "attack_pipeline", "qualname": "run_pipeline", "kind": "function", "doc": "

\n", "signature": "(targetModel, targetTrainData, targetRestData):", "funcdef": "def"}, "attack_pipeline.process_results": {"fullname": "attack_pipeline.process_results", "modulename": "attack_pipeline", "qualname": "process_results", "kind": "function", "doc": "

\n", "signature": "(precision, recall, precisionPerClass, recallPerClass):", "funcdef": "def"}, "configuration": {"fullname": "configuration", "modulename": "configuration", "kind": "module", "doc": "

This module allows the parsing of YAML config files into a python dict.

\n\n

To load a YAML file located in config/ use the method from_name:

\n\n
\n
config = configuration.from_name("example.yml")\n
\n
\n\n

Access the information of the YAML file by accessing members of the returned\nobject. E.g. if the YAML file has an entry \"seed: 1234\":

\n\n
\n
print(config["seed"])\n1234\n
\n
\n\n

You can also load from a relative or absolute file path:

\n\n
\n
config_relative = configuration.from_rel_path("../example.yml")\nconfig_absolute = configuration.from_abs_path("/home/user/config/example.yml")\n
\n
\n\n

Save the current configuration to config/ using the save_to_file method:

\n\n
\n
save_to_file(config) # Uses current time as filename\nsave_to_file(config,"example.yaml") \n
\n
\n"}, "configuration.save_to_file": {"fullname": "configuration.save_to_file", "modulename": "configuration", "qualname": "save_to_file", "kind": "function", "doc": "

If a configName is passed, this will be used to construct the file\nname. Otherwise the current time is used. Either way, config files are\nwritten into the config/ directory.

\n", "signature": "(configuration: Dict, configName: Optional[str] = None):", "funcdef": "def"}, "configuration.from_abs_path": {"fullname": "configuration.from_abs_path", "modulename": "configuration", "qualname": "from_abs_path", "kind": "function", "doc": "

Load a Configuration from absolute file path.

\n", "signature": "(absoluteFilePath: str) -> Dict:", "funcdef": "def"}, "configuration.from_rel_path": {"fullname": "configuration.from_rel_path", "modulename": "configuration", "qualname": "from_rel_path", "kind": "function", "doc": "

Load a Configuration from relative file path.

\n", "signature": "(fileName: str) -> Dict:", "funcdef": "def"}, "configuration.from_name": {"fullname": "configuration.from_name", "modulename": "configuration", "qualname": "from_name", "kind": "function", "doc": "

Load a Configuration from config/.

\n\n

fileName is the name of the file inside config/.

\n", "signature": "(fileName: str) -> Dict:", "funcdef": "def"}, "configuration.from_cli_options": {"fullname": "configuration.from_cli_options", "modulename": "configuration", "qualname": "from_cli_options", "kind": "function", "doc": "

Take options from CLI and load correct config file.

\n", "signature": "(options: Dict) -> Dict:", "funcdef": "def"}, "datasets": {"fullname": "datasets", "modulename": "datasets", "kind": "module", "doc": "

Loading datasets

\n\n

This module preprocesses the datasets (where necessary) and returns them as \ntf.data.Dataset objects.

\n\n

The main interface is the function load_dataset(datasetName:str). It loads a\ntf.data.Dataset from disk and if none is found, creates one and saves it to\ndisk. That means, it can also be used in advance to ensure that the dataset is\nstored to disk and can be quickly loaded during training.

\n\n

Use it like this:

\n\n
\n
kaggle = load_dataset("kaggle")\n
\n
\n\n

Valid datasetName values are: \"cifar10\", \"cifar100\", \"kaggle\", \"kaggle_2\",\n\"kaggle_10\",\"kaggle_20\",\"kaggle_50\",\"kaggle_100\". Using the key \"kaggle_x\" \nreturns the Kaggle dataset, but clustered into x classes. If the dataset has \nto be constructed, a k-means clustering is done in the backend, so it can take \na while.

\n\n

Shuffling

\n\n

To shuffle a Kaggle dataset (e.g. to construct a training set from random \nsamples) call shuffle_kaggle:

\n\n
\n
kaggle = load_dataset("kaggle")\nkaggle_shuffled = shuffle_kaggle(kaggle)\n
\n
\n\n

Pre-loading for later use

\n\n

There is a conveniance method load_all_datasets, which loads all datasets as\ntf.data.Dataset and saves them to disk, so that they can be quickly loaded in\nthe future.

\n\n

Seeding

\n\n

Use set_seed to set a global seed, used by all random functions:

\n\n
\n
set_seed(1234)\n
\n
\n"}, "datasets.set_seed": {"fullname": "datasets.set_seed", "modulename": "datasets", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "datasets.shuffle": {"fullname": "datasets.shuffle", "modulename": "datasets", "qualname": "shuffle", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_attack": {"fullname": "datasets.load_attack", "modulename": "datasets", "qualname": "load_attack", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_shadow": {"fullname": "datasets.load_shadow", "modulename": "datasets", "qualname": "load_shadow", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.load_numpy_array": {"fullname": "datasets.load_numpy_array", "modulename": "datasets", "qualname": "load_numpy_array", "kind": "function", "doc": "

\n", "signature": "(filename: str):", "funcdef": "def"}, "datasets.save_numpy_array": {"fullname": "datasets.save_numpy_array", "modulename": "datasets", "qualname": "save_numpy_array", "kind": "function", "doc": "

\n", "signature": "(filename: str, array):", "funcdef": "def"}, "datasets.save_target": {"fullname": "datasets.save_target", "modulename": "datasets", "qualname": "save_target", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.load_target": {"fullname": "datasets.load_target", "modulename": "datasets", "qualname": "load_target", "kind": "function", "doc": "

\n", "signature": "(\tdatasetName: str,\tverbose=True) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.save_attack": {"fullname": "datasets.save_attack", "modulename": "datasets", "qualname": "save_attack", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.save_shadow": {"fullname": "datasets.save_shadow", "modulename": "datasets", "qualname": "save_shadow", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tdatasetName: str):", "funcdef": "def"}, "datasets.delete_shadow": {"fullname": "datasets.delete_shadow", "modulename": "datasets", "qualname": "delete_shadow", "kind": "function", "doc": "

\n", "signature": "(datasetName: str):", "funcdef": "def"}, "datasets.load_dataset": {"fullname": "datasets.load_dataset", "modulename": "datasets", "qualname": "load_dataset", "kind": "function", "doc": "

Load a dataset.

\n\n

Valid datasetName values are: \"cifar10\", \"cifar100\", \"kaggle\", \"kaggle_2\",\n\"kaggle_10\",\"kaggle_20\",\"kaggle_50\",\"kaggle_100\".

\n", "signature": "(datasetName: str) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "datasets.split_dataset": {"fullname": "datasets.split_dataset", "modulename": "datasets", "qualname": "split_dataset", "kind": "function", "doc": "

\n", "signature": "(\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2,\tnumSubsets: int) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "datasets.load_all_datasets": {"fullname": "datasets.load_all_datasets", "modulename": "datasets", "qualname": "load_all_datasets", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download": {"fullname": "download", "modulename": "download", "kind": "module", "doc": "

This module downloads all necessary datasets.

\n\n

Usage examples:

\n\n
\n
import download\ndownload.download_cifar100()\ndownload.download_cifar10()\ndownload.download_kaggle()\ndownload.download_all_datasets() # Download all 3 at once\n
\n
\n"}, "download.download_kaggle": {"fullname": "download.download_kaggle", "modulename": "download", "qualname": "download_kaggle", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_cifar10": {"fullname": "download.download_cifar10", "modulename": "download", "qualname": "download_cifar10", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_cifar100": {"fullname": "download.download_cifar100", "modulename": "download", "qualname": "download_cifar100", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_all_datasets": {"fullname": "download.download_all_datasets", "modulename": "download", "qualname": "download_all_datasets", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "download.download_dataset": {"fullname": "download.download_dataset", "modulename": "download", "qualname": "download_dataset", "kind": "function", "doc": "

\n", "signature": "(datasetName: str):", "funcdef": "def"}, "main": {"fullname": "main", "modulename": "main", "kind": "module", "doc": "

\n"}, "main.parse_args": {"fullname": "main.parse_args", "modulename": "main", "qualname": "parse_args", "kind": "function", "doc": "

\n", "signature": "() -> Dict:", "funcdef": "def"}, "main.run_script": {"fullname": "main.run_script", "modulename": "main", "qualname": "run_script", "kind": "function", "doc": "

\n", "signature": "(scriptName: str, configFile: str):", "funcdef": "def"}, "main.prepare": {"fullname": "main.prepare", "modulename": "main", "qualname": "prepare", "kind": "function", "doc": "

\n", "signature": "(configFile: str):", "funcdef": "def"}, "main.evaluate": {"fullname": "main.evaluate", "modulename": "main", "qualname": "evaluate", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data": {"fullname": "shadow_data", "modulename": "shadow_data", "kind": "module", "doc": "

This module generates shadow data for training the shadow models.\nIt assumes varying knowledge about the original dataset, depending on the\nattacker capabilities.

\n"}, "shadow_data.set_seed": {"fullname": "shadow_data.set_seed", "modulename": "shadow_data", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "shadow_data.generate_shadow_data_sampling": {"fullname": "shadow_data.generate_shadow_data_sampling", "modulename": "shadow_data", "qualname": "generate_shadow_data_sampling", "kind": "function", "doc": "

Generate synthetic data for the shadow models by randomly sampling data\npoints from the original data set.

\n", "signature": "(\toriginal_data: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.split_shadow_data": {"fullname": "shadow_data.split_shadow_data", "modulename": "shadow_data", "qualname": "split_shadow_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tshadowData: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> List[tensorflow.python.data.ops.dataset_ops.DatasetV2]:", "funcdef": "def"}, "shadow_data.load_shadow_data": {"fullname": "shadow_data.load_shadow_data", "modulename": "shadow_data", "qualname": "load_shadow_data", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data.get_shadow_data_name": {"fullname": "shadow_data.get_shadow_data_name", "modulename": "shadow_data", "qualname": "get_shadow_data_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict):", "funcdef": "def"}, "shadow_data.get_shadow_data": {"fullname": "shadow_data.get_shadow_data", "modulename": "shadow_data", "qualname": "get_shadow_data", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\ttargetDataset,\ttargetModel) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.generate_shadow_data_noisy": {"fullname": "shadow_data.generate_shadow_data_noisy", "modulename": "shadow_data", "qualname": "generate_shadow_data_noisy", "kind": "function", "doc": "

Generate synthetic data for the shadow models by using a noisy version of\nthe original data.\nReturns only the noisy data, no the oririnal data.

\n\n

Arguments:\n fraction: percentage of labels that will be flipped per data record to\n make it \"noisy\"

\n", "signature": "(\toriginal_data: tensorflow.python.data.ops.dataset_ops.DatasetV2,\toutputSize: int,\tfraction: float = 0.1) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.generate_shadow_data_statistic": {"fullname": "shadow_data.generate_shadow_data_statistic", "modulename": "shadow_data", "qualname": "generate_shadow_data_statistic", "kind": "function", "doc": "

Generate synthetic data for the shadow models by using the marginal\ndistribution of features in the original dataset.

\n", "signature": "(\tconfig: Dict,\t**hyperpars) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.hill_climbing": {"fullname": "shadow_data.hill_climbing", "modulename": "shadow_data", "qualname": "hill_climbing", "kind": "function", "doc": "

Generate synthetic data for the shadow models by querying the target model\nfor randomly sampled records, in order to find those that are classified\nwith high confidence.

\n\n

numRecords: size of generated dataset\nhyperpars has the following keys (taken from the paper:\nk_max,k_min,rej_max,conf_min,iter_max)

\n", "signature": "(\ttargetModel: keras.engine.sequential.Sequential,\tnumRecords: int,\t**hyperpars) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_data.get_target_model_rest_data": {"fullname": "shadow_data.get_target_model_rest_data", "modulename": "shadow_data", "qualname": "get_target_model_rest_data", "kind": "function", "doc": "

\n", "signature": "(config: Dict) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:", "funcdef": "def"}, "shadow_models": {"fullname": "shadow_models", "modulename": "shadow_models", "kind": "module", "doc": "

\n"}, "shadow_models.set_seed": {"fullname": "shadow_models.set_seed", "modulename": "shadow_models", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "shadow_models.get_shadow_model_name": {"fullname": "shadow_models.get_shadow_model_name", "modulename": "shadow_models", "qualname": "get_shadow_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict, i: int):", "funcdef": "def"}, "shadow_models.load_shadow_models_and_datasets": {"fullname": "shadow_models.load_shadow_models_and_datasets", "modulename": "shadow_models", "qualname": "load_shadow_models_and_datasets", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "shadow_models.train_shadow_models": {"fullname": "shadow_models.train_shadow_models", "modulename": "shadow_models", "qualname": "train_shadow_models", "kind": "function", "doc": "

\n", "signature": "(\tconfig: Dict,\tshadowDatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "shadow_models.get_shadow_models_and_datasets": {"fullname": "shadow_models.get_shadow_models_and_datasets", "modulename": "shadow_models", "qualname": "get_shadow_models_and_datasets", "kind": "function", "doc": "

Tries to load shadow datasets from disk, alternatively trains from scratch.

\n\n

Returns 2 lists:\n models: the trained shadow models and a list of tuples, containing\n datasets: the training and test data for the corresponding shadow models

\n\n
E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1]\n
\n", "signature": "(\tconfig: Dict,\tshadowDatasets: List[tensorflow.python.data.ops.dataset_ops.DatasetV2]) -> Tuple[List[keras.engine.sequential.Sequential], List[Tuple[tensorflow.python.data.ops.dataset_ops.DatasetV2, tensorflow.python.data.ops.dataset_ops.DatasetV2]]]:", "funcdef": "def"}, "target_models": {"fullname": "target_models", "modulename": "target_models", "kind": "module", "doc": "

This module defines the victim models and provides methods to save, load and\ntrain them.

\n\n

To set the seed:

\n\n
\n
victim_models.set_seed(1234)\n
\n
\n\n

To load the models:

\n\n
\n
cifar10Model = victim_models.CifarModel()\nkaggleModel = victim_models.KaggleModel()\n
\n
\n\n

To train it with a tf.data.Dataset called cifar10 (dimension has to fit):

\n\n
\n
victim_models.train_model(cifar10Model, cifar10, epochs=1)\n
\n
\n\n

To save and load the model:

\n\n
\n
victim_models.save_model("filename",cifar10Model)\ncifar10Model = victim_models.load_model("filename")\n
\n
\n"}, "target_models.set_seed": {"fullname": "target_models.set_seed", "modulename": "target_models", "qualname": "set_seed", "kind": "function", "doc": "

Set the global seed that will be used for all functions that include\nrandomness.

\n", "signature": "(new_seed: int):", "funcdef": "def"}, "target_models.CifarModel": {"fullname": "target_models.CifarModel", "modulename": "target_models", "qualname": "CifarModel", "kind": "class", "doc": "

On CIFAR datasets, we train a standard convolutional neural\nnetwork (CNN) with two convolution and max pooling layers\nplus a fully connected layer of size 128 and a Sof tMax layer.\n\u2018We use Tanh as the activation function. We set the learning\nrate to 0.001, the learning rate decay to le \u2014 07, and the\nmaximum epochs of training to 100.

\n", "bases": "keras.engine.sequential.Sequential"}, "target_models.CifarModel.__init__": {"fullname": "target_models.CifarModel.__init__", "modulename": "target_models", "qualname": "CifarModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "()"}, "target_models.KaggleModel": {"fullname": "target_models.KaggleModel", "modulename": "target_models", "qualname": "KaggleModel", "kind": "class", "doc": "

On the purchase dataset (see Section VI-A), we train a fully\nconnected neural network with one hidden layer of size 128\nand a SoftMax layer. We use Tanh as the activation function.\n\u2018We set the learning rate to 0.001, the learning rate decay to\n1e \u2014 07, and the maximum epochs of training to 200.

\n", "bases": "keras.engine.sequential.Sequential"}, "target_models.KaggleModel.__init__": {"fullname": "target_models.KaggleModel.__init__", "modulename": "target_models", "qualname": "KaggleModel.__init__", "kind": "function", "doc": "

Creates a Sequential model instance.

\n\n

Args:\n layers: Optional list of layers to add to the model.\n name: Optional name for the model.

\n", "signature": "(output_size: int)"}, "target_models.load_model": {"fullname": "target_models.load_model", "modulename": "target_models", "qualname": "load_model", "kind": "function", "doc": "

Load model from disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, verbose=True) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "target_models.save_model": {"fullname": "target_models.save_model", "modulename": "target_models", "qualname": "save_model", "kind": "function", "doc": "

Save model to disk.

\n\n

The file name will be constructed from the name argument.

\n", "signature": "(name: str, model: keras.engine.sequential.Sequential) -> None:", "funcdef": "def"}, "target_models.train_model": {"fullname": "target_models.train_model", "modulename": "target_models", "qualname": "train_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tmodelName: str,\ttrainData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\ttestData: tensorflow.python.data.ops.dataset_ops.DatasetV2,\thyperpar: Dict):", "funcdef": "def"}, "target_models.evaluate_model": {"fullname": "target_models.evaluate_model", "modulename": "target_models", "qualname": "evaluate_model", "kind": "function", "doc": "

\n", "signature": "(\tmodel: keras.engine.sequential.Sequential,\tdataset: tensorflow.python.data.ops.dataset_ops.DatasetV2):", "funcdef": "def"}, "target_models.get_model_name": {"fullname": "target_models.get_model_name", "modulename": "target_models", "qualname": "get_model_name", "kind": "function", "doc": "

\n", "signature": "(config: Dict) -> str:", "funcdef": "def"}, "target_models.get_target_model": {"fullname": "target_models.get_target_model", "modulename": "target_models", "qualname": "get_target_model", "kind": "function", "doc": "

Try to load target model. If it doesn't work, train it.

\n", "signature": "(config: Dict, targetDataset) -> keras.engine.sequential.Sequential:", "funcdef": "def"}, "target_models.train_target_model": {"fullname": "target_models.train_target_model", "modulename": "target_models", "qualname": "train_target_model", "kind": "function", "doc": "

\n", "signature": "(config: Dict, targetDataset) -> keras.engine.sequential.Sequential:", "funcdef": "def"}}, "docInfo": {"attack_data": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 47}, "attack_data.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_data.from_target_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 146, "bases": 0, "doc": 95}, "attack_data.load_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 88, "bases": 0, "doc": 3}, "attack_data.save": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 3}, "attack_data.shuffle": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 83, "bases": 0, "doc": 3}, "attack_data.balance_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 14}, "attack_data.split_dataset": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "attack_data.split_attack_data_for_training": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 3}, "attack_data.get_attack_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 199, "bases": 0, "doc": 27}, "attack_data.from_shadow_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 163, "bases": 0, "doc": 26}, "attack_model": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "attack_model.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_model.KaggleAttackModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 21}, "attack_model.KaggleAttackModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 30}, "attack_model.load_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "attack_model.save_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "attack_model.train_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 128, "bases": 0, "doc": 3}, "attack_model.evaluate_models": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 3}, "attack_model.evaluate_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 69, "bases": 0, "doc": 3}, "attack_model.get_model_name": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 3}, "attack_model.get_attack_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 111, "bases": 0, "doc": 3}, "attack_pipeline": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "attack_pipeline.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "attack_pipeline.load_target_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 19}, "attack_pipeline.run_pipeline": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "attack_pipeline.process_results": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "configuration": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 295}, "configuration.save_to_file": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 37}, "configuration.from_abs_path": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 10}, "configuration.from_rel_path": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 10}, "configuration.from_name": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 26}, "configuration.from_cli_options": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 12}, "datasets": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 353}, "datasets.set_seed": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "datasets.shuffle": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 3}, "datasets.load_attack": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.load_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.load_numpy_array": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "datasets.save_numpy_array": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "datasets.save_target": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.load_target": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "datasets.save_attack": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.save_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 3}, "datasets.delete_shadow": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "datasets.load_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 28}, "datasets.split_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 89, "bases": 0, "doc": 3}, "datasets.load_all_datasets": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 87}, "download.download_kaggle": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_cifar10": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_cifar100": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_all_datasets": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "download.download_dataset": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "main": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "main.parse_args": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 10, "bases": 0, "doc": 3}, "main.run_script": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "main.prepare": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "main.evaluate": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 26}, "shadow_data.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "shadow_data.generate_shadow_data_sampling": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 73, "bases": 0, "doc": 20}, "shadow_data.split_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 89, "bases": 0, "doc": 3}, "shadow_data.load_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data.get_shadow_data_name": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "shadow_data.get_shadow_data": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 3}, "shadow_data.generate_shadow_data_noisy": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 103, "bases": 0, "doc": 47}, "shadow_data.generate_shadow_data_statistic": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 54, "bases": 0, "doc": 21}, "shadow_data.hill_climbing": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 80, "bases": 0, "doc": 61}, "shadow_data.get_target_model_rest_data": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 3}, "shadow_models": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "shadow_models.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "shadow_models.get_shadow_model_name": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "shadow_models.load_shadow_models_and_datasets": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 117, "bases": 0, "doc": 3}, "shadow_models.train_shadow_models": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 160, "bases": 0, "doc": 3}, "shadow_models.get_shadow_models_and_datasets": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 160, "bases": 0, "doc": 59}, "target_models": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 250}, "target_models.set_seed": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 17}, "target_models.CifarModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 65}, "target_models.CifarModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 4, "bases": 0, "doc": 30}, "target_models.KaggleModel": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 60}, "target_models.KaggleModel.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 15, "bases": 0, "doc": 30}, "target_models.load_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "target_models.save_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 44, "bases": 0, "doc": 22}, "target_models.train_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 128, "bases": 0, "doc": 3}, "target_models.evaluate_model": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 69, "bases": 0, "doc": 3}, "target_models.get_model_name": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 3}, "target_models.get_target_model": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 15}, "target_models.train_target_model": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 3}}, "length": 89, "save": true}, "index": {"qualname": {"root": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.save": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 8}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}, "datasets.shuffle": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 15}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 7}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.train_model": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.load_attack_data": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 14, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"datasets.delete_shadow": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download.download_kaggle": {"tf": 1}, "download.download_cifar10": {"tf": 1}, "download.download_cifar100": {"tf": 1}, "download.download_all_datasets": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 5}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 12}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.save_attack": {"tf": 1}}, "df": 7}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 10}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 3}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 14, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 6}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"download.download_kaggle": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "main.evaluate": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 4}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.get_model_name": {"tf": 1}, "configuration.from_name": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}, "main.run_script": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 1}}, "l": {"docs": {"configuration.from_rel_path": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"main.prepare": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"download.download_cifar100": {"tf": 1}}, "df": 1}, "docs": {"download.download_cifar10": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}, "fullname": {"root": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}, "attack_pipeline.process_results": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.save_attack": {"tf": 1}}, "df": 29}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets.load_all_datasets": {"tf": 1}, "download.download_all_datasets": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.load_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data_name": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1.4142135623730951}}, "df": 23, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "datasets.shuffle": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1.4142135623730951}, "download.download_all_datasets": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 18}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"datasets.delete_shadow": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download": {"tf": 1}, "download.download_kaggle": {"tf": 1.4142135623730951}, "download.download_cifar10": {"tf": 1.4142135623730951}, "download.download_cifar100": {"tf": 1.4142135623730951}, "download.download_all_datasets": {"tf": 1.4142135623730951}, "download.download_dataset": {"tf": 1.4142135623730951}}, "df": 6}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.save": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 8}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}, "datasets.shuffle": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.load_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data_name": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 21}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "target_models": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1.4142135623730951}, "target_models.train_target_model": {"tf": 1.4142135623730951}}, "df": 18}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.train_model": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.split_attack_data_for_training": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.load_all_datasets": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 12}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 10}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 3}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_model_name": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 20, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "shadow_models": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 22}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"main": {"tf": 1}, "main.parse_args": {"tf": 1}, "main.run_script": {"tf": 1}, "main.prepare": {"tf": 1}, "main.evaluate": {"tf": 1}}, "df": 5}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"download.download_kaggle": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.KaggleModel": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "main.evaluate": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 4}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.get_model_name": {"tf": 1}, "configuration.from_name": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1.4142135623730951}, "attack_pipeline.process_results": {"tf": 1}}, "df": 5}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"main.prepare": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"main.parse_args": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}, "main.run_script": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"shadow_data.get_target_model_rest_data": {"tf": 1}}, "df": 1}}, "l": {"docs": {"configuration.from_rel_path": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"download.download_cifar100": {"tf": 1}}, "df": 1}, "docs": {"download.download_cifar10": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"0": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"0": {"0": {"docs": {"attack_data.shuffle": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}, "docs": {"attack_data.set_seed": {"tf": 3.7416573867739413}, "attack_data.from_target_data": {"tf": 10.770329614269007}, "attack_data.load_attack_data": {"tf": 8.366600265340756}, "attack_data.save": {"tf": 7}, "attack_data.shuffle": {"tf": 8.12403840463596}, "attack_data.balance_attack_data": {"tf": 8.18535277187245}, "attack_data.split_dataset": {"tf": 6.6332495807108}, "attack_data.split_attack_data_for_training": {"tf": 7}, "attack_data.get_attack_data": {"tf": 12.569805089976535}, "attack_data.from_shadow_models": {"tf": 11.40175425099138}, "attack_model.set_seed": {"tf": 3.7416573867739413}, "attack_model.KaggleAttackModel.__init__": {"tf": 3.4641016151377544}, "attack_model.load_model": {"tf": 6}, "attack_model.save_model": {"tf": 6}, "attack_model.train_model": {"tf": 10.14889156509222}, "attack_model.evaluate_models": {"tf": 8.246211251235321}, "attack_model.evaluate_model": {"tf": 7.483314773547883}, "attack_model.get_model_name": {"tf": 4.898979485566356}, "attack_model.get_attack_models": {"tf": 9.38083151964686}, "attack_pipeline.set_seed": {"tf": 3.7416573867739413}, "attack_pipeline.load_target_data": {"tf": 8.18535277187245}, "attack_pipeline.run_pipeline": {"tf": 4.242640687119285}, "attack_pipeline.process_results": {"tf": 4.69041575982343}, "configuration.save_to_file": {"tf": 5.744562646538029}, "configuration.from_abs_path": {"tf": 4}, "configuration.from_rel_path": {"tf": 4}, "configuration.from_name": {"tf": 4}, "configuration.from_cli_options": {"tf": 4}, "datasets.set_seed": {"tf": 3.7416573867739413}, "datasets.shuffle": {"tf": 7.54983443527075}, "datasets.load_attack": {"tf": 6.782329983125268}, "datasets.load_shadow": {"tf": 6.782329983125268}, "datasets.load_numpy_array": {"tf": 3.7416573867739413}, "datasets.save_numpy_array": {"tf": 4.242640687119285}, "datasets.save_target": {"tf": 6.6332495807108}, "datasets.load_target": {"tf": 6.782329983125268}, "datasets.save_attack": {"tf": 6.6332495807108}, "datasets.save_shadow": {"tf": 6.6332495807108}, "datasets.delete_shadow": {"tf": 3.7416573867739413}, "datasets.load_dataset": {"tf": 6}, "datasets.split_dataset": {"tf": 8.426149773176359}, "datasets.load_all_datasets": {"tf": 2.6457513110645907}, "download.download_kaggle": {"tf": 2.6457513110645907}, "download.download_cifar10": {"tf": 2.6457513110645907}, "download.download_cifar100": {"tf": 2.6457513110645907}, "download.download_all_datasets": {"tf": 2.6457513110645907}, "download.download_dataset": {"tf": 3.7416573867739413}, "main.parse_args": {"tf": 3}, "main.run_script": {"tf": 4.69041575982343}, "main.prepare": {"tf": 3.7416573867739413}, "main.evaluate": {"tf": 3.7416573867739413}, "shadow_data.set_seed": {"tf": 3.7416573867739413}, "shadow_data.generate_shadow_data_sampling": {"tf": 7.54983443527075}, "shadow_data.split_shadow_data": {"tf": 8.426149773176359}, "shadow_data.load_shadow_data": {"tf": 3.7416573867739413}, "shadow_data.get_shadow_data_name": {"tf": 3.7416573867739413}, "shadow_data.get_shadow_data": {"tf": 6.855654600401044}, "shadow_data.generate_shadow_data_noisy": {"tf": 9}, "shadow_data.generate_shadow_data_statistic": {"tf": 6.6332495807108}, "shadow_data.hill_climbing": {"tf": 8.06225774829855}, "shadow_data.get_target_model_rest_data": {"tf": 6}, "shadow_models.set_seed": {"tf": 3.7416573867739413}, "shadow_models.get_shadow_model_name": {"tf": 4.69041575982343}, "shadow_models.load_shadow_models_and_datasets": {"tf": 9.643650760992955}, "shadow_models.train_shadow_models": {"tf": 11.269427669584644}, "shadow_models.get_shadow_models_and_datasets": {"tf": 11.269427669584644}, "target_models.set_seed": {"tf": 3.7416573867739413}, "target_models.CifarModel.__init__": {"tf": 2}, "target_models.KaggleModel.__init__": {"tf": 3.4641016151377544}, "target_models.load_model": {"tf": 6}, "target_models.save_model": {"tf": 6}, "target_models.train_model": {"tf": 10.14889156509222}, "target_models.evaluate_model": {"tf": 7.483314773547883}, "target_models.get_model_name": {"tf": 4}, "target_models.get_target_model": {"tf": 5.656854249492381}, "target_models.train_target_model": {"tf": 5.656854249492381}}, "df": 76, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"datasets.split_dataset": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 4}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.save_model": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1.4142135623730951}, "target_models.get_target_model": {"tf": 1.4142135623730951}, "target_models.train_target_model": {"tf": 1.4142135623730951}}, "df": 18}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"shadow_data.split_shadow_data": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}, "main.run_script": {"tf": 1.4142135623730951}, "main.prepare": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}}, "df": 25}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"main.run_script": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"target_models.KaggleModel.__init__": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {"attack_model.get_model_name": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "datasets.split_dataset": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 15}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.run_pipeline": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.run_pipeline": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data.get_shadow_data": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 3}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 8}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_target": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 5}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.7320508075688772}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.7320508075688772}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1.4142135623730951}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1.4142135623730951}, "datasets.save_shadow": {"tf": 1.4142135623730951}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1.4142135623730951}}, "df": 35, "v": {"2": {"docs": {"attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.load_attack_data": {"tf": 1.4142135623730951}, "attack_data.save": {"tf": 1}, "attack_data.shuffle": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_dataset": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 2}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.train_model": {"tf": 1.4142135623730951}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1.4142135623730951}, "datasets.shuffle": {"tf": 1.4142135623730951}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "datasets.split_dataset": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.split_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models.train_model": {"tf": 1.4142135623730951}, "target_models.evaluate_model": {"tf": 1}}, "df": 35}, "docs": {}, "df": 0}, "s": {"docs": {"attack_data.save": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}}, "df": 4}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.save_target": {"tf": 1}, "datasets.load_target": {"tf": 1}, "datasets.save_attack": {"tf": 1}, "datasets.save_shadow": {"tf": 1}, "datasets.delete_shadow": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download.download_dataset": {"tf": 1}}, "df": 9}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1.4142135623730951}, "main.parse_args": {"tf": 1}, "main.evaluate": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 30}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 2.449489742783178}, "attack_data.load_attack_data": {"tf": 2}, "attack_data.save": {"tf": 1.4142135623730951}, "attack_data.shuffle": {"tf": 2}, "attack_data.balance_attack_data": {"tf": 2}, "attack_data.split_dataset": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 2.8284271247461903}, "attack_data.from_shadow_models": {"tf": 2.449489742783178}, "attack_model.train_model": {"tf": 2}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.evaluate_model": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 2}, "attack_pipeline.load_target_data": {"tf": 2}, "datasets.shuffle": {"tf": 2}, "datasets.load_attack": {"tf": 1.4142135623730951}, "datasets.load_shadow": {"tf": 1.4142135623730951}, "datasets.save_target": {"tf": 1.4142135623730951}, "datasets.load_target": {"tf": 1.4142135623730951}, "datasets.save_attack": {"tf": 1.4142135623730951}, "datasets.save_shadow": {"tf": 1.4142135623730951}, "datasets.load_dataset": {"tf": 1.4142135623730951}, "datasets.split_dataset": {"tf": 2}, "shadow_data.generate_shadow_data_sampling": {"tf": 2}, "shadow_data.split_shadow_data": {"tf": 2}, "shadow_data.get_shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 2}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.4142135623730951}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_data.get_target_model_rest_data": {"tf": 1.4142135623730951}, "shadow_models.load_shadow_models_and_datasets": {"tf": 2}, "shadow_models.train_shadow_models": {"tf": 2.449489742783178}, "shadow_models.get_shadow_models_and_datasets": {"tf": 2.449489742783178}, "target_models.train_model": {"tf": 2}, "target_models.evaluate_model": {"tf": 1.4142135623730951}}, "df": 35}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"target_models.KaggleModel.__init__": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 18}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 18}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.balance_attack_data": {"tf": 1.4142135623730951}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.evaluate_models": {"tf": 1.4142135623730951}, "attack_model.get_attack_models": {"tf": 1.4142135623730951}, "datasets.split_dataset": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}}, "df": 13}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.load_attack_data": {"tf": 1}, "attack_data.save": {"tf": 1}, "attack_data.split_attack_data_for_training": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.get_model_name": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "main.evaluate": {"tf": 1}, "shadow_data.split_shadow_data": {"tf": 1}, "shadow_data.load_shadow_data": {"tf": 1}, "shadow_data.get_shadow_data_name": {"tf": 1}, "shadow_data.get_shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.get_target_model_rest_data": {"tf": 1}, "shadow_models.get_shadow_model_name": {"tf": 1}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1}, "shadow_models.train_shadow_models": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.get_model_name": {"tf": 1}, "target_models.get_target_model": {"tf": 1}, "target_models.train_target_model": {"tf": 1}}, "df": 22, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"main.run_script": {"tf": 1}, "main.prepare": {"tf": 1}}, "df": 2}}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.shuffle": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.split_dataset": {"tf": 1}, "attack_model.evaluate_models": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets.load_numpy_array": {"tf": 1}, "datasets.save_numpy_array": {"tf": 1}}, "df": 4}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "datasets.load_attack": {"tf": 1}, "datasets.load_shadow": {"tf": 1}, "datasets.load_target": {"tf": 1}, "target_models.load_model": {"tf": 1}}, "df": 5}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.save_model": {"tf": 1}, "attack_model.train_model": {"tf": 1}, "attack_model.evaluate_model": {"tf": 1}, "attack_model.get_attack_models": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.train_model": {"tf": 1}, "target_models.evaluate_model": {"tf": 1}}, "df": 7, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {"attack_model.evaluate_models": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.train_model": {"tf": 1}, "target_models.train_model": {"tf": 1}}, "df": 2, "s": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 2}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.get_attack_models": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration.from_abs_path": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"datasets.save_numpy_array": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.process_results": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}}}, "doc": {"root": {"0": {"0": {"1": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "7": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {"attack_data": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}, "1": {"0": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "target_models.CifarModel": {"tf": 1}}, "df": 3}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "2": {"3": {"4": {"docs": {"configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "8": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_model.KaggleAttackModel": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 4, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}, "2": {"0": {"0": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3}, "3": {"docs": {"download": {"tf": 1}}, "df": 1}, "5": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "6": {"4": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"attack_data": {"tf": 2.8284271247461903}, "attack_data.set_seed": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 7.54983443527075}, "attack_data.load_attack_data": {"tf": 1.7320508075688772}, "attack_data.save": {"tf": 1.7320508075688772}, "attack_data.shuffle": {"tf": 1.7320508075688772}, "attack_data.balance_attack_data": {"tf": 1.7320508075688772}, "attack_data.split_dataset": {"tf": 1.7320508075688772}, "attack_data.split_attack_data_for_training": {"tf": 1.7320508075688772}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model": {"tf": 1.7320508075688772}, "attack_model.set_seed": {"tf": 1.7320508075688772}, "attack_model.KaggleAttackModel": {"tf": 2}, "attack_model.KaggleAttackModel.__init__": {"tf": 2.8284271247461903}, "attack_model.load_model": {"tf": 2.8284271247461903}, "attack_model.save_model": {"tf": 2.8284271247461903}, "attack_model.train_model": {"tf": 1.7320508075688772}, "attack_model.evaluate_models": {"tf": 1.7320508075688772}, "attack_model.evaluate_model": {"tf": 1.7320508075688772}, "attack_model.get_model_name": {"tf": 1.7320508075688772}, "attack_model.get_attack_models": {"tf": 1.7320508075688772}, "attack_pipeline": {"tf": 1.7320508075688772}, "attack_pipeline.set_seed": {"tf": 1.7320508075688772}, "attack_pipeline.load_target_data": {"tf": 2.449489742783178}, "attack_pipeline.run_pipeline": {"tf": 1.7320508075688772}, "attack_pipeline.process_results": {"tf": 1.7320508075688772}, "configuration": {"tf": 13.038404810405298}, "configuration.save_to_file": {"tf": 2.6457513110645907}, "configuration.from_abs_path": {"tf": 1.7320508075688772}, "configuration.from_rel_path": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 3.4641016151377544}, "configuration.from_cli_options": {"tf": 1.7320508075688772}, "datasets": {"tf": 11.661903789690601}, "datasets.set_seed": {"tf": 1.7320508075688772}, "datasets.shuffle": {"tf": 1.7320508075688772}, "datasets.load_attack": {"tf": 1.7320508075688772}, "datasets.load_shadow": {"tf": 1.7320508075688772}, "datasets.load_numpy_array": {"tf": 1.7320508075688772}, "datasets.save_numpy_array": {"tf": 1.7320508075688772}, "datasets.save_target": {"tf": 1.7320508075688772}, "datasets.load_target": {"tf": 1.7320508075688772}, "datasets.save_attack": {"tf": 1.7320508075688772}, "datasets.save_shadow": {"tf": 1.7320508075688772}, "datasets.delete_shadow": {"tf": 1.7320508075688772}, "datasets.load_dataset": {"tf": 2.8284271247461903}, "datasets.split_dataset": {"tf": 1.7320508075688772}, "datasets.load_all_datasets": {"tf": 1.7320508075688772}, "download": {"tf": 7.681145747868608}, "download.download_kaggle": {"tf": 1.7320508075688772}, "download.download_cifar10": {"tf": 1.7320508075688772}, "download.download_cifar100": {"tf": 1.7320508075688772}, "download.download_all_datasets": {"tf": 1.7320508075688772}, "download.download_dataset": {"tf": 1.7320508075688772}, "main": {"tf": 1.7320508075688772}, "main.parse_args": {"tf": 1.7320508075688772}, "main.run_script": {"tf": 1.7320508075688772}, "main.prepare": {"tf": 1.7320508075688772}, "main.evaluate": {"tf": 1.7320508075688772}, "shadow_data": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.split_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.load_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.get_shadow_data_name": {"tf": 1.7320508075688772}, "shadow_data.get_shadow_data": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_noisy": {"tf": 2.449489742783178}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.7320508075688772}, "shadow_data.hill_climbing": {"tf": 3.1622776601683795}, "shadow_data.get_target_model_rest_data": {"tf": 1.7320508075688772}, "shadow_models": {"tf": 1.7320508075688772}, "shadow_models.set_seed": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_model_name": {"tf": 1.7320508075688772}, "shadow_models.load_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "shadow_models.train_shadow_models": {"tf": 1.7320508075688772}, "shadow_models.get_shadow_models_and_datasets": {"tf": 3.1622776601683795}, "target_models": {"tf": 13.038404810405298}, "target_models.set_seed": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 2.8284271247461903}, "target_models.KaggleModel": {"tf": 2}, "target_models.KaggleModel.__init__": {"tf": 2.8284271247461903}, "target_models.load_model": {"tf": 2.8284271247461903}, "target_models.save_model": {"tf": 2.8284271247461903}, "target_models.train_model": {"tf": 1.7320508075688772}, "target_models.evaluate_model": {"tf": 1.7320508075688772}, "target_models.get_model_name": {"tf": 1.7320508075688772}, "target_models.get_target_model": {"tf": 1.7320508075688772}, "target_models.train_target_model": {"tf": 1.7320508075688772}}, "df": 89, "c": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 5}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "f": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 3}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "configuration.from_name": {"tf": 1.4142135623730951}, "configuration.from_cli_options": {"tf": 1}}, "df": 4, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 2}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}}, "df": 4}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "+": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "datasets": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 4}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 2}}, "df": 2}, "l": {"docs": {}, "df": 0, "l": {"docs": {"datasets": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.save_to_file": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"1": {"0": {"0": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download": {"tf": 1}}, "df": 3}, "docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "download": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}}, "df": 4, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 2}}, "df": 1}}}}}}, "docs": {}, "df": 0}, "docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "n": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "target_models": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 8}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1.7320508075688772}, "attack_data.from_shadow_models": {"tf": 1.7320508075688772}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "attack_pipeline.set_seed": {"tf": 1}, "configuration": {"tf": 2.8284271247461903}, "configuration.save_to_file": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 1.4142135623730951}, "datasets": {"tf": 3}, "datasets.set_seed": {"tf": 1}, "shadow_data": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 2}, "shadow_data.generate_shadow_data_statistic": {"tf": 1.7320508075688772}, "shadow_data.hill_climbing": {"tf": 2}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 2}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 2.23606797749979}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}}, "df": 31, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}, "m": {"docs": {"datasets": {"tf": 1.4142135623730951}, "target_models": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_shadow_models": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "y": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1}, "attack_model.set_seed": {"tf": 1.4142135623730951}, "attack_pipeline.set_seed": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1.4142135623730951}, "shadow_data.set_seed": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.set_seed": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1.4142135623730951}}, "df": 11}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "download": {"tf": 1}, "shadow_data": {"tf": 1}, "target_models": {"tf": 1}}, "df": 8}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.23606797749979}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 2.8284271247461903}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 2.449489742783178}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 17}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2, "n": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data.hill_climbing": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "h": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}, "f": {"docs": {"datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 1}}, "df": 2}, "w": {"docs": {}, "df": 0, "o": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_data": {"tf": 1.7320508075688772}, "attack_data.from_target_data": {"tf": 2.23606797749979}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_noisy": {"tf": 2.23606797749979}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_target_data": {"tf": 1}, "datasets": {"tf": 3.1622776601683795}, "datasets.load_dataset": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 8, "s": {"docs": {"attack_data.balance_attack_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "datasets": {"tf": 2}, "download": {"tf": 1.4142135623730951}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}}, "df": 6, "[": {"0": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2, ":": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"download": {"tf": 3.1622776601683795}}, "df": 1, "s": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "datasets": {"tf": 2}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 6}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"attack_data": {"tf": 1}, "attack_data.set_seed": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}, "shadow_models.set_seed": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 22}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4, "s": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 8}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.23606797749979}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1}}, "df": 13}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2.6457513110645907}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 10, "s": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "configuration.from_name": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "t": {"docs": {"target_models": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "configuration": {"tf": 1.7320508075688772}, "configuration.save_to_file": {"tf": 1}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "datasets": {"tf": 2.6457513110645907}, "datasets.load_dataset": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 16, "t": {"docs": {"download": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1.7320508075688772}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1}, "download": {"tf": 1.7320508075688772}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 9, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1, "d": {"docs": {"attack_data.from_target_data": {"tf": 1}, "attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 10}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}}}}, "+": {"docs": {}, "df": 0, "b": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {"configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.from_abs_path": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.get_attack_data": {"tf": 1.4142135623730951}, "attack_data.from_shadow_models": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1.7320508075688772}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 2}, "target_models.CifarModel.__init__": {"tf": 1.7320508075688772}, "target_models.KaggleModel.__init__": {"tf": 1.7320508075688772}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 13, "s": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}, "target_models": {"tf": 2.8284271247461903}}, "df": 9, "[": {"0": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "download": {"tf": 1}, "shadow_data": {"tf": 1}, "target_models": {"tf": 1}}, "df": 5}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1}}, "df": 2, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {"shadow_data.hill_climbing": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.hill_climbing": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 2}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 12}, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.7320508075688772}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models": {"tf": 1.4142135623730951}, "target_models.set_seed": {"tf": 1}}, "df": 10, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"attack_data.from_target_data": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1.7320508075688772}}, "df": 8}}}}, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"datasets": {"tf": 1.7320508075688772}}, "df": 1, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}}}, "o": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1, "f": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.save_model": {"tf": 1}, "configuration": {"tf": 2}, "target_models": {"tf": 1.7320508075688772}, "target_models.save_model": {"tf": 1}}, "df": 4, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_target_data": {"tf": 1}, "attack_pipeline.load_target_data": {"tf": 1}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "configuration.from_name": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 7}, "n": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "configuration": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 5, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"configuration.from_name": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1}}, "df": 3}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"attack_data.from_shadow_models": {"tf": 1}, "datasets": {"tf": 2.23606797749979}, "shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "target_models": {"tf": 1}, "target_models.get_target_model": {"tf": 1.4142135623730951}}, "df": 6, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"configuration": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "target_models.get_target_model": {"tf": 1}}, "df": 4}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1.4142135623730951}, "shadow_data": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 6, "e": {"docs": {"attack_data": {"tf": 1}, "attack_model.KaggleAttackModel": {"tf": 1}, "datasets": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 4}, "c": {"docs": {}, "df": 0, "e": {"docs": {"download": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "configuration": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "attack_data.balance_attack_data": {"tf": 1}, "attack_model.KaggleAttackModel.__init__": {"tf": 1}, "configuration": {"tf": 1.7320508075688772}, "configuration.from_name": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 13}, "u": {"docs": {}, "df": 0, "t": {"docs": {"attack_data.from_shadow_models": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}}, "df": 3}}, "s": {"docs": {"configuration.from_cli_options": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"attack_data": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}, "s": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "target_models": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}}}, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"download": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 3}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 1}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 13}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"attack_data": {"tf": 1.4142135623730951}}, "df": 1}, "y": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"target_models.CifarModel": {"tf": 1.7320508075688772}, "target_models.KaggleModel": {"tf": 1.7320508075688772}}, "df": 2}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"target_models.get_target_model": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "attack_data.get_attack_data": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"attack_pipeline.load_target_data": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"attack_data": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 2, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"configuration": {"tf": 1}}, "df": 1, "u": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"configuration": {"tf": 1.4142135623730951}, "configuration.from_rel_path": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}, "datasets": {"tf": 1.4142135623730951}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 4}, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}, "j": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"attack_data": {"tf": 1.4142135623730951}}, "df": 1}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"configuration": {"tf": 1.7320508075688772}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}}, "df": 3}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration.save_to_file": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}, "s": {"docs": {"target_models": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1, "t": {"docs": {"attack_data": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1.7320508075688772}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_data.balance_attack_data": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1}, "download": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "attack_model.load_model": {"tf": 1.4142135623730951}, "attack_model.save_model": {"tf": 1.4142135623730951}, "configuration": {"tf": 1.4142135623730951}, "configuration.save_to_file": {"tf": 1}, "configuration.from_name": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}, "target_models.load_model": {"tf": 1.4142135623730951}, "target_models.save_model": {"tf": 1.4142135623730951}}, "df": 10}}}}, "g": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "datasets": {"tf": 1}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 8}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}, "d": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"attack_data.from_target_data": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_model.load_model": {"tf": 1}, "attack_model.save_model": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1}, "datasets": {"tf": 2}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}, "target_models.load_model": {"tf": 1}, "target_models.save_model": {"tf": 1}}, "df": 14}, "y": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.generate_shadow_data_sampling": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1}}, "df": 6}, "u": {"docs": {}, "df": 0, "t": {"docs": {"datasets": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"attack_data.from_target_data": {"tf": 1}, "configuration": {"tf": 1}, "datasets": {"tf": 1.7320508075688772}, "target_models.CifarModel": {"tf": 1}, "target_models.KaggleModel": {"tf": 1}}, "df": 5, "d": {"docs": {"attack_data.set_seed": {"tf": 1}, "attack_model.set_seed": {"tf": 1}, "attack_pipeline.set_seed": {"tf": 1}, "configuration.save_to_file": {"tf": 1.4142135623730951}, "datasets": {"tf": 1.4142135623730951}, "datasets.set_seed": {"tf": 1}, "shadow_data.set_seed": {"tf": 1}, "shadow_models.set_seed": {"tf": 1}, "target_models.set_seed": {"tf": 1}}, "df": 9}, "s": {"docs": {"configuration": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"configuration": {"tf": 1}, "datasets": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}, "shadow_data.generate_shadow_data_statistic": {"tf": 1}}, "df": 4}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"download": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_pipeline.load_target_data": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"attack_data.get_attack_data": {"tf": 1}, "attack_data.from_shadow_models": {"tf": 1}, "shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 3}, "e": {"docs": {}, "df": 0, "d": {"docs": {"attack_data.get_attack_data": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"attack_model.KaggleAttackModel": {"tf": 1}, "target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1.4142135623730951}, "target_models.CifarModel": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1.4142135623730951}, "target_models.KaggleModel.__init__": {"tf": 1.4142135623730951}}, "df": 4}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"attack_model.KaggleAttackModel.__init__": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models.CifarModel.__init__": {"tf": 1}, "target_models.KaggleModel.__init__": {"tf": 1}}, "df": 4, "s": {"docs": {"shadow_models.get_shadow_models_and_datasets": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"attack_model.load_model": {"tf": 1}, "configuration": {"tf": 1.4142135623730951}, "configuration.from_abs_path": {"tf": 1}, "configuration.from_rel_path": {"tf": 1}, "configuration.from_name": {"tf": 1}, "configuration.from_cli_options": {"tf": 1}, "datasets": {"tf": 2}, "datasets.load_dataset": {"tf": 1}, "shadow_models.get_shadow_models_and_datasets": {"tf": 1}, "target_models": {"tf": 2}, "target_models.load_model": {"tf": 1}, "target_models.get_target_model": {"tf": 1}}, "df": 12, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"target_models.CifarModel": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"target_models.CifarModel": {"tf": 1.4142135623730951}, "target_models.KaggleModel": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "y": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "l": {"docs": {"configuration": {"tf": 2.23606797749979}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"configuration": {"tf": 1.7320508075688772}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {"configuration": {"tf": 1}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"configuration": {"tf": 3.1622776601683795}, "datasets": {"tf": 2}, "target_models": {"tf": 2}}, "df": 3}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}}}}}}, "k": {"docs": {"datasets": {"tf": 1}, "shadow_data.hill_climbing": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"datasets": {"tf": 4.123105625617661}, "datasets.load_dataset": {"tf": 2.449489742783178}, "download": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"target_models": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"datasets": {"tf": 1}}, "df": 1, "s": {"docs": {"shadow_data.hill_climbing": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"datasets": {"tf": 1}, "datasets.load_dataset": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"shadow_data": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"shadow_data.generate_shadow_data_noisy": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {"target_models.KaggleModel": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"target_models": {"tf": 2.6457513110645907}}, "df": 1}}}}}}, "x": {"docs": {"datasets": {"tf": 1.4142135623730951}}, "df": 1}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; // mirrored in build-search-index.js (part 1) // Also split on html tags. this is a cheap heuristic, but good enough. diff --git a/shadow_data.html b/shadow_data.html index 39edf9f..c9b1733 100644 --- a/shadow_data.html +++ b/shadow_data.html @@ -105,418 +105,489 @@

16environ["TF_CPP_MIN_LOG_LEVEL"] = "2" # NOQA 17 18import tensorflow as tf - 19from tensorflow.python.framework import random_seed - 20from tensorflow.data import Dataset # pyright: ignore - 21from tensorflow.keras import Sequential # pyright: ignore - 22 - 23global_seed: int = 1234 - 24globalRandomGen = np.random.default_rng(global_seed) - 25 + 19from tensorflow.keras.utils import to_categorical # pyright: ignore + 20from tensorflow.python.framework import random_seed + 21from tensorflow.data import Dataset # pyright: ignore + 22from tensorflow.keras import Sequential # pyright: ignore + 23 + 24global_seed: int = 1234 + 25globalRandomGen = np.random.default_rng(global_seed) 26 - 27def set_seed(new_seed: int): - 28 """ - 29 Set the global seed that will be used for all functions that include - 30 randomness. - 31 """ - 32 global global_seed - 33 global_seed = new_seed - 34 np.random.seed(global_seed) - 35 random.seed(global_seed) - 36 random_seed.set_seed(global_seed) - 37 + 27 + 28def set_seed(new_seed: int): + 29 """ + 30 Set the global seed that will be used for all functions that include + 31 randomness. + 32 """ + 33 global global_seed + 34 global_seed = new_seed + 35 np.random.seed(global_seed) + 36 random.seed(global_seed) + 37 random_seed.set_seed(global_seed) 38 - 39def generate_shadow_data_sampling(original_data: Dataset) -> Dataset: - 40 """ - 41 Generate synthetic data for the shadow models by randomly sampling data - 42 points from the original data set. - 43 """ - 44 sample_dataset: Dataset = tf.data.Dataset.sample_from_datasets( - 45 [original_data], seed=global_seed, stop_on_empty_dataset=True) - 46 return sample_dataset - 47 + 39 + 40def generate_shadow_data_sampling(original_data: Dataset) -> Dataset: + 41 """ + 42 Generate synthetic data for the shadow models by randomly sampling data + 43 points from the original data set. + 44 """ + 45 sample_dataset: Dataset = tf.data.Dataset.sample_from_datasets( + 46 [original_data], seed=global_seed, stop_on_empty_dataset=True) + 47 return sample_dataset 48 - 49def split_shadow_data(config: Dict, shadowData: ds.Dataset) -> List[ds.Dataset]: - 50 print("Splitting shadow data into subsets.") - 51 numSubsets = config["shadowModels"]["number"] - 52 return ds.split_dataset(shadowData, numSubsets) - 53 + 49 + 50def split_shadow_data(config: Dict, shadowData: ds.Dataset) -> List[ds.Dataset]: + 51 print("Splitting shadow data into subsets.") + 52 numSubsets = config["shadowModels"]["number"] + 53 return ds.split_dataset(shadowData, numSubsets) 54 - 55def load_shadow_data(config: Dict): - 56 dataName = get_shadow_data_name(config) - 57 return ds.load_shadow(dataName, verbose=config["verbose"]) - 58 + 55 + 56def load_shadow_data(config: Dict): + 57 dataName = get_shadow_data_name(config) + 58 return ds.load_shadow(dataName, verbose=config["verbose"]) 59 - 60def get_shadow_data_name(config: Dict): - 61 shadowConfig = config["shadowDataset"] - 62 method = shadowConfig["method"] - 63 targetDataName = config["targetDataset"]["name"] - 64 dataSize = shadowConfig["size"] - 65 hyperpars = shadowConfig[method]["hyperparameters"] - 66 if method == "noisy": - 67 dataName = f'{method}_fraction_{hyperpars["fraction"]}_size_{dataSize}_target_{targetDataName}' - 68 elif method == "hill_climbing": - 69 dataName = \ - 70 f'{method}_' + \ - 71 f'{targetDataName}_' + \ - 72 f'kmax_{hyperpars["k_max"]}_' + \ - 73 f'kmin_{hyperpars["k_min"]}_' + \ - 74 f'confmin_{hyperpars["conf_min"]}_' + \ - 75 f'rejmax_{hyperpars["rej_max"]}_' + \ - 76 f'itermax_{hyperpars["iter_max"]}_' + \ - 77 f'size_{dataSize}' - 78 elif method == "original": - 79 dataName = \ - 80 f'{method}_' + \ - 81 f'{targetDataName}_' + \ - 82 f'original_data_' + \ - 83 f'size_{dataSize}' - 84 else: - 85 raise ValueError(f"{method} is not a valid shadow data method.") - 86 return dataName - 87 - 88 - 89def get_shadow_data(config: Dict, targetDataset, targetModel) -> ds.Dataset: - 90 verbose = config["verbose"] - 91 shadowConfig = config["shadowDataset"] - 92 method = shadowConfig["method"] - 93 dataSize = shadowConfig["size"] - 94 hyperpars = shadowConfig[method]["hyperparameters"] - 95 dataName = get_shadow_data_name(config) - 96 - 97 try: - 98 print("Loading shadow data from disk.") - 99 shadowData = load_shadow_data(config) -100 except BaseException: -101 print("Loading failed, generating shadow data.") -102 -103 if method == "noisy": -104 shadowData = generate_shadow_data_noisy(targetDataset, dataSize, **hyperpars) -105 elif method == "hill_climbing": -106 shadowData = hill_climbing(targetModel, dataSize, **hyperpars) -107 elif method == "original": -108 modelName = tm.get_model_name(config) -109 restDataName = modelName + "_rest_data" -110 shadowData = ds.load_target(restDataName).take(dataSize) -111 else: -112 raise ValueError(f"{method} is not a valid shadow data method.") -113 -114 if verbose: -115 print(f"Saving shadow data {dataName} to disk.") -116 try: -117 ds.save_shadow(shadowData, dataName) -118 except BaseException: -119 print(f"Failed to save shadow data {dataName} to disk.") -120 ds.delete_shadow(dataName) -121 raise + 60 + 61def get_shadow_data_name(config: Dict): + 62 shadowConfig = config["shadowDataset"] + 63 method = shadowConfig["method"] + 64 targetDataName = config["targetDataset"]["name"] + 65 dataSize = shadowConfig["size"] + 66 hyperpars = shadowConfig[method]["hyperparameters"] + 67 if method == "noisy": + 68 dataName = f'{method}_fraction_{hyperpars["fraction"]}_size_{dataSize}_target_{targetDataName}' + 69 elif method == "hill_climbing": + 70 dataName = \ + 71 f'{method}_' + \ + 72 f'{targetDataName}_' + \ + 73 f'kmax_{hyperpars["k_max"]}_' + \ + 74 f'kmin_{hyperpars["k_min"]}_' + \ + 75 f'confmin_{hyperpars["conf_min"]}_' + \ + 76 f'rejmax_{hyperpars["rej_max"]}_' + \ + 77 f'itermax_{hyperpars["iter_max"]}_' + \ + 78 f'size_{dataSize}' + 79 elif method == "original": + 80 dataName = \ + 81 f'{method}_' + \ + 82 f'{targetDataName}_' + \ + 83 f'original_data_' + \ + 84 f'size_{dataSize}' + 85 elif method == "statistic": + 86 dataName = \ + 87 f'{method}_' + \ + 88 f'{targetDataName}_' + \ + 89 f'statistic_' + \ + 90 f'size_{dataSize}' + 91 else: + 92 raise ValueError(f"{method} is not a valid shadow data method.") + 93 return dataName + 94 + 95 + 96def get_shadow_data(config: Dict, targetDataset, targetModel) -> ds.Dataset: + 97 verbose = config["verbose"] + 98 shadowConfig = config["shadowDataset"] + 99 method = shadowConfig["method"] +100 dataSize = shadowConfig["size"] +101 hyperpars = shadowConfig[method]["hyperparameters"] +102 dataName = get_shadow_data_name(config) +103 +104 try: +105 print("Loading shadow data from disk.") +106 shadowData = load_shadow_data(config) +107 except BaseException: +108 print("Loading failed, generating shadow data.") +109 +110 if method == "noisy": +111 shadowData = generate_shadow_data_noisy(targetDataset, dataSize, **hyperpars) +112 elif method == "hill_climbing": +113 shadowData = hill_climbing(targetModel, dataSize, **hyperpars) +114 elif method == "original": +115 modelName = tm.get_model_name(config) +116 restDataName = modelName + "_rest_data" +117 shadowData = ds.load_target(restDataName).take(dataSize) +118 elif method == "statistic": +119 shadowData = generate_shadow_data_statistic(config, **hyperpars) +120 else: +121 raise ValueError(f"{method} is not a valid shadow data method.") 122 -123 return shadowData -124 -125 -126def _make_data_record_noisy(features, label, fraction): -127 # TODO: numFeatures is hardcoded -128 numFeatures = 600 -129 k = int(numFeatures * fraction) -130 return _randomize_features(features, k=k).reshape(numFeatures), label +123 if verbose: +124 print(f"Saving shadow data {dataName} to disk.") +125 try: +126 ds.save_shadow(shadowData, dataName) +127 except BaseException: +128 print(f"Failed to save shadow data {dataName} to disk.") +129 ds.delete_shadow(dataName) +130 raise 131 -132 -133def _make_dataset_noisy(original_data: Dataset, fraction: float) -> Dataset: -134 """ -135 Returns new dataset, where each element has a fraction of its features -136 flipped. -137 """ -138 return original_data.map( -139 lambda x, y: -140 tf.numpy_function(func=_make_data_record_noisy, inp=(x, y, fraction), Tout=[tf.int64, tf.int64]) -141 ) -142 -143 -144def generate_shadow_data_noisy(original_data: Dataset, outputSize: int, fraction: float = 0.1) -> Dataset: -145 """ -146 Generate synthetic data for the shadow models by using a noisy version of -147 the original data. -148 Returns only the noisy data, no the oririnal data. -149 -150 Arguments: -151 fraction: percentage of labels that will be flipped per data record to -152 make it "noisy" -153 """ -154 inputSize = original_data.cardinality().numpy() -155 # Since outputSize % inputSize not always 0, we have to fill the gap with a subset -156 # of the full input data. To avoid bias, shuffle the input data. -157 noisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction) +132 return shadowData +133 +134 +135def _make_data_record_noisy(features, label, fraction): +136 # TODO: numFeatures is hardcoded +137 numFeatures = 600 +138 k = int(numFeatures * fraction) +139 return _randomize_features(features, k=k).reshape(numFeatures), label +140 +141 +142def _make_dataset_noisy(original_data: Dataset, fraction: float) -> Dataset: +143 """ +144 Returns new dataset, where each element has a fraction of its features +145 flipped. +146 """ +147 return original_data.map( +148 lambda x, y: +149 tf.numpy_function(func=_make_data_record_noisy, inp=(x, y, fraction), Tout=[tf.int64, tf.int64]) +150 ) +151 +152 +153def generate_shadow_data_noisy(original_data: Dataset, outputSize: int, fraction: float = 0.1) -> Dataset: +154 """ +155 Generate synthetic data for the shadow models by using a noisy version of +156 the original data. +157 Returns only the noisy data, no the oririnal data. 158 -159 if inputSize >= outputSize: -160 return noisySet.take(outputSize) -161 -162 numNoisyVersions = int(np.floor(outputSize / inputSize)) -163 # How many records to add after collecting numNoisyVersions sets -164 offset = outputSize % inputSize -165 -166 for _ in range(numNoisyVersions - 1): -167 newNoisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction) -168 noisySet = noisySet.concatenate(newNoisySet) -169 -170 offsetSet = _make_dataset_noisy( -171 ds.shuffle(original_data), fraction).take(offset) -172 return noisySet.concatenate(offsetSet) -173 +159 Arguments: +160 fraction: percentage of labels that will be flipped per data record to +161 make it "noisy" +162 """ +163 inputSize = original_data.cardinality().numpy() +164 # Since outputSize % inputSize not always 0, we have to fill the gap with a subset +165 # of the full input data. To avoid bias, shuffle the input data. +166 noisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction) +167 +168 if inputSize >= outputSize: +169 return noisySet.take(outputSize) +170 +171 numNoisyVersions = int(np.floor(outputSize / inputSize)) +172 # How many records to add after collecting numNoisyVersions sets +173 offset = outputSize % inputSize 174 -175def generate_shadow_data_statistic(original_data: Dataset) -> Dataset: -176 """ -177 Generate synthetic data for the shadow models by using the marginal -178 distribution of features in the original dataset. -179 """ -180 pass -181 +175 for _ in range(numNoisyVersions - 1): +176 newNoisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction) +177 noisySet = noisySet.concatenate(newNoisySet) +178 +179 offsetSet = _make_dataset_noisy( +180 ds.shuffle(original_data), fraction).take(offset) +181 return noisySet.concatenate(offsetSet) 182 -183def _generate_labels(classes: int, size: int) -> NDArray: -184 """ -185 Generate a numpy array of size `size`, where the values are integers between -186 0 and `classes` - 1, distributed as evenly as possible. -187 -188 This array will be used to generate a synthetic array of features for each -189 array element. -190 """ -191 -192 records_per_class: int = int(size / classes) -193 extra_records: int = size % classes -194 -195 labels: NDArray = np.zeros((size, 1)) -196 index: int = 0 -197 -198 for x in range(classes): -199 if x < extra_records: -200 records_for_this_class = records_per_class + 1 -201 else: -202 records_for_this_class = records_per_class -203 for y in range(records_for_this_class): -204 labels[index + y, 0] = x -205 index = index + records_for_this_class -206 -207 return labels +183def _get_filter_fn(label: int): +184 +185 wantedLabel = np.int64(label) +186 def _filter_fn(_, y): return tf.math.equal(wantedLabel, tf.math.argmax(y)) +187 return _filter_fn +188 +189def _compute_kaggle_marginals(config): +190 dataName = config["targetDataset"]["name"] +191 originalData = ds.load_dataset(dataName) +192 numFeatures = iter(originalData).get_next()[0].numpy().shape[0] +193 numLabels = iter(originalData).get_next()[1].numpy().shape[0] +194 marginalProbabilities = np.zeros((100,600)) +195 # For each class, count binary feature values to get marginal +196 for _class in range(numLabels): +197 if config["verbose"]: +198 print(f"Computing marginal probability for class {_class}/{numLabels}") +199 filteredData = originalData.filter(_get_filter_fn(_class)) +200 initialCount = np.array([0]*numFeatures) +201 countedFeatures = filteredData.reduce(initialCount, lambda oldCount, dataPoint: oldCount + dataPoint[0]).numpy() +202 sampleSize = filteredData.cardinality() +203 if sampleSize <= 0 and config["verbose"]: # tf uses constants < 0 to indicate unknown cardinality +204 sampleSize = len(list(filteredData.as_numpy_iterator())) +205 marginalProbability = countedFeatures / sampleSize +206 marginalProbabilities[_class] = marginalProbability +207 return marginalProbabilities 208 -209 -210def _randomize_features(data: NDArray, k: int, -211 numFeatures: int = 600) -> NDArray: -212 -213 featuresToFlip = random.sample(range(numFeatures), k) -214 -215 data = data.reshape((1, numFeatures)) -216 -217 data[0][featuresToFlip] ^= 1 -218 -219 return data -220 +209def generate_shadow_data_statistic(config: Dict, **hyperpars) -> Dataset: +210 """ +211 Generate synthetic data for the shadow models by using the marginal +212 distribution of features in the original dataset. +213 """ +214 # TODO: Kaggle specific +215 size = hyperpars["size"] +216 try: +217 marginalProbabilities = ds.load_numpy_array("kaggle_marginals.npy") +218 except: +219 marginalProbabilities = _compute_kaggle_marginals(config) +220 ds.save_numpy_array("kaggle_marginals.npy",marginalProbabilities) 221 -222def _get_random_record(numFeatures: int, -223 randomGenerator=globalRandomGen) -> NDArray: -224 -225 x = randomGenerator.integers(0, high=1, endpoint=True, size=numFeatures) -226 -227 return x.reshape((1, numFeatures)) +222 # Generate new records +223 numClasses = marginalProbabilities.shape[0] +224 numFeatures = marginalProbabilities.shape[1] +225 +226 features: NDArray = np.zeros((size,numFeatures)).astype(np.int32) +227 labels: NDArray = np.zeros((size,numClasses)).astype(np.int32) 228 -229 -230def _randomize_features_batched( -231 data: NDArray, k: int, batchSize: int, numFeatures: int = 600) -> NDArray: -232 -233 outputdata = np.repeat(data.reshape((numFeatures, 1)), batchSize, axis=1).transpose() -234 -235 import numpy.testing as tt -236 tt.assert_equal(outputdata[0], data.reshape(numFeatures)) -237 -238 # Flip features of the first record -239 featuresToFlip = random.sample(range(numFeatures), k) -240 outputdata[0, featuresToFlip] ^= 1 +229 recordsPerClass = int(size/numClasses) +230 +231 for _class in range(numClasses): +232 print(f"Generating records for class {_class}") +233 index_start = _class * recordsPerClass +234 index_end = (_class + 1) * recordsPerClass +235 # for index in range(index_start, index_end): +236 # labels[index] = to_categorical(_class, num_classes = numClasses) +237 labels[index_start:index_end] = np.tile(to_categorical(_class, num_classes = +238 numClasses),recordsPerClass).reshape(recordsPerClass,numClasses) +239 gen = np.random.default_rng(seed=global_seed) +240 marginalProbability = marginalProbabilities[_class] 241 -242 # Flip all further records based on the previous one -243 for i in range(1,batchSize): -244 featuresToFlip = random.sample(range(numFeatures), k) -245 outputdata[i,:] = outputdata[i-1, :] -246 outputdata[i, featuresToFlip] ^= 1 -247 -248 return outputdata -249 +242 for feature in range(numFeatures): +243 print(f"\tGenerating records for feature {feature}") +244 probability = marginalProbability[feature] +245 # sample one feature for all records in this class at once +246 sampledFeature = gen.choice([0,1], p=[1-probability,probability],size = recordsPerClass) +247 features[index_start:index_end,feature] = sampledFeature +248 +249 return Dataset.from_tensor_slices((features, labels)) 250 -251def _rebatch(x, k, batchSize, targetModel) -> Tuple[NDArray, NDArray, int]: -252 xs = _randomize_features_batched(x, k, batchSize) -253 ys = targetModel.predict(xs, batch_size=batchSize, verbose=0) -254 return xs, ys, 0 -255 -256 -257def _generate_synthetic_record_batched(label: int, -258 targetModel: Sequential, -259 k_max: int = 200, -260 k_min: int = 5, -261 conf_min: float = 0.05, -262 rej_max: int = 20, -263 iter_max: int = 200, -264 batchSize: int = 1) -> Optional[NDArray]: -265 """ -266 Synthesize a data record, using Algorithm 1 from Shokri et als -267 paper "Membership Inference Attacks against Machine Learning Models". -268 """ -269 assert label < 100 and label >= 0 -270 -271 # Initalization -272 batchIndex: int = 0 -273 numFeatures: int = 600 -274 kWasUpdated = False -275 k = k_max -276 y_c_star = 0 -277 j = 0 -278 x = _get_random_record(numFeatures) -279 haveSampled = False +251 +252 +253 +254def _generate_labels(classes: int, size: int) -> NDArray: +255 """ +256 Generate a numpy array of size `size`, where the values are integers between +257 0 and `classes` - 1, distributed as evenly as possible. +258 +259 This array will be used to generate a synthetic array of features for each +260 array element. +261 """ +262 +263 records_per_class: int = int(size / classes) +264 extra_records: int = size % classes +265 +266 labels: NDArray = np.zeros((size, 1)) +267 index: int = 0 +268 +269 for x in range(classes): +270 if x < extra_records: +271 records_for_this_class = records_per_class + 1 +272 else: +273 records_for_this_class = records_per_class +274 for y in range(records_for_this_class): +275 labels[index + y, 0] = x +276 index = index + records_for_this_class +277 +278 return labels +279 280 -281 if batchSize == 1: -282 xs = x.reshape((1, 600)) -283 ys = targetModel.predict(xs, batch_size=batchSize, verbose=0) -284 else: -285 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) -286 -287 # Controls number of iterations -288 for i in range(iter_max): +281def _randomize_features(data: NDArray, k: int, +282 numFeatures: int = 600) -> NDArray: +283 +284 featuresToFlip = random.sample(range(numFeatures), k) +285 +286 data = data.reshape((1, numFeatures)) +287 +288 data[0][featuresToFlip] ^= 1 289 -290 x = xs[batchIndex] -291 y = ys[batchIndex] -292 y_c = y[label] -293 predictedClass = np.argmax(y, axis=0) -294 -295 if y_c >= y_c_star: -296 if y_c > conf_min and predictedClass == label: -297 # print(f"Now sampling! {batchIndex},{y_c},{y_c_star}") -298 haveSampled = True -299 if y_c > globalRandomGen.random(): -300 return x.reshape((1, numFeatures)) -301 -302 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) -303 y_c_star = y_c -304 j = 0 -305 continue -306 else: -307 j = j + 1 -308 if j > rej_max and (k != k_min) and haveSampled: -309 k = int(max(k_min, np.ceil(k / 2))) -310 j = 0 -311 kWasUpdated = True +290 return data +291 +292 +293def _get_random_record(numFeatures: int, +294 randomGenerator=globalRandomGen) -> NDArray: +295 +296 x = randomGenerator.integers(0, high=1, endpoint=True, size=numFeatures) +297 +298 return x.reshape((1, numFeatures)) +299 +300 +301def _randomize_features_batched( +302 data: NDArray, k: int, batchSize: int, numFeatures: int = 600) -> NDArray: +303 +304 outputdata = np.repeat(data.reshape((numFeatures, 1)), batchSize, axis=1).transpose() +305 +306 import numpy.testing as tt +307 tt.assert_equal(outputdata[0], data.reshape(numFeatures)) +308 +309 # Flip features of the first record +310 featuresToFlip = random.sample(range(numFeatures), k) +311 outputdata[0, featuresToFlip] ^= 1 312 -313 batchExhausted = (batchIndex == batchSize - 1) -314 -315 if batchExhausted or kWasUpdated: -316 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) -317 kWasUpdated = False -318 else: -319 batchIndex += 1 +313 # Flip all further records based on the previous one +314 for i in range(1,batchSize): +315 featuresToFlip = random.sample(range(numFeatures), k) +316 outputdata[i,:] = outputdata[i-1, :] +317 outputdata[i, featuresToFlip] ^= 1 +318 +319 return outputdata 320 -321 # if (i % 20) == 0: -322 # print(f"{i}/{iter_max}, y_c/y_c*: {y_c:.1%}/{y_c_star:.1%}, pred/class: {predictedClass}/{label}") -323 -324 return None -325 +321 +322def _rebatch(x, k, batchSize, targetModel) -> Tuple[NDArray, NDArray, int]: +323 xs = _randomize_features_batched(x, k, batchSize) +324 ys = targetModel.predict(xs, batch_size=batchSize, verbose=0) +325 return xs, ys, 0 326 -327def _generate_synthetic_record(label: int, -328 targetModel: Sequential, -329 k_max: int = 200, -330 k_min: int = 5, -331 conf_min: float = 0.05, -332 rej_max: int = 20, -333 iter_max: int = 200, -334 batchSize: int = 1) -> Optional[NDArray]: -335 """ -336 Synthesize a data record, using Algorithm 1 from Shokri et als -337 paper "Membership Inference Attacks against Machine Learning Models". -338 """ -339 assert label < 100 and label >= 0 -340 -341 # Initalization -342 numFeatures: int = 600 -343 k = k_max -344 y_c_star = 0 -345 j = 0 -346 x = _get_random_record(numFeatures) -347 -348 # Controls number of iterations -349 for i in range(iter_max): -350 -351 y = targetModel.predict(x, batch_size=1, verbose=0) -352 y_c = y[0][label] -353 predictedClass = np.argmax(y, axis=1)[0] -354 -355 if y_c >= y_c_star: -356 if y_c > conf_min and predictedClass == label: -357 # print("Now sampling!") -358 if y_c > globalRandomGen.random(): -359 return x +327 +328def _generate_synthetic_record_batched(label: int, +329 targetModel: Sequential, +330 k_max: int = 200, +331 k_min: int = 5, +332 conf_min: float = 0.05, +333 rej_max: int = 20, +334 iter_max: int = 200, +335 batchSize: int = 1) -> Optional[NDArray]: +336 """ +337 Synthesize a data record, using Algorithm 1 from Shokri et als +338 paper "Membership Inference Attacks against Machine Learning Models". +339 """ +340 assert label < 100 and label >= 0 +341 +342 # Initalization +343 batchIndex: int = 0 +344 numFeatures: int = 600 +345 kWasUpdated = False +346 k = k_max +347 y_c_star = 0 +348 j = 0 +349 x = _get_random_record(numFeatures) +350 haveSampled = False +351 +352 if batchSize == 1: +353 xs = x.reshape((1, 600)) +354 ys = targetModel.predict(xs, batch_size=batchSize, verbose=0) +355 else: +356 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) +357 +358 # Controls number of iterations +359 for i in range(iter_max): 360 -361 y_c_star = y_c -362 j = 0 -363 else: -364 j = j + 1 -365 if j > rej_max and (k != k_min): -366 k = int(max(k_min, np.ceil(k / 2))) -367 j = 0 -368 -369 x = _randomize_features(x, k) # pyright: ignore -370 -371 # if (i % 20) == 0: -372 # print( -373 # f"{i}/{iter_max}, y_c/y_c*: {y_c:.1%}/{y_c_star:.1%}, pred/class: {predictedClass}/{label}") -374 -375 return None -376 -377 -378def hill_climbing(targetModel: Sequential, numRecords: int, -379 **hyperpars) -> Dataset: -380 """ -381 Generate synthetic data for the shadow models by querying the target model -382 for randomly sampled records, in order to find those that are classified -383 with high confidence. -384 -385 `numRecords`: size of generated dataset -386 `hyperpars` has the following keys (taken from the paper: -387 k_max,k_min,rej_max,conf_min,iter_max) -388 """ -389 -390 # Generate an array of labels, determining which class to synthesize for -391 # TODO: initializing and then changing `features` array might not be most -392 # efficient solution -393 -394 numClasses: int = 100 -395 labels: NDArray = _generate_labels(numClasses, numRecords) +361 x = xs[batchIndex] +362 y = ys[batchIndex] +363 y_c = y[label] +364 predictedClass = np.argmax(y, axis=0) +365 +366 if y_c >= y_c_star: +367 if y_c > conf_min and predictedClass == label: +368 # print(f"Now sampling! {batchIndex},{y_c},{y_c_star}") +369 haveSampled = True +370 if y_c > globalRandomGen.random(): +371 return x.reshape((1, numFeatures)) +372 +373 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) +374 y_c_star = y_c +375 j = 0 +376 continue +377 else: +378 j = j + 1 +379 if j > rej_max and (k != k_min) and haveSampled: +380 k = int(max(k_min, np.ceil(k / 2))) +381 j = 0 +382 kWasUpdated = True +383 +384 batchExhausted = (batchIndex == batchSize - 1) +385 +386 if batchExhausted or kWasUpdated: +387 xs, ys, batchIndex = _rebatch(x, k, batchSize, targetModel) +388 kWasUpdated = False +389 else: +390 batchIndex += 1 +391 +392 # if (i % 20) == 0: +393 # print(f"{i}/{iter_max}, y_c/y_c*: {y_c:.1%}/{y_c_star:.1%}, pred/class: {predictedClass}/{label}") +394 +395 return None 396 -397 numFeatures: int = 600 -398 features: NDArray = np.zeros((numRecords, numFeatures)) -399 -400 for index, label in enumerate(labels): -401 label = int(label[0]) -402 new_record = _generate_synthetic_record(label, targetModel, **hyperpars) -403 while new_record is None: -404 new_record = _generate_synthetic_record(label, targetModel, **hyperpars) -405 print(f"Generating synthetic records: {index}/{numRecords}, {index/numRecords*100:.2f}% done.") -406 features[index] = new_record.reshape((1, numFeatures)) -407 -408 features = features.reshape((numRecords, numFeatures)) -409 labels = labels.reshape((numRecords, 1)) -410 return Dataset.from_tensor_slices((features, labels)) +397 +398def _generate_synthetic_record(label: int, +399 targetModel: Sequential, +400 k_max: int = 200, +401 k_min: int = 5, +402 conf_min: float = 0.05, +403 rej_max: int = 20, +404 iter_max: int = 200, +405 batchSize: int = 1) -> Optional[NDArray]: +406 """ +407 Synthesize a data record, using Algorithm 1 from Shokri et als +408 paper "Membership Inference Attacks against Machine Learning Models". +409 """ +410 assert label < 100 and label >= 0 411 -412def get_target_model_rest_data(config:Dict) -> Dataset: -413 modelName = tm.get_model_name(config) -414 restDataName = modelName + "_rest_data" -415 return ds.load_target(restDataName) -416 -417if __name__ == "__main__": -418 import argparse -419 import configuration as con -420 import datasets as ds -421 import target_models as tm -422 -423 parser = argparse.ArgumentParser(description='Generate all the necessary shadow data and save it to disk.') -424 parser.add_argument('--config', help='Relative path to config file.',) -425 config = con.from_cli_options(vars(parser.parse_args())) -426 set_seed(config["seed"]) -427 -428 targetDataset = get_target_model_rest_data(config) -429 targetModel = tm.load_model(tm.get_model_name(config), verbose=config["verbose"]) -430 get_shadow_data(config, targetDataset, targetModel) +412 # Initalization +413 numFeatures: int = 600 +414 k = k_max +415 y_c_star = 0 +416 j = 0 +417 x = _get_random_record(numFeatures) +418 +419 # Controls number of iterations +420 for i in range(iter_max): +421 +422 y = targetModel.predict(x, batch_size=1, verbose=0) +423 y_c = y[0][label] +424 predictedClass = np.argmax(y, axis=1)[0] +425 +426 if y_c >= y_c_star: +427 if y_c > conf_min and predictedClass == label: +428 # print("Now sampling!") +429 if y_c > globalRandomGen.random(): +430 return x +431 +432 y_c_star = y_c +433 j = 0 +434 else: +435 j = j + 1 +436 if j > rej_max and (k != k_min): +437 k = int(max(k_min, np.ceil(k / 2))) +438 j = 0 +439 +440 x = _randomize_features(x, k) # pyright: ignore +441 +442 # if (i % 20) == 0: +443 # print( +444 # f"{i}/{iter_max}, y_c/y_c*: {y_c:.1%}/{y_c_star:.1%}, pred/class: {predictedClass}/{label}") +445 +446 return None +447 +448 +449def hill_climbing(targetModel: Sequential, numRecords: int, +450 **hyperpars) -> Dataset: +451 """ +452 Generate synthetic data for the shadow models by querying the target model +453 for randomly sampled records, in order to find those that are classified +454 with high confidence. +455 +456 `numRecords`: size of generated dataset +457 `hyperpars` has the following keys (taken from the paper: +458 k_max,k_min,rej_max,conf_min,iter_max) +459 """ +460 +461 # Generate an array of labels, determining which class to synthesize for +462 # TODO: initializing and then changing `features` array might not be most +463 # efficient solution +464 +465 numClasses: int = 100 +466 labels: NDArray = _generate_labels(numClasses, numRecords) +467 +468 numFeatures: int = 600 +469 features: NDArray = np.zeros((numRecords, numFeatures)) +470 +471 for index, label in enumerate(labels): +472 label = int(label[0]) +473 new_record = _generate_synthetic_record(label, targetModel, **hyperpars) +474 while new_record is None: +475 new_record = _generate_synthetic_record(label, targetModel, **hyperpars) +476 print(f"Generating synthetic records: {index}/{numRecords}, {index/numRecords*100:.2f}% done.") +477 features[index] = new_record.reshape((1, numFeatures)) +478 +479 features = features.reshape((numRecords, numFeatures)) +480 labels = labels.reshape((numRecords, 1)) +481 return Dataset.from_tensor_slices((features, labels)) +482 +483def get_target_model_rest_data(config:Dict) -> Dataset: +484 modelName = tm.get_model_name(config) +485 restDataName = modelName + "_rest_data" +486 return ds.load_target(restDataName) +487 +488if __name__ == "__main__": +489 import argparse +490 import configuration as con +491 import datasets as ds +492 import target_models as tm +493 +494 parser = argparse.ArgumentParser(description='Generate all the necessary shadow data and save it to disk.') +495 parser.add_argument('--config', help='Relative path to config file.',) +496 config = con.from_cli_options(vars(parser.parse_args())) +497 set_seed(config["seed"]) +498 +499 targetDataset = get_target_model_rest_data(config) +500 targetModel = tm.load_model(tm.get_model_name(config), verbose=config["verbose"]) +501 get_shadow_data(config, targetDataset, targetModel) @@ -532,16 +603,16 @@

-
28def set_seed(new_seed: int):
-29    """
-30    Set the global seed that will be used for all functions that include
-31    randomness.
-32    """
-33    global global_seed
-34    global_seed = new_seed
-35    np.random.seed(global_seed)
-36    random.seed(global_seed)
-37    random_seed.set_seed(global_seed)
+            
29def set_seed(new_seed: int):
+30    """
+31    Set the global seed that will be used for all functions that include
+32    randomness.
+33    """
+34    global global_seed
+35    global_seed = new_seed
+36    np.random.seed(global_seed)
+37    random.seed(global_seed)
+38    random_seed.set_seed(global_seed)
 
@@ -562,14 +633,14 @@

-
40def generate_shadow_data_sampling(original_data: Dataset) -> Dataset:
-41    """
-42    Generate synthetic data for the shadow models by randomly sampling data
-43    points from the original data set.
-44    """
-45    sample_dataset: Dataset = tf.data.Dataset.sample_from_datasets(
-46        [original_data], seed=global_seed, stop_on_empty_dataset=True)
-47    return sample_dataset
+            
41def generate_shadow_data_sampling(original_data: Dataset) -> Dataset:
+42    """
+43    Generate synthetic data for the shadow models by randomly sampling data
+44    points from the original data set.
+45    """
+46    sample_dataset: Dataset = tf.data.Dataset.sample_from_datasets(
+47        [original_data], seed=global_seed, stop_on_empty_dataset=True)
+48    return sample_dataset
 
@@ -590,10 +661,10 @@

-
50def split_shadow_data(config: Dict, shadowData: ds.Dataset) -> List[ds.Dataset]:
-51    print("Splitting shadow data into subsets.")
-52    numSubsets = config["shadowModels"]["number"]
-53    return ds.split_dataset(shadowData, numSubsets)
+            
51def split_shadow_data(config: Dict, shadowData: ds.Dataset) -> List[ds.Dataset]:
+52    print("Splitting shadow data into subsets.")
+53    numSubsets = config["shadowModels"]["number"]
+54    return ds.split_dataset(shadowData, numSubsets)
 
@@ -611,9 +682,9 @@

-
56def load_shadow_data(config: Dict):
-57    dataName = get_shadow_data_name(config)
-58    return ds.load_shadow(dataName, verbose=config["verbose"])
+            
57def load_shadow_data(config: Dict):
+58    dataName = get_shadow_data_name(config)
+59    return ds.load_shadow(dataName, verbose=config["verbose"])
 
@@ -631,33 +702,39 @@

-
61def get_shadow_data_name(config: Dict):
-62    shadowConfig = config["shadowDataset"]
-63    method = shadowConfig["method"]
-64    targetDataName = config["targetDataset"]["name"]
-65    dataSize = shadowConfig["size"]
-66    hyperpars = shadowConfig[method]["hyperparameters"]
-67    if method == "noisy":
-68        dataName = f'{method}_fraction_{hyperpars["fraction"]}_size_{dataSize}_target_{targetDataName}'
-69    elif method == "hill_climbing":
-70        dataName = \
-71            f'{method}_' + \
-72            f'{targetDataName}_' + \
-73            f'kmax_{hyperpars["k_max"]}_' + \
-74            f'kmin_{hyperpars["k_min"]}_' + \
-75            f'confmin_{hyperpars["conf_min"]}_' + \
-76            f'rejmax_{hyperpars["rej_max"]}_' + \
-77            f'itermax_{hyperpars["iter_max"]}_' + \
-78            f'size_{dataSize}'
-79    elif method == "original":
-80        dataName = \
-81            f'{method}_' + \
-82            f'{targetDataName}_' + \
-83            f'original_data_' + \
-84            f'size_{dataSize}'
-85    else:
-86        raise ValueError(f"{method} is not a valid shadow data method.")
-87    return dataName
+            
62def get_shadow_data_name(config: Dict):
+63    shadowConfig = config["shadowDataset"]
+64    method = shadowConfig["method"]
+65    targetDataName = config["targetDataset"]["name"]
+66    dataSize = shadowConfig["size"]
+67    hyperpars = shadowConfig[method]["hyperparameters"]
+68    if method == "noisy":
+69        dataName = f'{method}_fraction_{hyperpars["fraction"]}_size_{dataSize}_target_{targetDataName}'
+70    elif method == "hill_climbing":
+71        dataName = \
+72            f'{method}_' + \
+73            f'{targetDataName}_' + \
+74            f'kmax_{hyperpars["k_max"]}_' + \
+75            f'kmin_{hyperpars["k_min"]}_' + \
+76            f'confmin_{hyperpars["conf_min"]}_' + \
+77            f'rejmax_{hyperpars["rej_max"]}_' + \
+78            f'itermax_{hyperpars["iter_max"]}_' + \
+79            f'size_{dataSize}'
+80    elif method == "original":
+81        dataName = \
+82            f'{method}_' + \
+83            f'{targetDataName}_' + \
+84            f'original_data_' + \
+85            f'size_{dataSize}'
+86    elif method == "statistic":
+87        dataName = \
+88            f'{method}_' + \
+89            f'{targetDataName}_' + \
+90            f'statistic_' + \
+91            f'size_{dataSize}'
+92    else:
+93        raise ValueError(f"{method} is not a valid shadow data method.")
+94    return dataName
 
@@ -675,41 +752,43 @@

-
 90def get_shadow_data(config: Dict, targetDataset, targetModel) -> ds.Dataset:
- 91    verbose = config["verbose"]
- 92    shadowConfig = config["shadowDataset"]
- 93    method = shadowConfig["method"]
- 94    dataSize = shadowConfig["size"]
- 95    hyperpars = shadowConfig[method]["hyperparameters"]
- 96    dataName = get_shadow_data_name(config)
- 97
- 98    try:
- 99        print("Loading shadow data from disk.")
-100        shadowData = load_shadow_data(config)
-101    except BaseException:
-102        print("Loading failed, generating shadow data.")
-103
-104        if method == "noisy":
-105            shadowData = generate_shadow_data_noisy(targetDataset, dataSize, **hyperpars)
-106        elif method == "hill_climbing":
-107            shadowData = hill_climbing(targetModel, dataSize, **hyperpars)
-108        elif method == "original":
-109            modelName = tm.get_model_name(config)
-110            restDataName = modelName + "_rest_data"
-111            shadowData = ds.load_target(restDataName).take(dataSize)
-112        else:
-113            raise ValueError(f"{method} is not a valid shadow data method.")
-114
-115        if verbose:
-116            print(f"Saving shadow data {dataName} to disk.")
-117        try:
-118            ds.save_shadow(shadowData, dataName)
-119        except BaseException:
-120            print(f"Failed to save shadow data {dataName} to disk.")
-121            ds.delete_shadow(dataName)
-122            raise
+            
 97def get_shadow_data(config: Dict, targetDataset, targetModel) -> ds.Dataset:
+ 98    verbose = config["verbose"]
+ 99    shadowConfig = config["shadowDataset"]
+100    method = shadowConfig["method"]
+101    dataSize = shadowConfig["size"]
+102    hyperpars = shadowConfig[method]["hyperparameters"]
+103    dataName = get_shadow_data_name(config)
+104
+105    try:
+106        print("Loading shadow data from disk.")
+107        shadowData = load_shadow_data(config)
+108    except BaseException:
+109        print("Loading failed, generating shadow data.")
+110
+111        if method == "noisy":
+112            shadowData = generate_shadow_data_noisy(targetDataset, dataSize, **hyperpars)
+113        elif method == "hill_climbing":
+114            shadowData = hill_climbing(targetModel, dataSize, **hyperpars)
+115        elif method == "original":
+116            modelName = tm.get_model_name(config)
+117            restDataName = modelName + "_rest_data"
+118            shadowData = ds.load_target(restDataName).take(dataSize)
+119        elif method == "statistic":
+120            shadowData = generate_shadow_data_statistic(config, **hyperpars)
+121        else:
+122            raise ValueError(f"{method} is not a valid shadow data method.")
 123
-124    return shadowData
+124        if verbose:
+125            print(f"Saving shadow data {dataName} to disk.")
+126        try:
+127            ds.save_shadow(shadowData, dataName)
+128        except BaseException:
+129            print(f"Failed to save shadow data {dataName} to disk.")
+130            ds.delete_shadow(dataName)
+131            raise
+132
+133    return shadowData
 
@@ -727,35 +806,35 @@

-
145def generate_shadow_data_noisy(original_data: Dataset, outputSize: int, fraction: float = 0.1) -> Dataset:
-146    """
-147    Generate synthetic data for the shadow models by using a noisy version of
-148    the original data.
-149    Returns only the noisy data, no the oririnal data.
-150
-151    Arguments:
-152        fraction: percentage of labels that will be flipped per data record to
-153                  make it "noisy"
-154    """
-155    inputSize = original_data.cardinality().numpy()
-156    # Since outputSize % inputSize not always 0, we have to fill the gap with a subset
-157    # of the full input data. To avoid bias, shuffle the input data.
-158    noisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction)
+            
154def generate_shadow_data_noisy(original_data: Dataset, outputSize: int, fraction: float = 0.1) -> Dataset:
+155    """
+156    Generate synthetic data for the shadow models by using a noisy version of
+157    the original data.
+158    Returns only the noisy data, no the oririnal data.
 159
-160    if inputSize >= outputSize:
-161        return noisySet.take(outputSize)
-162
-163    numNoisyVersions = int(np.floor(outputSize / inputSize))
-164    # How many records to add after collecting numNoisyVersions sets
-165    offset = outputSize % inputSize
-166
-167    for _ in range(numNoisyVersions - 1):
-168        newNoisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction)
-169        noisySet = noisySet.concatenate(newNoisySet)
-170
-171    offsetSet = _make_dataset_noisy(
-172        ds.shuffle(original_data), fraction).take(offset)
-173    return noisySet.concatenate(offsetSet)
+160    Arguments:
+161        fraction: percentage of labels that will be flipped per data record to
+162                  make it "noisy"
+163    """
+164    inputSize = original_data.cardinality().numpy()
+165    # Since outputSize % inputSize not always 0, we have to fill the gap with a subset
+166    # of the full input data. To avoid bias, shuffle the input data.
+167    noisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction)
+168
+169    if inputSize >= outputSize:
+170        return noisySet.take(outputSize)
+171
+172    numNoisyVersions = int(np.floor(outputSize / inputSize))
+173    # How many records to add after collecting numNoisyVersions sets
+174    offset = outputSize % inputSize
+175
+176    for _ in range(numNoisyVersions - 1):
+177        newNoisySet = _make_dataset_noisy(ds.shuffle(original_data), fraction)
+178        noisySet = noisySet.concatenate(newNoisySet)
+179
+180    offsetSet = _make_dataset_noisy(
+181        ds.shuffle(original_data), fraction).take(offset)
+182    return noisySet.concatenate(offsetSet)
 
@@ -775,18 +854,53 @@

def - generate_shadow_data_statistic( original_data: tensorflow.python.data.ops.dataset_ops.DatasetV2) -> tensorflow.python.data.ops.dataset_ops.DatasetV2: + generate_shadow_data_statistic( config: Dict, **hyperpars) -> tensorflow.python.data.ops.dataset_ops.DatasetV2:
-
176def generate_shadow_data_statistic(original_data: Dataset) -> Dataset:
-177    """
-178    Generate synthetic data for the shadow models by using the marginal
-179    distribution of features in the original dataset.
-180    """
-181    pass
+            
210def generate_shadow_data_statistic(config: Dict, **hyperpars) -> Dataset:
+211    """
+212    Generate synthetic data for the shadow models by using the marginal
+213    distribution of features in the original dataset.
+214    """
+215    # TODO: Kaggle specific
+216    size = hyperpars["size"]
+217    try:
+218        marginalProbabilities = ds.load_numpy_array("kaggle_marginals.npy")
+219    except:
+220        marginalProbabilities = _compute_kaggle_marginals(config)
+221        ds.save_numpy_array("kaggle_marginals.npy",marginalProbabilities)
+222
+223    # Generate new records
+224    numClasses = marginalProbabilities.shape[0]
+225    numFeatures = marginalProbabilities.shape[1]
+226
+227    features: NDArray = np.zeros((size,numFeatures)).astype(np.int32)
+228    labels: NDArray = np.zeros((size,numClasses)).astype(np.int32)
+229
+230    recordsPerClass = int(size/numClasses)
+231
+232    for _class in range(numClasses):
+233        print(f"Generating records for class {_class}")
+234        index_start = _class * recordsPerClass
+235        index_end = (_class + 1) * recordsPerClass
+236        #  for index in range(index_start, index_end):
+237        #      labels[index] = to_categorical(_class, num_classes = numClasses)
+238        labels[index_start:index_end] = np.tile(to_categorical(_class, num_classes =
+239                                                               numClasses),recordsPerClass).reshape(recordsPerClass,numClasses)
+240        gen = np.random.default_rng(seed=global_seed)
+241        marginalProbability = marginalProbabilities[_class]
+242
+243        for feature in range(numFeatures):
+244            print(f"\tGenerating records for feature {feature}")
+245            probability = marginalProbability[feature]
+246            # sample one feature for all records in this class at once
+247            sampledFeature = gen.choice([0,1], p=[1-probability,probability],size = recordsPerClass)
+248            features[index_start:index_end,feature] = sampledFeature
+249
+250    return Dataset.from_tensor_slices((features, labels))
 
@@ -807,39 +921,39 @@

-
379def hill_climbing(targetModel: Sequential, numRecords: int,
-380                  **hyperpars) -> Dataset:
-381    """
-382    Generate synthetic data for the shadow models by querying the target model
-383    for randomly sampled records, in order to find those that are classified
-384    with high confidence.
-385
-386    `numRecords`: size of generated dataset
-387    `hyperpars` has the following keys (taken from the paper:
-388    k_max,k_min,rej_max,conf_min,iter_max)
-389    """
-390
-391    # Generate an array of labels, determining which class to synthesize for
-392    # TODO: initializing and then changing `features` array might not be most
-393    # efficient solution
-394
-395    numClasses: int = 100
-396    labels: NDArray = _generate_labels(numClasses, numRecords)
-397
-398    numFeatures: int = 600
-399    features: NDArray = np.zeros((numRecords, numFeatures))
-400
-401    for index, label in enumerate(labels):
-402        label = int(label[0])
-403        new_record = _generate_synthetic_record(label, targetModel, **hyperpars)
-404        while new_record is None:
-405            new_record = _generate_synthetic_record(label, targetModel, **hyperpars)
-406        print(f"Generating synthetic records: {index}/{numRecords}, {index/numRecords*100:.2f}% done.")
-407        features[index] = new_record.reshape((1, numFeatures))
-408
-409    features = features.reshape((numRecords, numFeatures))
-410    labels = labels.reshape((numRecords, 1))
-411    return Dataset.from_tensor_slices((features, labels))
+            
450def hill_climbing(targetModel: Sequential, numRecords: int,
+451                  **hyperpars) -> Dataset:
+452    """
+453    Generate synthetic data for the shadow models by querying the target model
+454    for randomly sampled records, in order to find those that are classified
+455    with high confidence.
+456
+457    `numRecords`: size of generated dataset
+458    `hyperpars` has the following keys (taken from the paper:
+459    k_max,k_min,rej_max,conf_min,iter_max)
+460    """
+461
+462    # Generate an array of labels, determining which class to synthesize for
+463    # TODO: initializing and then changing `features` array might not be most
+464    # efficient solution
+465
+466    numClasses: int = 100
+467    labels: NDArray = _generate_labels(numClasses, numRecords)
+468
+469    numFeatures: int = 600
+470    features: NDArray = np.zeros((numRecords, numFeatures))
+471
+472    for index, label in enumerate(labels):
+473        label = int(label[0])
+474        new_record = _generate_synthetic_record(label, targetModel, **hyperpars)
+475        while new_record is None:
+476            new_record = _generate_synthetic_record(label, targetModel, **hyperpars)
+477        print(f"Generating synthetic records: {index}/{numRecords}, {index/numRecords*100:.2f}% done.")
+478        features[index] = new_record.reshape((1, numFeatures))
+479
+480    features = features.reshape((numRecords, numFeatures))
+481    labels = labels.reshape((numRecords, 1))
+482    return Dataset.from_tensor_slices((features, labels))
 
@@ -865,10 +979,10 @@

-
413def get_target_model_rest_data(config:Dict) -> Dataset:
-414    modelName = tm.get_model_name(config)
-415    restDataName = modelName + "_rest_data"
-416    return ds.load_target(restDataName)
+            
484def get_target_model_rest_data(config:Dict) -> Dataset:
+485    modelName = tm.get_model_name(config)
+486    restDataName = modelName + "_rest_data"
+487    return ds.load_target(restDataName)
 
diff --git a/shadow_models.html b/shadow_models.html index 8c18497..bc82e85 100644 --- a/shadow_models.html +++ b/shadow_models.html @@ -93,111 +93,112 @@

23 24def get_shadow_model_name(config: Dict, i: int): 25 numModels: int = config["shadowModels"]["number"] - 26 split: float = config["shadowModels"]["split"] - 27 return "shadow_" + tm.get_model_name(config) + f"_split_{split}_{i+1}_of_{numModels}" - 28 + 26 method: str = config["shadowDataset"]["method"] + 27 split: float = config["shadowModels"]["split"] + 28 return "shadow_" + method + tm.get_model_name(config) + f"_split_{split}_{i+1}_of_{numModels}" 29 - 30def load_shadow_models_and_datasets(config: Dict) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: - 31 verbose = config["verbose"] - 32 numModels: int = config["shadowModels"]["number"] - 33 datasets = [] - 34 models = [] - 35 - 36 print(f"Loading shadow models from disk.") - 37 for i in range(numModels): - 38 modelName = get_shadow_model_name(config, i) - 39 model: tm.KaggleModel = tm.load_model(modelName, verbose=verbose) - 40 - 41 trainDataName = modelName + "_train_data" - 42 testDataName = modelName + "_test_data" - 43 trainData: ds.Dataset = ds.load_shadow(trainDataName, verbose=verbose) - 44 testData: ds.Dataset = ds.load_shadow(testDataName, verbose=verbose) - 45 - 46 datasets.append((trainData, testData)) - 47 models.append(model) - 48 - 49 return models, datasets - 50 + 30 + 31def load_shadow_models_and_datasets(config: Dict) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: + 32 verbose = config["verbose"] + 33 numModels: int = config["shadowModels"]["number"] + 34 datasets = [] + 35 models = [] + 36 + 37 print(f"Loading shadow models from disk.") + 38 for i in range(numModels): + 39 modelName = get_shadow_model_name(config, i) + 40 model: tm.KaggleModel = tm.load_model(modelName, verbose=verbose) + 41 + 42 trainDataName = modelName + "_train_data" + 43 testDataName = modelName + "_test_data" + 44 trainData: ds.Dataset = ds.load_shadow(trainDataName, verbose=verbose) + 45 testData: ds.Dataset = ds.load_shadow(testDataName, verbose=verbose) + 46 + 47 datasets.append((trainData, testData)) + 48 models.append(model) + 49 + 50 return models, datasets 51 - 52def train_shadow_models(config: Dict, shadowDatasets: List[ds.Dataset] - 53 ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: - 54 - 55 numModels: int = config["shadowModels"]["number"] - 56 split: float = config["shadowModels"]["split"] - 57 dataSize = shadowDatasets[0].cardinality().numpy() - 58 assert dataSize != 0, "Loaded shadow dataset that seems empty." - 59 trainSize = np.ceil(split * dataSize) - 60 testSize = dataSize - trainSize - 61 datasets = [] - 62 models = [] - 63 - 64 for i in range(numModels): - 65 print(f"Training shadow model {i+1}.") - 66 - 67 modelName = get_shadow_model_name(config, i) - 68 trainDataName = modelName + "_train_data" - 69 testDataName = modelName + "_test_data" - 70 - 71 dataset = shadowDatasets[i] - 72 trainData = dataset.take(trainSize) - 73 testData = dataset.skip(trainSize).take(testSize) - 74 - 75 # Shadow models have same architecture as target model - 76 model = tm.KaggleModel(config["targetModel"]["classes"]) - 77 modelConfig = config["targetModel"]["hyperparameters"] - 78 - 79 tm.train_model(model, modelName, trainData, testData, modelConfig) - 80 - 81 print(f"Saving shadow model {i+1} and its data to disk.") - 82 tm.save_model(modelName, model) - 83 ds.save_shadow(trainData, trainDataName) - 84 ds.save_shadow(testData, testDataName) - 85 - 86 print(f"Evaluating shadow model {i+1}") - 87 tm.evaluate_model(model, testData) - 88 - 89 datasets.append((trainData, testData)) - 90 models.append(model) - 91 - 92 return models, datasets - 93 + 52 + 53def train_shadow_models(config: Dict, shadowDatasets: List[ds.Dataset] + 54 ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: + 55 + 56 numModels: int = config["shadowModels"]["number"] + 57 split: float = config["shadowModels"]["split"] + 58 dataSize = shadowDatasets[0].cardinality().numpy() + 59 assert dataSize != 0, "Loaded shadow dataset that seems empty." + 60 trainSize = np.ceil(split * dataSize) + 61 testSize = dataSize - trainSize + 62 datasets = [] + 63 models = [] + 64 + 65 for i in range(numModels): + 66 print(f"Training shadow model {i+1}.") + 67 + 68 modelName = get_shadow_model_name(config, i) + 69 trainDataName = modelName + "_train_data" + 70 testDataName = modelName + "_test_data" + 71 + 72 dataset = shadowDatasets[i] + 73 trainData = dataset.take(trainSize) + 74 testData = dataset.skip(trainSize).take(testSize) + 75 + 76 # Shadow models have same architecture as target model + 77 model = tm.KaggleModel(config["targetModel"]["classes"]) + 78 modelConfig = config["targetModel"]["hyperparameters"] + 79 + 80 tm.train_model(model, modelName, trainData, testData, modelConfig) + 81 + 82 print(f"Saving shadow model {i+1} and its data to disk.") + 83 tm.save_model(modelName, model) + 84 ds.save_shadow(trainData, trainDataName) + 85 ds.save_shadow(testData, testDataName) + 86 + 87 print(f"Evaluating shadow model {i+1}") + 88 tm.evaluate_model(model, testData) + 89 + 90 datasets.append((trainData, testData)) + 91 models.append(model) + 92 + 93 return models, datasets 94 - 95def get_shadow_models_and_datasets(config: Dict, shadowDatasets: List[ds.Dataset] - 96 ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: - 97 """ - 98 Tries to load shadow datasets from disk, alternatively trains from scratch. - 99 -100 Returns 2 lists: -101 models: the trained shadow models and a list of tuples, containing -102 datasets: the training and test data for the corresponding shadow models -103 -104 E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1] -105 """ -106 try: -107 print("Trying to load shadow models and data from disk.") -108 models, datasets = load_shadow_models_and_datasets(config) -109 except BaseException: -110 print("Didn't work, training shadow models.") -111 models, datasets = train_shadow_models(config, shadowDatasets) -112 -113 return models, datasets -114 + 95 + 96def get_shadow_models_and_datasets(config: Dict, shadowDatasets: List[ds.Dataset] + 97 ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]: + 98 """ + 99 Tries to load shadow datasets from disk, alternatively trains from scratch. +100 +101 Returns 2 lists: +102 models: the trained shadow models and a list of tuples, containing +103 datasets: the training and test data for the corresponding shadow models +104 +105 E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1] +106 """ +107 try: +108 print("Trying to load shadow models and data from disk.") +109 models, datasets = load_shadow_models_and_datasets(config) +110 except BaseException: +111 print("Didn't work, training shadow models.") +112 models, datasets = train_shadow_models(config, shadowDatasets) +113 +114 return models, datasets 115 -116if __name__ == "__main__": -117 import argparse -118 import configuration as con -119 import datasets as ds -120 import target_models as tm -121 import shadow_data as sd -122 -123 parser = argparse.ArgumentParser(description='Save one shadow dataset per model and train the models.') -124 parser.add_argument('--config', help='Relative path to config file.',) -125 config = con.from_cli_options(vars(parser.parse_args())) -126 set_seed(config["seed"]) -127 -128 shadowData = sd.load_shadow_data(config) -129 shadowDatasets = sd.split_shadow_data(config, shadowData) -130 shadowModels = get_shadow_models_and_datasets(config, shadowDatasets) +116 +117if __name__ == "__main__": +118 import argparse +119 import configuration as con +120 import datasets as ds +121 import target_models as tm +122 import shadow_data as sd +123 +124 parser = argparse.ArgumentParser(description='Save one shadow dataset per model and train the models.') +125 parser.add_argument('--config', help='Relative path to config file.',) +126 config = con.from_cli_options(vars(parser.parse_args())) +127 set_seed(config["seed"]) +128 +129 shadowData = sd.load_shadow_data(config) +130 shadowDatasets = sd.split_shadow_data(config, shadowData) +131 shadowModels = get_shadow_models_and_datasets(config, shadowDatasets)

@@ -243,8 +244,9 @@

25def get_shadow_model_name(config: Dict, i: int):
 26    numModels: int = config["shadowModels"]["number"]
-27    split: float = config["shadowModels"]["split"]
-28    return "shadow_" + tm.get_model_name(config) + f"_split_{split}_{i+1}_of_{numModels}"
+27    method: str = config["shadowDataset"]["method"]
+28    split: float = config["shadowModels"]["split"]
+29    return "shadow_" + method + tm.get_model_name(config) + f"_split_{split}_{i+1}_of_{numModels}"
 
@@ -262,26 +264,26 @@

-
31def load_shadow_models_and_datasets(config: Dict) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
-32    verbose = config["verbose"]
-33    numModels: int = config["shadowModels"]["number"]
-34    datasets = []
-35    models = []
-36
-37    print(f"Loading shadow models from disk.")
-38    for i in range(numModels):
-39        modelName = get_shadow_model_name(config, i)
-40        model: tm.KaggleModel = tm.load_model(modelName, verbose=verbose)
-41
-42        trainDataName = modelName + "_train_data"
-43        testDataName = modelName + "_test_data"
-44        trainData: ds.Dataset = ds.load_shadow(trainDataName, verbose=verbose)
-45        testData: ds.Dataset = ds.load_shadow(testDataName, verbose=verbose)
-46
-47        datasets.append((trainData, testData))
-48        models.append(model)
-49
-50    return models, datasets
+            
32def load_shadow_models_and_datasets(config: Dict) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
+33    verbose = config["verbose"]
+34    numModels: int = config["shadowModels"]["number"]
+35    datasets = []
+36    models = []
+37
+38    print(f"Loading shadow models from disk.")
+39    for i in range(numModels):
+40        modelName = get_shadow_model_name(config, i)
+41        model: tm.KaggleModel = tm.load_model(modelName, verbose=verbose)
+42
+43        trainDataName = modelName + "_train_data"
+44        testDataName = modelName + "_test_data"
+45        trainData: ds.Dataset = ds.load_shadow(trainDataName, verbose=verbose)
+46        testData: ds.Dataset = ds.load_shadow(testDataName, verbose=verbose)
+47
+48        datasets.append((trainData, testData))
+49        models.append(model)
+50
+51    return models, datasets
 
@@ -299,47 +301,47 @@

-
53def train_shadow_models(config: Dict, shadowDatasets: List[ds.Dataset]
-54                        ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
-55
-56    numModels: int = config["shadowModels"]["number"]
-57    split: float = config["shadowModels"]["split"]
-58    dataSize = shadowDatasets[0].cardinality().numpy()
-59    assert dataSize != 0, "Loaded shadow dataset that seems empty."
-60    trainSize = np.ceil(split * dataSize)
-61    testSize = dataSize - trainSize
-62    datasets = []
-63    models = []
-64
-65    for i in range(numModels):
-66        print(f"Training shadow model {i+1}.")
-67
-68        modelName = get_shadow_model_name(config, i)
-69        trainDataName = modelName + "_train_data"
-70        testDataName = modelName + "_test_data"
-71
-72        dataset = shadowDatasets[i]
-73        trainData = dataset.take(trainSize)
-74        testData = dataset.skip(trainSize).take(testSize)
-75
-76        # Shadow models have same architecture as target model
-77        model = tm.KaggleModel(config["targetModel"]["classes"])
-78        modelConfig = config["targetModel"]["hyperparameters"]
-79
-80        tm.train_model(model, modelName, trainData, testData, modelConfig)
-81
-82        print(f"Saving shadow model {i+1} and its data to disk.")
-83        tm.save_model(modelName, model)
-84        ds.save_shadow(trainData, trainDataName)
-85        ds.save_shadow(testData, testDataName)
-86
-87        print(f"Evaluating shadow model {i+1}")
-88        tm.evaluate_model(model, testData)
-89
-90        datasets.append((trainData, testData))
-91        models.append(model)
-92
-93    return models, datasets
+            
54def train_shadow_models(config: Dict, shadowDatasets: List[ds.Dataset]
+55                        ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
+56
+57    numModels: int = config["shadowModels"]["number"]
+58    split: float = config["shadowModels"]["split"]
+59    dataSize = shadowDatasets[0].cardinality().numpy()
+60    assert dataSize != 0, "Loaded shadow dataset that seems empty."
+61    trainSize = np.ceil(split * dataSize)
+62    testSize = dataSize - trainSize
+63    datasets = []
+64    models = []
+65
+66    for i in range(numModels):
+67        print(f"Training shadow model {i+1}.")
+68
+69        modelName = get_shadow_model_name(config, i)
+70        trainDataName = modelName + "_train_data"
+71        testDataName = modelName + "_test_data"
+72
+73        dataset = shadowDatasets[i]
+74        trainData = dataset.take(trainSize)
+75        testData = dataset.skip(trainSize).take(testSize)
+76
+77        # Shadow models have same architecture as target model
+78        model = tm.KaggleModel(config["targetModel"]["classes"])
+79        modelConfig = config["targetModel"]["hyperparameters"]
+80
+81        tm.train_model(model, modelName, trainData, testData, modelConfig)
+82
+83        print(f"Saving shadow model {i+1} and its data to disk.")
+84        tm.save_model(modelName, model)
+85        ds.save_shadow(trainData, trainDataName)
+86        ds.save_shadow(testData, testDataName)
+87
+88        print(f"Evaluating shadow model {i+1}")
+89        tm.evaluate_model(model, testData)
+90
+91        datasets.append((trainData, testData))
+92        models.append(model)
+93
+94    return models, datasets
 
@@ -357,25 +359,25 @@

-
 96def get_shadow_models_and_datasets(config: Dict, shadowDatasets: List[ds.Dataset]
- 97                                   ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
- 98    """
- 99    Tries to load shadow datasets from disk, alternatively trains from scratch.
-100
-101    Returns 2 lists:
-102        models: the trained shadow models and a list of tuples, containing
-103        datasets: the training and test data for the corresponding shadow models
-104
-105        E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1]
-106    """
-107    try:
-108        print("Trying to load shadow models and data from disk.")
-109        models, datasets = load_shadow_models_and_datasets(config)
-110    except BaseException:
-111        print("Didn't work, training shadow models.")
-112        models, datasets = train_shadow_models(config, shadowDatasets)
-113
-114    return models, datasets
+            
 97def get_shadow_models_and_datasets(config: Dict, shadowDatasets: List[ds.Dataset]
+ 98                                   ) -> Tuple[List[tm.Sequential], List[Tuple[ds.Dataset, ds.Dataset]]]:
+ 99    """
+100    Tries to load shadow datasets from disk, alternatively trains from scratch.
+101
+102    Returns 2 lists:
+103        models: the trained shadow models and a list of tuples, containing
+104        datasets: the training and test data for the corresponding shadow models
+105
+106        E.g. models[0] is trained with datasets[0,0] and tested on datasets[0,1]
+107    """
+108    try:
+109        print("Trying to load shadow models and data from disk.")
+110        models, datasets = load_shadow_models_and_datasets(config)
+111    except BaseException:
+112        print("Didn't work, training shadow models.")
+113        models, datasets = train_shadow_models(config, shadowDatasets)
+114
+115    return models, datasets