{ "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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
epochtrain_lossvalid_lossaccuracytime
00.1544100.1774100.95390000:32
\n\n``` python\nsub_dsets = mnist.valid.random_sub_dsets(64)\nlearn.show_results(shuffle=False, dl=sub_dsets.dl())\n```\n\n![](index_files/figure-commonmark/cell-4-output-2.png)\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
epochtrain_losstime
0-4.30257300:00
1-7.58570700:00
2-9.01496800:00
3-9.70054800:00
4-10.07511000:00
5-10.29663600:00
6-10.43383400:00
7-10.52114100:00
8-10.57767300:00
9-10.61474000:00
\n\n``` python\nlearn.show_results(shuffle=False, dl=TfmdDL(perturbed_dsets))\n```\n\n![](index_files/figure-commonmark/cell-6-output-2.png)\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
epochtrain_lossvalid_lossaccuracytime
00.1036520.0970750.97140000:23
\n\nBenign performance:\n\n``` python\nlearn.show_results()\n```\n\n![](index_files/figure-commonmark/cell-8-output-2.png)\n\nAttack success:\n\n``` python\nlearn.show_results(2)\n```\n\n![](index_files/figure-commonmark/cell-9-output-2.png)\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": [] }