Skip to content

Instantly share code, notes, and snippets.

@Lyken17
Last active November 4, 2024 02:59
Show Gist options
  • Save Lyken17/91b81526a8245a028d4f85ccc9191884 to your computer and use it in GitHub Desktop.
Save Lyken17/91b81526a8245a028d4f85ccc9191884 to your computer and use it in GitHub Desktop.
Deep Leakage from Gradients.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Deep Leakage from Gradients.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/Lyken17/91b81526a8245a028d4f85ccc9191884/deep-leakage-from-gradients.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NWa7Xo6PkIl3",
"colab_type": "code",
"outputId": "b186c3b3-e0cf-423c-922c-94e64702f818",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"from pprint import pprint\n",
"\n",
"from PIL import Image\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.nn.functional as F\n",
"from torch.autograd import grad\n",
"import torchvision\n",
"from torchvision import models, datasets, transforms\n",
"torch.manual_seed(50)\n",
"\n",
"print(torch.__version__, torchvision.__version__)"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"1.3.1 0.4.2\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VjKWqs2akepH",
"colab_type": "code",
"outputId": "586bcc5a-f4ea-46ce-b510-edbb20f603ef",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 51
}
},
"source": [
"dst = datasets.CIFAR100(\"~/.torch\", download=True)\n",
"tp = transforms.Compose([\n",
" transforms.Resize(32),\n",
" transforms.CenterCrop(32),\n",
" transforms.ToTensor()\n",
"])\n",
"tt = transforms.ToPILImage()\n",
"\n",
"device = \"cpu\"\n",
"if torch.cuda.is_available():\n",
" device = \"cuda\"\n",
"print(\"Running on %s\" % device)\n",
"\n",
"def label_to_onehot(target, num_classes=100):\n",
" target = torch.unsqueeze(target, 1)\n",
" onehot_target = torch.zeros(target.size(0), num_classes, device=target.device)\n",
" onehot_target.scatter_(1, target, 1)\n",
" return onehot_target\n",
"\n",
"def cross_entropy_for_onehot(pred, target):\n",
" return torch.mean(torch.sum(- target * F.log_softmax(pred, dim=-1), 1))"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"Files already downloaded and verified\n",
"Running on cuda\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AorI020iVjjS",
"colab_type": "code",
"colab": {}
},
"source": [
"def weights_init(m):\n",
" if hasattr(m, \"weight\"):\n",
" m.weight.data.uniform_(-0.5, 0.5)\n",
" if hasattr(m, \"bias\"):\n",
" m.bias.data.uniform_(-0.5, 0.5)\n",
" \n",
"class LeNet(nn.Module):\n",
" def __init__(self):\n",
" super(LeNet, self).__init__()\n",
" act = nn.Sigmoid\n",
" self.body = nn.Sequential(\n",
" nn.Conv2d(3, 12, kernel_size=5, padding=5//2, stride=2),\n",
" act(),\n",
" nn.Conv2d(12, 12, kernel_size=5, padding=5//2, stride=2),\n",
" act(),\n",
" nn.Conv2d(12, 12, kernel_size=5, padding=5//2, stride=1),\n",
" act(),\n",
" nn.Conv2d(12, 12, kernel_size=5, padding=5//2, stride=1),\n",
" act(),\n",
" )\n",
" self.fc = nn.Sequential(\n",
" nn.Linear(768, 100)\n",
" )\n",
" \n",
" def forward(self, x):\n",
" out = self.body(x)\n",
" out = out.view(out.size(0), -1)\n",
" # print(out.size())\n",
" out = self.fc(out)\n",
" return out\n",
" \n",
"net = LeNet().to(device)\n",
" \n",
"net.apply(weights_init)\n",
"criterion = cross_entropy_for_onehot"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8mSgR4GClV-8",
"colab_type": "code",
"outputId": "94e70867-055e-4558-be7a-0b9feaa9b339",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 315
}
},
"source": [
"######### honest partipant #########\n",
"img_index = 25\n",
"gt_data = tp(dst[img_index][0]).to(device)\n",
"gt_data = gt_data.view(1, *gt_data.size())\n",
"gt_label = torch.Tensor([dst[img_index][1]]).long().to(device)\n",
"gt_label = gt_label.view(1, )\n",
"gt_onehot_label = label_to_onehot(gt_label, num_classes=100)\n",
"\n",
"plt.imshow(tt(gt_data[0].cpu()))\n",
"plt.title(\"Ground truth image\")\n",
"print(\"GT label is %d.\" % gt_label.item(), \"\\nOnehot label is %d.\" % torch.argmax(gt_onehot_label, dim=-1).item())\n",
"\n",
"# compute original gradient \n",
"out = net(gt_data)\n",
"y = criterion(out, gt_onehot_label)\n",
"dy_dx = torch.autograd.grad(y, net.parameters())\n",
"\n",
"\n",
"# share the gradients with other clients\n",
"original_dy_dx = list((_.detach().clone() for _ in dy_dx))"
],
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": [
"GT label is 84. \n",
"Onehot label is 84.\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAEICAYAAACZA4KlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAftklEQVR4nO2de5Bkd3XfP6e7Z2Znd2Z3tVohrYQe\nSAK7lAcStZEhKATbmALFRFBQFCIlKBfxOgmkoIIrkXESZAdXYRJByMOYBSkIg3kYUESIkqAoIlhA\nhFey0GsFgtUK7Wr2Je1qd97T3Sd/3Lt4pLrnzEzPTM+y9/upmpru3+nfvad/fU/fe3/fPudn7o4Q\n4vSnsdYOCCH6g4JdiJqgYBeiJijYhagJCnYhaoKCXYiaoGA/TTGzvWb2mj7v8wYz+9wSXj9uZhev\npk/ir1Cw94iZvc3M7jGzCTM7VD7+J2Zma+3bQpjZZ8zsQ8vcxqvNbN9ytuHuI+6+ZznbEItHwd4D\nZvZ+4OPAvwXOAc4G/hHwSmAw6NPsm4PLxMxaa+2DWAXcXX9L+AM2ARPAmxd43WeATwC3l69/Tdn3\ns8Bh4AngXwKN8vU3AJ+b1/8iwIFW+fxbwL8BvgOcAL4JbJ33+uvKbT4N/C6wF3hNhV87gDlgFhgH\n/lvZvhf4F8ADwAzQKvd/6fPe04eADcAU0C23MQ6cW76HL5fv8QTwMLA9GaOfbb/c9h8B/6Pc3nco\nvkj/PXAUeBS4Yl7f64GflPt5BHjTPFsTuBE4AjwOvOd5Y7kJuAkYA/aX76m51sfWav/pzL50XgEM\nAbct4rVvB/4AGAXuBv4jxYF2MfB3gXcAv7GEfb+9fP0LKK4gfhvAzC6j+GK5jiLozgReWLUBd98J\nfB74iBeX0W+YZ74W+HvAZndvR064+wTweuCpchsj7v5Uaf77wBeBzcDXgf+0hPf3VoovwK0UXzjf\nA+4rn38F+Oi81/4E+DsU4/l7wOfMbFtp+83Sv8uBlwFvfN5+PgO0gUuBK4DXAv9wCX7+XKJgXzpb\ngSPzg8HMvmtmx8xsysxeNe+1t7n7d9y9S3E2fRvwO+5+wt33Upx9rlvCvv+Lu//I3acozqCXl+1v\nAb7h7t929xngX1GcdZfKf3D3J8vt98rd7n67u3eAPwFeuoS+t7r7ve4+DdwKTLv7Z8ttfYkiMAFw\n9z9z96fcvevuXwIeA64szW8FPu7u+9z9KPDhk/3M7GzgauB97j7h7oeAj1F8Nqc1ujdbOk8DW82s\ndTLg3f1vA5QTVvO/QJ+c93grMEBxqX2SJ4DzlrDvA/MeTwIj5eNz5+/L3SfM7OklbPckTy78kgV5\nvo/r5o/VAhyc93iq4vnJ94uZvQP4ZxS3O5S2reXj54zH8x5fSPE5jM2bS22wMu/9lEZn9qXzPYpL\nzGsW8dr5KYVHKM7uF85ru4DinhGK+/r182znLMGnMeD8k0/MbD3Fpfxi/MraJxOf1ixd0swuBD5F\ncS9+prtvBh4CTkbvGM+9jTl/3uMnKT6/re6+ufzb6O5/rQ+urykK9iXi7sco7hH/yMzeYmajZtYw\ns8spJq6ifh2KS+8/KPtcSHFmOqlL3w+8yswuMLNNwO8swa2vAL9uZleZ2SDw++Sf7UGKeYOFuB94\nu5k1zex1FPMM87dxZulrv9lA8WVzGMDMfgP46/PsXwbea2bnmdlmiolHANx9jGJy80Yz21h+dpeY\n2fz3dlqiYO8Bd/8IRaD+c4qD/iDwSYqD6rtJ139KcQbfQzFh96fAzeU276C4L30AuBf4xhL8eRh4\nd7m9MYrZ60wDvwm4rJxn+K/J694LvAE4BvwD4GevdfdHgS8Ae8rtnLtYf5eLuz9CMd/xPYqx/xsU\ns/cn+RRFQD8A/CWFItIGOqX9HRQTnI9QjNVXgG2c5lgpRQhx2mJmrwf+2N0vXPDFpzE6s4vTDjMb\nNrOrzaxlZucBH6SY3a81OrOL045ygvL/Ar9IMYv/34H3uvvxNXVsjVGwC1ETdBkvRE3o649qWq2m\nDwwOVNqMOFksSiTrNcEs65Ze5/RwEdRrDlyvfkS7K37EV0273QltnU7cr5ts032Fk/+SzVlyddps\nVecfNZtZXlI2+rEjvV4lR726nfhzift06Xa7lU4uK9hL7fXjFIkHn3b3D2evHxgc4NJLL6q0ZYM/\nMFD9BZH1aTbji5ZGM/nAuvEH1u1WH9xZQDeb8RBn8eDBvgpHYh9bwcE4OzUd9jny9NHQdnx8MrSN\nJ9tsVx9vdNOojW2tNNjjoNi0eXRJ7QXx2GfJi9kXY0b0ZTsxMZ70qf5B4rFjcZ+eL+PLlM3/TJFw\ncBlwbZmQIYQ4BVnOPfuVwI/dfY+7z1JkOi3mJ6RCiDVgOcF+Hs9NHthHRVKHme0ws11mtquT3BsK\nIVaXVZ+Nd/ed7r7d3bdHkyVCiNVnOcG+n+dmE72Qv8rgEkKcYixnNv4vgBeb2YsogvxtFJVUQhrW\nYN26dZW2TEaLZt2z2fhGI56xbiQXGJZM+3a71d+NmeSS+ZG9Z8++hpNJ30YwU5+IAgwPV5bNA2A2\nmPUFmJmdjTcaiENdy95YIr+mtTiWfuxYI/YjEw0t8b/X36eZ9ef2tudgd/e2mb0H+F8U0tvNZfaV\nEOIUZFk6u7vfTpE+KIQ4xdHPZYWoCQp2IWqCgl2ImqBgF6Im9L2UdCQ3NTIppJc+jUyqyRId4m02\ngwSaVEJLMqjSfoHMd3KrEd3OXGX7zMxMsq9E+klsjWQcm41grBLfPRG9Gj1KXpH01kjTEZeegbkQ\nvUjLUQJYup/EpjO7EDVBwS5ETVCwC1ETFOxC1AQFuxA14ZRZ2DGbrYxm3bPZ+MyWzcY3kiyZ0Mdk\nOjjLjchquM1MxyWf5mbiBJS5oN/4syfCPu256hn8whYnwiTVvcISU+1srJLxyMpBpQpKq/oQz4+P\njKUfp9DbLP7w8HBoi2bqjzbiatk6swtRExTsQtQEBbsQNUHBLkRNULALURMU7ELUhL5Kb2YWyhP5\n6i6BLV1RJTa2O7FtZnwqtM0FEtX0VNynlSQzdJLlfY4dOxbaPOk31Kre38b1G8M+E+1kX91YAlw/\nXF1PEMAb1YfWTCLlzczF76ubLfGUHDutKBEmld56S5LpJiv1ZJ/1bFDLr5fkmVTCDi1CiNMKBbsQ\nNUHBLkRNULALURMU7ELUBAW7EDWhr9Kbu4fyRCQ/QLzwfNRe2GIZZG4mtj17/NnQ1gn2ly0lFC13\nBdDpJllexJJdw2Lb6MimyvaXXPrisM/ePY+GtuPHYx83bzkztA0Nb6hsb3fisZ+YiuvkHZ+I5c1M\n1oqyw/IMtdBE77JcPI7PPHO0sj3LAozeVzYWywp2M9sLnAA6QNvdty9ne0KI1WMlzuy/7O5HVmA7\nQohVRPfsQtSE5Qa7A980s3vNbEfVC8xsh5ntMrNd2T22EGJ1We5l/FXuvt/MXgDcYWaPuvu357/A\n3XcCOwE2bFjf4wrWQojlsqwzu7vvL/8fAm4FrlwJp4QQK0/PZ3Yz2wA03P1E+fi1wO9nfdrtDocP\nP11py6SJbiAnZJcJxmBijd/2XJKVNTtbLQ1deOHFYZ+XvvSK0NYciLO11q+Piw02E21oaGiosn10\nZCTss25DPB6Tx+O514HBZIwDHztJZthcOz4G5jw+Lw0m8ubExHhl+/h4XJgxy17LbkXT5bySrL3o\nuMrk6Ejmy6TN5VzGnw3cWr7BFvCn7v4/l7E9IcQq0nOwu/se4KUr6IsQYhWR9CZETVCwC1ETFOxC\n1AQFuxA1oa9Zb91ul6nJapkhky0skBmskRXk662goFki/8xNVrYPDsYS2gUXXBDazjrnrNA2MhpL\nZVHGE0ArWNssK2A5MVEthwK0N8cSYFSAE+Lsq243zsqaS2Qjb8Xy2obR0dB2/NnqLMbRZHwnJ6s/\nZ4Dx8WopD/LxyKTlTZuqMxWzfU2FGYLxGOrMLkRNULALURMU7ELUBAW7EDVBwS5ETejrbDzECQHZ\nbHxa9ivaTzLr20pm3M/aHM/sXnzBOZXtL3rR+WGfZjepkzcTL63UHoo/moFEaZidqk6emJuOa7iN\nbIhnpjuDyTJa7WT2uVM9xtms9FzQB8AbsQKRJeRESVSZopHVDYxmziFXPDLbtm3bKtunp+PjI1IM\nntp/MOyjM7sQNUHBLkRNULALURMU7ELUBAW7EDVBwS5ETThlpLesRldElgjjnVjyGhyM3/Yrfulv\nhbaLL7mwsn1ooHqpI4B16zaGtm5Sgy6TDrP3Fo3IuqFkOakzNoe29mx1TTvI67FFiTDZkldpqfFm\n/Jk1E1uUGJTVd8skr0yWy7Z5+PDh0BbJgOvXrw/7DAZy48EDcc1AndmFqAkKdiFqgoJdiJqgYBei\nJijYhagJCnYhakLfpbdGo/r7Jc16i7Zl8XdVsJuTewstW7acEdrOPfe8aoPHw7hhfSJrNWM/Oh5L\nbxkDrWoZZ926ODNsdja2TU/H0lsnld6qJbZe5DqAZpKlFh1TEEu6R47EEtWhQ4dC25VXxssZ7t27\nN7QdPBhno40GNfSyzLye4mWhF5jZzWZ2yMwemte2xczuMLPHyv9xhAghTgkWcxn/GeB1z2u7HrjT\n3V8M3Fk+F0KcwiwY7OV66888r/ka4Jby8S3AG1fYLyHECtPrPfvZ7j5WPj5AsaJrJWa2A9gB+b2V\nEGJ1WXb0eTEDEv6w3d13uvt2d9+uYBdi7eg1+g6a2TaA8n88fSmEOCXo9TL+68A7gQ+X/29bTCcz\nC7OQskKE0RVBIym8GO0HwJPvuIHhuPji8Eh1Btv+/fF33eYzzw1tGzfEspYTj0eWOdYMxiqTtaam\nk/FI5J9MRuupsGjC5FS8JNNPf/rT0Pbggw9Wtu/evTvss3FjnKl41VVXhbZsuaajR4+Gtqh4ZHYM\nDw1VZ99ln8lipLcvAN8DfsHM9pnZuyiC/NfM7DHgNeVzIcQpzIJndne/NjD96gr7IoRYRTRjJkRN\nULALURMU7ELUBAW7EDWhr1lvzUaT0ZHqDJ92UkQxIpOTOt1Y4pmdi/vNJMlmNjhc2f6tu/9f2Gfs\n0PHQ9vJfujy0nXP21tiPRL5qz1WPY1rMMVHDBpMCi9mPpJqN6mKaWTHHPXt+Etruv/++0Pbggw+F\ntgMHxirbxycmwj7R2muQF0bN3tvwcPWxA/G6eFNT8fp8U1PV+8piQmd2IWqCgl2ImqBgF6ImKNiF\nqAkKdiFqgoJdiJrQX+mt2WDThuqssuZA7Mp0sIbWgUNxEb/JqZnQliyjxvhELHe0WtVZavv27w/7\n7N79w9D25JM/Dm1v+PWrQ9tLXvILoW1wqFpHm5ubC/usG4nXFMvW05udidc2e+KJ6ky0737nu2Gf\nH9wXy2vHDjwV2rLssNHB6s9sMslQG02y3trt+OCZnorHY3hdvB5gJJe1Erk0klKnLfZBZ3YhaoKC\nXYiaoGAXoiYo2IWoCQp2IWpCX2fjvdtlLvgB/+BgPAM6MVE9c3pi/ES8rzhfgaS8G7OzcTJDlNwx\nOFDdDnD06OHQ9n/uuiu0PTVWncAB8OY3vzm0veIVL69s33TGlrBPpxPP4P70ib2h7a67vhXa/vzP\n765sf2p//L5mg88Z4KLN8fHxwvPPD22P7dtX2Z5Vwhsdjfc1MxPPkE8lClB2Xo3ymrJizM1w6bD4\nnenMLkRNULALURMU7ELUBAW7EDVBwS5ETVCwC1ET+iq9gYU6w8xsJltUE0lhC+EWJzPMzmR+VOt5\nA0kST7LmJbOzcXLKo48+Gto+/elPh7aoLtw111wT9vlWIgF+8pOfDG2P790b2iYnqxOKEtWTViKX\neqJDTQT7ApgI6rh1E4lqKKkXNxEs1QR5DbpM64s+s6zeXbibpD7hYpZ/utnMDpnZQ/PabjCz/WZ2\nf/kXp2gJIU4JFnMZ/xngdRXtH3P3y8u/21fWLSHESrNgsLv7t4Fn+uCLEGIVWc4E3XvM7IHyMv+M\n6EVmtsPMdpnZrl5qwwshVoZeg/0TwCXA5cAYcGP0Qnff6e7b3X17q9nn+UAhxM/oKdjd/aC7d9y9\nC3wKuHJl3RJCrDQ9nWrNbJu7n0xfehMQr78zj063y/hUtXTRnIslr7B+WrBsDkCzFctyycpQzM4k\n8olX7y/Leusmty7dZKmeZjPe5jPPxFMohw9XZ9kNDg6GfR5/vLpeHMAPH42XZGonxfxarer9zbTj\nDLu5ZKzG5+J+x5+KM+mOnQiWebL4PBf5DnD8eLycVyq9JUTSWyajZbaIBYPdzL4AvBrYamb7gA8C\nrzazyylE5L3Aby15z0KIvrJgsLv7tRXNN62CL0KIVUQ/lxWiJijYhagJCnYhaoKCXYia0Ndfucy1\n5zhw+FClrZlkNUW2VpL11kykiblEMpqdjrOavFMtAQ4PDoR9hhJZLq2J2U1kxUSWiySZLIFqKpGM\nup5lUcW2TiBhDieJiq11seT1dCJ5zSTZg5FlMFiGDKA1UL1kFMDTh6qPX8ilt0wqi5avyj7nXjLi\ndGYXoiYo2IWoCQp2IWqCgl2ImqBgF6ImKNiFqAl9TzDvBoJTI5ESItGikakPSUZZIxG9Okl2VWQ7\nI1mHbHRkQ2ibPRbLSe12nAGWyS6RrZNklE0nxT5nO7FtyGI/tmyolq8uOOvMsM9cO5bQHg7WbAOY\nTRLAPDifNZqxzLfn8SdC29EjsfTWTSTdrOJkJzhWs0zFTJqN0JldiJqgYBeiJijYhagJCnYhaoKC\nXYia0P9yr1FCQDajGtSaaySJMMPD60LbwND60DaY1a4LEmEGk+Wf2slMdzaj2k7q6zUaS5+pj2Z8\nAabn4gSODrE6kZ0pzj1ja2X7JVu3hH32j8W15LqJAtFJkqgaFnw2SZ+HHn4ktJHU0MuOx+yzjmxT\nwdJVGdl+dGYXoiYo2IWoCQp2IWqCgl2ImqBgF6ImKNiFqAmLWRHmfOCzwNkUZdN2uvvHzWwL8CXg\nIopVYd7q7kfzrTnm1bLRQFJva2SoOqlidP1w2GfdhlheazdinS9angrgsccfr2wfO3wk7DM5F8tk\nlkg1jWCpKeit/lgmvXVnYznJ2skST0ntvVar+jM7fDRO/jl8bDy0dZM1uzxJbLKBIBEmOQbagcQK\nYFmyS7YiU7aUUyADZsuDrVYNujbwfne/DHg58G4zuwy4HrjT3V8M3Fk+F0KcoiwY7O4+5u73lY9P\nALuB84BrgFvKl90CvHG1nBRCLJ8l3bOb2UXAFcA9wNnzVnI9QHGZL4Q4RVn0z2XNbAT4KvA+dz8+\nvw62u7tZdSUDM9sB7CgfL89bIUTPLOrMbmYDFIH+eXf/Wtl80My2lfZtQGUJD3ff6e7b3X27Yl2I\ntWPBYLfidHwTsNvdPzrP9HXgneXjdwK3rbx7QoiVYjGX8a8ErgMeNLP7y7YPAB8Gvmxm7wKeAN66\n4M6aDbZuqpbERjfEMtr6oWqJZzCRT6Y6sZx0fDKWw56djKW3Y7ffXtn+zLMnwj6dgaSO2GycbdZL\nnbmMTHrz2Xg8Wp14jLvdWDo8NF793p5MxvfZE7GtkyxDRTcej0agDgZ3nQC4JbJn4kZ2m+rJabUb\n+Z8c356854gFg93d7yZWEH91yXsUQqwJ+gWdEDVBwS5ETVCwC1ETFOxC1AQFuxA1oa8FJwdaLV5w\n5hmVtkYz/t6JJI3puTg7aWImlpNmZ+N+M0mW2vhUUDyyGWd/NRIblkhvmbSSqVBBwcHZJLNtOlny\nqp1klM0mtrFnnq7eXpJFFy0NBqm6liabNYJjJ5PJ0h9/pUtNrSzZ9iJb1kdndiFqgoJdiJqgYBei\nJijYhagJCnYhaoKCXYia0FfprdvtMjtTLTd1ku+dLS84p7J9qBVnlA0na6VtmJoIbfvHDoQ2GtXD\n5VFqFdBMCkemOkkm8SRZbystvc0l2WFGkh0WaGWdpA/JWFmW6ZeMVSMo5tiw+HjzLCMu3lVfiaTD\nVIZcHVeEEKcaCnYhaoKCXYiaoGAXoiYo2IWoCX2djW93Ohx+pnqFqJFNZ4b91o1sqmw/MRUntGze\nPBrahtfHS0ONHYiXcupGhcSyAmMJYe0xoJssM5RNTEe15uaSpKHpZKbek9nzdjJrHfmf13CLba1g\nVh3yGehmsKxYmuzSQ42/hfxIhZceknV6cUJndiFqgoJdiJqgYBeiJijYhagJCnYhaoKCXYiasKD0\nZmbnA5+lWJLZgZ3u/nEzuwH4TeBw+dIPuHv1+kglna5zfKpaktl8zkjsQ1DHbd++x8M+oy95Sby9\n9DsutjWCRJhuVs8s00Ky5YJ6zLiIpLfp6bje3Uxio5M4khWGC0xpebdexzEhSoTppslEWfJPQup/\nTJS81NMSYMlHshidvQ28393vM7NR4F4zu6O0fczd/90itiGEWGMWs9bbGDBWPj5hZruB81bbMSHE\nyrKke3Yzuwi4ArinbHqPmT1gZjebWXWNaCHEKcGig93MRoCvAu9z9+PAJ4BLgMspzvw3Bv12mNku\nM9vVy1LDQoiVYVHBbmYDFIH+eXf/GoC7H3T3jrt3gU8BV1b1dfed7r7d3bf39FtfIcSKsGCwWxGh\nNwG73f2j89q3zXvZm4CHVt49IcRKsZjZ+FcC1wEPmtn9ZdsHgGvN7HKKyf69wG8tuCVr0GlVZ5xN\nzsZZXocOHapsn50cD/scPhjXksuklez7zyzKoMr6JLtaBSLpbXJyMuwzM5VIb1npt0SWawS3bLm8\nlpD50Yh7NoKst2hZqIW2Z92s39JrA0L/st4WMxt/d7CJVFMXQpxa6Bd0QtQEBbsQNUHBLkRNULAL\nURMU7ELUhL4WnASDZvUujx0/HvaaHD9R2d6emwn7PP54nBHXGhgKbQOJLczkSuSOZqNa+gFoBmMB\nMEdcBDLj0R/+qLJ9ZHRj2OdAtuRVRiYnRYbkV5SZhJkWbEyKUUZj3EjGvpW8L9Ilr5Yur0GcmZcR\nS3nJfpa8FyHEzyUKdiFqgoJdiJqgYBeiJijYhagJCnYhakKfpTen4e1qS5JB1aFavuokC4dl65fZ\nXLyv4fXx99+6KIMq7BGvNVbsa0Nom0n877TjDMHv77q3sv2R3T8M+zx9pDqrEKCZyEK9FCPJss08\nE9iCoqMAQ8Px2n2N1mCws96KW2Y+rnRxlmx7ofSW9NGZXYiaoGAXoiYo2IWoCQp2IWqCgl2ImqBg\nF6Im9Fl6AzxY1yop5BetpdZsxXLMwGC8vdnZavkPVl4+yfK11g0Ph7YN7djHE0mG4Pj4xJLaASz4\nTApjbxUzwyyvVHqLbcPZWCUZfdEW0885GQ5PipX2tDYbsYyWFakM14cLe+jMLkRtULALURMU7ELU\nBAW7EDVBwS5ETVhwNt7M1gHfBobK13/F3T9oZi8CvgicCdwLXOfuCxZOi2Yle5mtzGp3DQwkM/VJ\nnbnBwSBxYhXI/N+4MZ5hzmZpx09U1+tLZ4qTOdyVXr0qq8U2nCS0rB8ZCW1ZslGUGJKNYXosrvCM\ne9av19n9iMWc2WeAX3H3l1Isz/w6M3s58IfAx9z9UuAo8K4l710I0TcWDHYvOLmC4kD558CvAF8p\n228B3rgqHgohVoTFrs/eLFdwPQTcAfwEOOb+s+T0fcB5q+OiEGIlWFSwu3vH3S8HXghcCfziYndg\nZjvMbJeZ7crqagshVpclzca7+zHgLuAVwGYzOznB90Jgf9Bnp7tvd/ftWTF/IcTqsmD0mdlZZra5\nfDwM/BqwmyLo31K+7J3AbavlpBBi+SwmEWYbcIuZNSm+HL7s7t8ws0eAL5rZh4C/BG5acEvuoQTR\ni8ST5Wg0kqWEsiuMXuSO7PYkFUgSPzKJatOmTXG/oP1EIMlBWrZsxckSWkYTudETea3biWvyRZ9Z\nLoVlt5u9DdZKy2iR3JjF0YLB7u4PAFdUtO+huH8XQvwcoJtoIWqCgl2ImqBgF6ImKNiFqAkKdiFq\ngq18zbVkZ2aHgSfKp1uBI33beYz8eC7y47n8vPlxobufVWXoa7A/Z8dmu9x9+5rsXH7Ijxr6oct4\nIWqCgl2ImrCWwb5zDfc9H/nxXOTHczlt/Fize3YhRH/RZbwQNUHBLkRNWJNgN7PXmdkPzezHZnb9\nWvhQ+rHXzB40s/vNbFcf93uzmR0ys4fmtW0xszvM7LHy/xlr5McNZra/HJP7zezqPvhxvpndZWaP\nmNnDZvbesr2vY5L40dcxMbN1ZvZ9M/tB6cfvle0vMrN7yrj5kpktrRSyu/f1D2hS1LC7GBgEfgBc\n1m8/Sl/2AlvXYL+vAl4GPDSv7SPA9eXj64E/XCM/bgB+u8/jsQ14Wfl4FPgRcFm/xyTxo69jQpGW\nPlI+HgDuAV4OfBl4W9n+x8A/Xsp21+LMfiXwY3ff40Wd+S8C16yBH2uGu38beOZ5zddQVOmFPlXr\nDfzoO+4+5u73lY9PUFRCOo8+j0niR1/xghWv6LwWwX4e8OS852tZmdaBb5rZvWa2Y418OMnZ7j5W\nPj4AnL2GvrzHzB4oL/NX/XZiPmZ2EUWxlHtYwzF5nh/Q5zFZjYrOdZ+gu8rdXwa8Hni3mb1qrR2C\n4pudXusfLZ9PAJdQLAgyBtzYrx2b2QjwVeB97v6cRej7OSYVfvR9THwZFZ0j1iLY9wPnz3seVqZd\nbdx9f/n/EHAra1tm66CZbQMo/x9aCyfc/WB5oHWBT9GnMTGzAYoA+7y7f61s7vuYVPmxVmNS7nvJ\nFZ0j1iLY/wJ4cTmzOAi8Dfh6v50wsw1mNnryMfBa4KG816rydYoqvbCG1XpPBlfJm+jDmFhRXfMm\nYLe7f3Seqa9jEvnR7zFZtYrO/ZphfN5s49UUM50/AX53jXy4mEIJ+AHwcD/9AL5AcTk4R3Hv9S6K\nBTLvBB4D/jewZY38+BPgQeABimDb1gc/rqK4RH8AuL/8u7rfY5L40dcxAf4mRcXmByi+WP71vGP2\n+8CPgT8DhpayXf1cVoiaUPcJOiFqg4JdiJqgYBeiJijYhagJCnYhaoKCXYiaoGAXoib8fzsxaYiV\nUTD2AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jWIbBjVPVLeq",
"colab_type": "code",
"outputId": "4f24add4-1cbd-40a9-ba8d-70fefd9e1590",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 298
}
},
"source": [
"# generate dummy data and label\n",
"dummy_data = torch.randn(gt_data.size()).to(device).requires_grad_(True)\n",
"dummy_label = torch.randn(gt_onehot_label.size()).to(device).requires_grad_(True)\n",
"\n",
"plt.imshow(tt(dummy_data[0].cpu()))\n",
"plt.title(\"Dummy data\")\n",
"print(\"Dummy label is %d.\" % torch.argmax(dummy_label, dim=-1).item())"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"Dummy label is 64.\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NZNuuwTFlYr0",
"colab_type": "code",
"outputId": "52e642e4-79bd-46c7-f995-25e19ab92737",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 527
}
},
"source": [
"optimizer = torch.optim.LBFGS([dummy_data, dummy_label] )\n",
"\n",
"history = []\n",
"for iters in range(300):\n",
" def closure():\n",
" optimizer.zero_grad()\n",
"\n",
" pred = net(dummy_data) \n",
" dummy_onehot_label = F.softmax(dummy_label, dim=-1)\n",
" dummy_loss = criterion(pred, dummy_onehot_label) # TODO: fix the gt_label to dummy_label in both code and slides.\n",
" dummy_dy_dx = torch.autograd.grad(dummy_loss, net.parameters(), create_graph=True)\n",
" \n",
" grad_diff = 0\n",
" grad_count = 0\n",
" for gx, gy in zip(dummy_dy_dx, original_dy_dx): # TODO: fix the variablas here\n",
" grad_diff += ((gx - gy) ** 2).sum()\n",
" grad_count += gx.nelement()\n",
" # grad_diff = grad_diff / grad_count * 1000\n",
" grad_diff.backward()\n",
" \n",
" return grad_diff\n",
" \n",
" optimizer.step(closure)\n",
" if iters % 10 == 0: \n",
" current_loss = closure()\n",
" print(iters, \"%.4f\" % current_loss.item())\n",
" history.append(tt(dummy_data[0].cpu()))"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"0 31.9820\n",
"10 0.6084\n",
"20 0.1342\n",
"30 0.0239\n",
"40 0.0053\n",
"50 0.0014\n",
"60 0.0004\n",
"70 0.0002\n",
"80 0.0001\n",
"90 0.0000\n",
"100 0.0000\n",
"110 0.0000\n",
"120 0.0000\n",
"130 0.0000\n",
"140 0.0000\n",
"150 0.0000\n",
"160 0.0000\n",
"170 0.0000\n",
"180 0.0000\n",
"190 0.0000\n",
"200 0.0000\n",
"210 0.0000\n",
"220 0.0000\n",
"230 0.0000\n",
"240 0.0000\n",
"250 0.0000\n",
"260 0.0000\n",
"270 0.0000\n",
"280 0.0000\n",
"290 0.0000\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aokP-jhal96-",
"colab_type": "code",
"outputId": "595e775a-7f91-49a8-cfaa-384c7a320002",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 428
}
},
"source": [
"plt.figure(figsize=(12, 8))\n",
"for i in range(30):\n",
" plt.subplot(3, 10, i + 1)\n",
" plt.imshow(history[i * 10])\n",
" plt.title(\"iter=%d\" % (i * 10))\n",
" plt.axis('off')\n",
"print(\"Dummy label is %d.\" % torch.argmax(dummy_label, dim=-1).item())"
],
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"text": [
"Dummy label is 84.\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x576 with 30 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "vpi6_qz3egtr",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
@ProfessorX
Copy link

火钳刘明。

@dexhunter
Copy link

interesting work, thanks for sharing

@Wan-Yifei
Copy link

这个要火

@LYF14020510036
Copy link

你好,我想问一下关于你的论文 Deep Leakage from Gradients(很棒的工作)。 你们的方法你能不能恢复 graph数据?? 或者如果每个局部用户的 graph数据的标签空间大小(|Y|)不一样的时候,能不能恢复 graph 数据???我训练的时候,每个用户的 batch size 设置都不一样,可以恢复graph 数据么???

@TheSunWillRise
Copy link

TheSunWillRise commented Dec 18, 2019

你好,我用这套代码,每次跑了几十个iter之后loss突然就炸了,请问你遇到过吗?
以下是一次实验记录:

0 117.4059
10 4.3706
20 0.2128
30 0.0191
40 0.0050
50 0.0022
60 0.0030
70 0.0008
80 0.0004
90 213.8976
100 213.8976
110 213.8976
120 213.8976
130 213.8976
140 213.8976
150 213.8976
160 213.8976
170 213.8976
180 213.8976
190 213.8976
200 213.8976
210 213.8976
220 213.8976
230 213.8976
240 213.8976
250 213.8976
260 213.8976
270 213.8976
280 213.8976
290 213.8976

@Lyken17
Copy link
Author

Lyken17 commented Dec 18, 2019

@LYF14020510036 Haven't tested on Graph data yet. I think DLG should work since it requires model to be twice-differentiable, as long as the batch size is known.

@Lyken17
Copy link
Author

Lyken17 commented Dec 18, 2019

@815961618 I think that is an issue for L-BFGS. I am now testing adam (which is more robust). Will update a new version soon.

@slowbull
Copy link

Great work! In the paper, label variable is also trainable, however, label variable is fixed as the groundtruth in the code. It looks like that the earlier version requires more iterations to converge. Could you also give hints or code how to train when data and label are both trainable?

@Manchery
Copy link

Hi, great work! Is there any code for batched data?

@Harxis
Copy link

Harxis commented Mar 15, 2020

I have experimented on ResNet base the code shared on https://github.com/mit-han-lab/dlg.And I haved following the paper saying: remove stride and replace activation function ReLu as Sigmoid, but I found the DLG way fail on ResNet. Cloud you please show me the code on ResNet?
Or anyone have experimented on ResNet, please show me how you done?

@SiHE-master
Copy link

你好,我用这套代码,每次跑了几十个iter之后loss突然就炸了,请问你遇到过吗? 以下是一次实验记录:

0 117.4059 10 4.3706 20 0.2128 30 0.0191 40 0.0050 50 0.0022 60 0.0030 70 0.0008 80 0.0004 90 213.8976 100 213.8976 110 213.8976 120 213.8976 130 213.8976 140 213.8976 150 213.8976 160 213.8976 170 213.8976 180 213.8976 190 213.8976 200 213.8976 210 213.8976 220 213.8976 230 213.8976 240 213.8976 250 213.8976 260 213.8976 270 213.8976 280 213.8976 290 213.8976

@815961618 不知道你解决了没 我把手动种子torch.manual_seed注释了就好了

@mil137
Copy link

mil137 commented Oct 26, 2022

I have experimented on ResNet base the code shared on https://github.com/mit-han-lab/dlg.And I haved following the paper saying: remove stride and replace activation function ReLu as Sigmoid, but I found the DLG way fail on ResNet. Cloud you please show me the code on ResNet? Or anyone have experimented on ResNet, please show me how you done?

Have you resolved this? I'm also getting stuck here @Harxis @Lyken17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment