{
"info": {
"author": "iradz",
"author_email": "irad.zehavi@outlook.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9"
],
"description": "adv-ml\n================\n\n\n\n## Docs\n\nSee https://irad-zehavi.github.io/adv-ml/\n\n## Install\n\n``` sh\npip install adv_ml\n```\n\n## How to use\n\n## How to Use\n\nAs an nbdev library, `adv-ml` supports `import *` (without importing\nunwanted symbols):\n\n``` python\nfrom adv_ml.all import *\n```\n\n### Adversarial Examples\n\n``` python\nmnist = MNIST()\nclassifier = MLP(10)\nlearn = Learner(mnist.dls(), classifier, metrics=accuracy)\nlearn.fit(1)\n```\n\n
\n \n \n epoch | \n train_loss | \n valid_loss | \n accuracy | \n time | \n
\n \n \n \n 0 | \n 0.154410 | \n 0.177410 | \n 0.953900 | \n 00:32 | \n
\n \n
\n\n``` python\nsub_dsets = mnist.valid.random_sub_dsets(64)\nlearn.show_results(shuffle=False, dl=sub_dsets.dl())\n```\n\n\n\n``` python\nattack = InputOptimizer(classifier, LinfPGD(epsilon=.15), n_epochs=10, epoch_size=20)\nperturbed_dsets = attack.perturb(sub_dsets)\n```\n\n\n \n \n epoch | \n train_loss | \n time | \n
\n \n \n \n 0 | \n -4.302573 | \n 00:00 | \n
\n \n 1 | \n -7.585707 | \n 00:00 | \n
\n \n 2 | \n -9.014968 | \n 00:00 | \n
\n \n 3 | \n -9.700548 | \n 00:00 | \n
\n \n 4 | \n -10.075110 | \n 00:00 | \n
\n \n 5 | \n -10.296636 | \n 00:00 | \n
\n \n 6 | \n -10.433834 | \n 00:00 | \n
\n \n 7 | \n -10.521141 | \n 00:00 | \n
\n \n 8 | \n -10.577673 | \n 00:00 | \n
\n \n 9 | \n -10.614740 | \n 00:00 | \n
\n \n
\n\n``` python\nlearn.show_results(shuffle=False, dl=TfmdDL(perturbed_dsets))\n```\n\n\n\n### Data Poisoning\n\n``` python\npatch = torch.tensor([[1, 0, 1],\n [0, 1, 0],\n [1, 0, 1]]).int()*255\ntrigger = F.pad(patch, (25, 0, 25, 0)).numpy()\nlearn = Learner(mnist.dls(), MLP(10), metrics=accuracy, cbs=BadNetsAttack(trigger, '0'))\nlearn.fit_one_cycle(1)\n```\n\n\n \n \n epoch | \n train_loss | \n valid_loss | \n accuracy | \n time | \n
\n \n \n \n 0 | \n 0.103652 | \n 0.097075 | \n 0.971400 | \n 00:23 | \n
\n \n
\n\nBenign performance:\n\n``` python\nlearn.show_results()\n```\n\n\n\nAttack success:\n\n``` python\nlearn.show_results(2)\n```\n\n\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/Irad-Zehavi/adv-ml",
"keywords": "nbdev jupyter notebook python",
"license": "Apache Software License 2.0",
"maintainer": "",
"maintainer_email": "",
"name": "adv-ml",
"package_url": "https://pypi.org/project/adv-ml/",
"platform": null,
"project_url": "https://pypi.org/project/adv-ml/",
"project_urls": {
"Homepage": "https://github.com/Irad-Zehavi/adv-ml"
},
"release_url": "https://pypi.org/project/adv-ml/0.0.4/",
"requires_dist": [
"fastai",
"fastai-datasets",
"similarity-learning",
"nbdev ; extra == 'dev'"
],
"requires_python": ">=3.7",
"summary": "A modular and easy-to-use framework of adversarial machine learning algorithms: https://en.m.wikipedia.org/wiki/Adversarial_machine_learning",
"version": "0.0.4",
"yanked": false,
"yanked_reason": null
},
"last_serial": 18449924,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e358851b04597078a195fa86c21e8993f24be61c5806c29f8847ca220d966f75",
"md5": "522d2d98677b2d999e09f946a58b40f1",
"sha256": "e47721f714802df504d2923bd6377e6a8810edce6a838623f252b7f98cedfacd"
},
"downloads": -1,
"filename": "adv_ml-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "522d2d98677b2d999e09f946a58b40f1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 16912,
"upload_time": "2023-05-18T08:49:38",
"upload_time_iso_8601": "2023-05-18T08:49:38.839147Z",
"url": "https://files.pythonhosted.org/packages/e3/58/851b04597078a195fa86c21e8993f24be61c5806c29f8847ca220d966f75/adv_ml-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1bae82c6c8fa200e79662c020b15a2cb735cf78dc4b77c6ce4be823b46a4fc41",
"md5": "bc7f811d9461893e1b2ca34fef579838",
"sha256": "43663b05156777583424787bdcee5909320eb6e4fb55d76672c9e775a76f57e0"
},
"downloads": -1,
"filename": "adv-ml-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "bc7f811d9461893e1b2ca34fef579838",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 17595,
"upload_time": "2023-05-18T08:49:41",
"upload_time_iso_8601": "2023-05-18T08:49:41.218742Z",
"url": "https://files.pythonhosted.org/packages/1b/ae/82c6c8fa200e79662c020b15a2cb735cf78dc4b77c6ce4be823b46a4fc41/adv-ml-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.2": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8250a9dece080a1f26727bb82dff841dae3d39601425ad234f28c9e46899788b",
"md5": "d0c7bb23a177ef414737652be5a54a2e",
"sha256": "9417aef643e665e594c03a5511b4bb1c26920fcb7eb262bb5239eb46a9a7b237"
},
"downloads": -1,
"filename": "adv_ml-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0c7bb23a177ef414737652be5a54a2e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18533,
"upload_time": "2023-05-18T14:34:09",
"upload_time_iso_8601": "2023-05-18T14:34:09.262042Z",
"url": "https://files.pythonhosted.org/packages/82/50/a9dece080a1f26727bb82dff841dae3d39601425ad234f28c9e46899788b/adv_ml-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6c143207da0513e00cf1078c8089d69ec611d0a5a64ee53adff1b5a1b85f2c63",
"md5": "f155f99fcaffef806bb4585700b149e1",
"sha256": "29d2558c4b88af68742a9242b5ada4643149765d2bb0fa3139566a1d9ea977ac"
},
"downloads": -1,
"filename": "adv-ml-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "f155f99fcaffef806bb4585700b149e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 19870,
"upload_time": "2023-05-18T14:34:12",
"upload_time_iso_8601": "2023-05-18T14:34:12.746744Z",
"url": "https://files.pythonhosted.org/packages/6c/14/3207da0513e00cf1078c8089d69ec611d0a5a64ee53adff1b5a1b85f2c63/adv-ml-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.4": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d8afb3dfb924c69cdb1084ce08107c4072f5e5e94414489803f8da6d7dddde4e",
"md5": "8ee434a5c26a9c81ebf7b553973f7112",
"sha256": "a1c284973cac35915fa50ad4ae513a7069b594ece6faeb32fda5e869ad0e013f"
},
"downloads": -1,
"filename": "adv_ml-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ee434a5c26a9c81ebf7b553973f7112",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 20760,
"upload_time": "2023-06-10T10:07:32",
"upload_time_iso_8601": "2023-06-10T10:07:32.508540Z",
"url": "https://files.pythonhosted.org/packages/d8/af/b3dfb924c69cdb1084ce08107c4072f5e5e94414489803f8da6d7dddde4e/adv_ml-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d6208d24ee327042bf70bef28680a06253757222a0c24032da9ecdf98c171fa",
"md5": "2aaa95cf2e948b6a85c83879b8dc8a8e",
"sha256": "fb99423d52072d8e4e1919e8fd3f59c6f259c2e3b756bc38ea0849b9f0437927"
},
"downloads": -1,
"filename": "adv-ml-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "2aaa95cf2e948b6a85c83879b8dc8a8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 21980,
"upload_time": "2023-06-10T10:07:34",
"upload_time_iso_8601": "2023-06-10T10:07:34.406069Z",
"url": "https://files.pythonhosted.org/packages/8d/62/08d24ee327042bf70bef28680a06253757222a0c24032da9ecdf98c171fa/adv-ml-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d8afb3dfb924c69cdb1084ce08107c4072f5e5e94414489803f8da6d7dddde4e",
"md5": "8ee434a5c26a9c81ebf7b553973f7112",
"sha256": "a1c284973cac35915fa50ad4ae513a7069b594ece6faeb32fda5e869ad0e013f"
},
"downloads": -1,
"filename": "adv_ml-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ee434a5c26a9c81ebf7b553973f7112",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 20760,
"upload_time": "2023-06-10T10:07:32",
"upload_time_iso_8601": "2023-06-10T10:07:32.508540Z",
"url": "https://files.pythonhosted.org/packages/d8/af/b3dfb924c69cdb1084ce08107c4072f5e5e94414489803f8da6d7dddde4e/adv_ml-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d6208d24ee327042bf70bef28680a06253757222a0c24032da9ecdf98c171fa",
"md5": "2aaa95cf2e948b6a85c83879b8dc8a8e",
"sha256": "fb99423d52072d8e4e1919e8fd3f59c6f259c2e3b756bc38ea0849b9f0437927"
},
"downloads": -1,
"filename": "adv-ml-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "2aaa95cf2e948b6a85c83879b8dc8a8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 21980,
"upload_time": "2023-06-10T10:07:34",
"upload_time_iso_8601": "2023-06-10T10:07:34.406069Z",
"url": "https://files.pythonhosted.org/packages/8d/62/08d24ee327042bf70bef28680a06253757222a0c24032da9ecdf98c171fa/adv-ml-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}