AAAD/plot/.ipynb_checkpoints/visualize-checkpoint.ipynb

942 lines
84 KiB
Plaintext
Raw Permalink Normal View History

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from graphviz import Digraph"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from collections import namedtuple\n",
"Genotype = namedtuple('Genotype', 'normal normal_concat reduce reduce_concat')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def plot(genotype, filename):\n",
" g = Digraph(\n",
" format='pdf',\n",
" edge_attr=dict(fontsize='20', fontname=\"times\"),\n",
" node_attr=dict(style='filled', shape='rect', align='center', fontsize='20', height='0.5', width='0.5', penwidth='2', fontname=\"times\"),\n",
" engine='dot')\n",
" g.body.extend(['rankdir=LR'])\n",
"\n",
" g.node(\"c_{k-2}\", fillcolor='darkseagreen2')\n",
" g.node(\"c_{k-1}\", fillcolor='darkseagreen2')\n",
" assert len(genotype) % 2 == 0\n",
" steps = len(genotype) // 2\n",
"\n",
" for i in range(steps):\n",
" g.node(str(i), fillcolor='lightblue')\n",
"\n",
" for i in range(steps):\n",
" for k in [2*i, 2*i + 1]:\n",
" op, j = genotype[k]\n",
" if j == 0:\n",
" u = \"c_{k-2}\"\n",
" elif j == 1:\n",
" u = \"c_{k-1}\"\n",
" else:\n",
" u = str(j-2)\n",
" v = str(i)\n",
" g.edge(u, v, label=op, fillcolor=\"gray\")\n",
"\n",
" g.node(\"c_{k}\", fillcolor='palegoldenrod')\n",
" for i in range(steps):\n",
" g.edge(str(i), \"c_{k}\", fillcolor=\"gray\")\n",
"\n",
" g.render(filename, view=True)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"genotype = Genotype(normal=[('max_pool_3x3', 1), ('sep_conv_5x5', 0), ('max_pool_3x3', 2), ('sep_conv_5x5', 0), ('sep_conv_5x5', 3), ('sep_conv_5x5', 0), ('sep_conv_5x5', 3), ('sep_conv_5x5', 0)], normal_concat=range(2, 6), reduce=[('skip_connect', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('sep_conv_5x5', 0), ('max_pool_3x3', 3), ('sep_conv_5x5', 2), ('sep_conv_5x5', 4), ('sep_conv_5x5', 0)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"DARTS_V1 = Genotype(\n",
" normal=[('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0),\n",
" ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 2)], normal_concat=[2, 3, 4, 5],\n",
" reduce=[('max_pool_3x3', 0), ('max_pool_3x3', 1), ('skip_connect', 2), ('max_pool_3x3', 0), ('max_pool_3x3', 0),\n",
" ('skip_connect', 2), ('skip_connect', 2), ('avg_pool_3x3', 0)], reduce_concat=[2, 3, 4, 5])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('sep_conv_3x3', 1),\n",
" ('sep_conv_3x3', 0),\n",
" ('skip_connect', 0),\n",
" ('sep_conv_3x3', 1),\n",
" ('skip_connect', 0),\n",
" ('sep_conv_3x3', 1),\n",
" ('sep_conv_3x3', 0),\n",
" ('skip_connect', 2)]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"DARTS_V1.normal"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"a, b = zip(*DARTS_V1.normal)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 0, 0, 1, 0, 1, 0, 2)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('sep_conv_3x3',\n",
" 'sep_conv_3x3',\n",
" 'skip_connect',\n",
" 'sep_conv_3x3',\n",
" 'skip_connect',\n",
" 'sep_conv_3x3',\n",
" 'sep_conv_3x3',\n",
" 'skip_connect')"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"FairDARTS_a = Genotype(normal=[('sep_conv_3x3', 2, 0), ('sep_conv_5x5', 2, 1), ('max_pool_3x3', 4, 0), ('sep_conv_3x3', 5, 0)], normal_concat=range(2, 6),\n",
" reduce=[('max_pool_3x3', 2, 0), ('avg_pool_3x3', 2, 1), ('avg_pool_3x3', 3, 0), ('dil_conv_5x5', 3, 1), ('avg_pool_3x3', 4, 0), ('sep_conv_5x5', 4, 1),\n",
" ('skip_connect', 5, 0), ('skip_connect', 5, 1)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"gr = FairDARTS_a.normal"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('sep_conv_3x3', 2, 0),\n",
" ('sep_conv_5x5', 2, 1),\n",
" ('max_pool_3x3', 4, 0),\n",
" ('sep_conv_3x3', 5, 0)]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gr"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "too many values to unpack (expected 2)",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-20-a86f2c41372c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mgr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mValueError\u001b[0m: too many values to unpack (expected 2)"
]
}
],
"source": [
"a,b = zip(*gr)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'Genotype' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-1-dcc62ffe73d1>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mDARTS_Arch0\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mGenotype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnormal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_5x5'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'skip_connect'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnormal_concat\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m6\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreduce\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'sep_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'skip_connect'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'dil_conv_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'skip_connect'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'avg_pool_3x3'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'skip_connect'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'skip_connect'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreduce_concat\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m6\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mNameError\u001b[0m: name 'Genotype' is not defined"
]
}
],
"source": [
"DARTS_Arch0 = Genotype(normal=[('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('sep_conv_5x5', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 2), ('skip_connect', 0), ('avg_pool_3x3', 1), ('skip_connect', 2), ('skip_connect', 0)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"PCDARTS_natural = Genotype(\n",
" normal=[('sep_conv_5x5', 0), ('sep_conv_3x3', 1), ('dil_conv_3x3', 0), ('sep_conv_5x5', 2), ('dil_conv_5x5', 0),\n",
" ('dil_conv_3x3', 1), ('dil_conv_3x3', 0), ('skip_connect', 1)], normal_concat=range(2, 6),\n",
" reduce=[('dil_conv_5x5', 1), ('dil_conv_5x5', 0), ('sep_conv_3x3', 2), ('skip_connect', 1), ('sep_conv_3x3', 1),\n",
" ('skip_connect', 0), ('sep_conv_3x3', 2), ('dil_conv_5x5', 4)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"PCDART_FGSM_es = Genotype(\n",
" normal=[('sep_conv_3x3', 0), ('skip_connect', 1), ('sep_conv_3x3', 1), ('skip_connect', 2), ('sep_conv_5x5', 0),\n",
" ('sep_conv_5x5', 3), ('max_pool_3x3', 2), ('sep_conv_5x5', 0)], normal_concat=range(2, 6),\n",
" reduce=[('sep_conv_5x5', 0), ('avg_pool_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 2), ('sep_conv_5x5', 0),\n",
" ('sep_conv_3x3', 3), ('sep_conv_5x5', 0), ('sep_conv_5x5', 2)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"PCDARTS_FGSM = Genotype(\n",
" normal=[('skip_connect', 0), ('skip_connect', 1), ('skip_connect', 1), ('skip_connect', 0), ('sep_conv_5x5', 0),\n",
" ('skip_connect', 3), ('avg_pool_3x3', 0), ('max_pool_3x3', 2)], normal_concat=range(2, 6),\n",
" reduce=[('avg_pool_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 0), ('dil_conv_5x5', 2), ('sep_conv_3x3', 0),\n",
" ('sep_conv_3x3', 3), ('sep_conv_5x5', 0), ('sep_conv_3x3', 2)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"PCDARTS_CAA_noise_FGSM = Genotype(\n",
" normal=[('sep_conv_3x3', 1), ('dil_conv_5x5', 0), ('max_pool_3x3', 2), ('sep_conv_3x3', 1), ('sep_conv_3x3', 2),\n",
" ('sep_conv_3x3', 1), ('sep_conv_3x3', 2), ('sep_conv_3x3', 0)], normal_concat=range(2, 6),\n",
" reduce=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('dil_conv_5x5', 2), ('sep_conv_5x5', 2),\n",
" ('max_pool_3x3', 3), ('max_pool_3x3', 3), ('sep_conv_3x3', 4)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"NASP_Jacobian = Genotype(normal=[('sep_conv_5x5', 0), ('dil_conv_5x5', 1), ('dil_conv_5x5', 1), ('dil_conv_3x3', 2), ('dil_conv_3x3', 1), ('sep_conv_5x5', 2), ('dil_conv_3x3', 1), ('sep_conv_5x5', 0)], normal_concat=range(2, 6), reduce=[('sep_conv_5x5', 0), ('sep_conv_3x3', 1), ('sep_conv_5x5', 2), ('skip_connect', 0), ('sep_conv_5x5', 3), ('max_pool_3x3', 0), ('dil_conv_3x3', 4), ('max_pool_3x3', 3)], reduce_concat=range(2, 6))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"(dot.exe:680): Pango-WARNING **: couldn't load font \"times Not-Rotated 20\", falling back to \"Sans Not-Rotated 20\", expect ugly output.\n",
"\n",
"(dot.exe:13756): Pango-WARNING **: couldn't load font \"times Not-Rotated 20\", falling back to \"Sans Not-Rotated 20\", expect ugly output.\n"
]
}
],
"source": [
"plot(PCDARTS_natural.normal, \"normal\")\n",
"plot(PCDARTS_natural.reduce, \"reduction\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"ename": "ExecutableNotFound",
"evalue": "failed to execute 'dot', make sure the Graphviz executables are on your systems' PATH",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\backend\\execute.py\u001b[0m in \u001b[0;36mrun_check\u001b[1;34m(cmd, input_lines, encoding, capture_output, quiet, **kwargs)\u001b[0m\n\u001b[0;32m 84\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 85\u001b[1;33m \u001b[0mproc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msubprocess\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 86\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\subprocess.py\u001b[0m in \u001b[0;36mrun\u001b[1;34m(input, capture_output, timeout, check, *popenargs, **kwargs)\u001b[0m\n\u001b[0;32m 471\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 472\u001b[1;33m \u001b[1;32mwith\u001b[0m \u001b[0mPopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mpopenargs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mprocess\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 473\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\subprocess.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)\u001b[0m\n\u001b[0;32m 774\u001b[0m \u001b[0merrread\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merrwrite\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 775\u001b[1;33m restore_signals, start_new_session)\n\u001b[0m\u001b[0;32m 776\u001b[0m \u001b[1;32mexcept\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\subprocess.py\u001b[0m in \u001b[0;36m_execute_child\u001b[1;34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)\u001b[0m\n\u001b[0;32m 1177\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfspath\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcwd\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcwd\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1178\u001b[1;33m startupinfo)\n\u001b[0m\u001b[0;32m 1179\u001b[0m \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mFileNotFoundError\u001b[0m: [WinError 2] 系统找不到指定的文件。",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[1;31mExecutableNotFound\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-20-a3db62116faf>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mDARTS_Arch0\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnormal\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"normal\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mDARTS_Arch0\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreduce\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"reduction\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-14-ef1dac6f7e77>\u001b[0m in \u001b[0;36mplot\u001b[1;34m(genotype, filename)\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[0mg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0medge\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"c_{k}\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfillcolor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"gray\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 33\u001b[1;33m \u001b[0mg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrender\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mview\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\_tools.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 170\u001b[0m category=category)\n\u001b[0;32m 171\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 172\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 173\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 174\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\rendering.py\u001b[0m in \u001b[0;36mrender\u001b[1;34m(self, filename, directory, view, cleanup, format, renderer, formatter, quiet, quiet_view, outfile, engine, raise_if_result_exists, overwrite_source)\u001b[0m\n\u001b[0;32m 117\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilepath\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 118\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 119\u001b[1;33m \u001b[0mrendered\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_render\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 120\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 121\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcleanup\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\_tools.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 170\u001b[0m category=category)\n\u001b[0;32m 171\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 172\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 173\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 174\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\backend\\rendering.py\u001b[0m in \u001b[0;36mrender\u001b[1;34m(engine, format, filepath, renderer, formatter, quiet, outfile, raise_if_result_exists, overwrite_filepath)\u001b[0m\n\u001b[0;32m 318\u001b[0m \u001b[0mcwd\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfilepath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparent\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfilepath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparent\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparts\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 319\u001b[0m \u001b[0mquiet\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mquiet\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 320\u001b[1;33m capture_output=True)\n\u001b[0m\u001b[0;32m 321\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 322\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfspath\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutfile\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\conda\\lib\\site-packages\\graphviz\\backend\\execute.py\u001b[0m in \u001b[0;36mrun_check\u001b[1;34m(cmd, input_lines, encoding, capture_output, quiet, **kwargs)\u001b[0m\n\u001b[0;32m 86\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrno\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0merrno\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mENOENT\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 88\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mExecutableNotFound\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 89\u001b[0m \u001b[1;32mraise\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mExecutableNotFound\u001b[0m: failed to execute 'dot', make sure the Graphviz executables are on your systems' PATH"
]
}
],
"source": [
"plot(DARTS_Arch0.normal, \"normal\")\n",
"plot(DARTS_Arch0.reduce, \"reduction\")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"plot(PCDART_FGSM_es.normal, \"normal\")\n",
"plot(PCDART_FGSM_es.reduce, \"reduction\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"plot(PCDARTS_CAA_noise_FGSM.normal, \"normal\")\n",
"plot(PCDARTS_CAA_noise_FGSM.reduce, \"reduction\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# plot(genotype.normal, \"normal\")\n",
"# plot(genotype.reduce, \"reduction\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAa0AAAEiCAYAAABKsI06AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAefklEQVR4nO3df7DVdZ348ecLuMXdUGnwuiugC81NKS8KdDWNadcfyQ9nlpq01NFGW5Edwua7YlS23xqdbXb0S+VOtLW5QTKWkVGikyUqshNawuIg11+R7ErAdYsrCUYCA9f394/zgS5wL/ece8/v83zMMHPu+3zOPe/zGe59n+f5fO45kVJCkqRaMKTSE5AkKV8uWpKkmuGiJUmqGS5akqSa4aIlSaoZLlqSpJoxrNITADj55JPTuHHjKj0NSVIVeOaZZ15LKbX0dl1VLFrjxo1j/fr1lZ6GJKkKRMRv+7rOlwclSTXDRUuSVDNctCRJNaMqjmn15sCBA2zfvp19+/ZVeip1Z/jw4YwdO5ampqZKT0WSClK1i9b27ds54YQTGDduHBFR6enUjZQSO3fuZPv27YwfP77S05GkglTty4P79u1j1KhRLlhFFhGMGjXKgpVUk/pdtCJieESsi4iNEfFCRNx+1PVfj4g9Pb5+e0T8MCI2R8TaiBg30Mm5YJWG+1VSrcqntPYDF6eUzgEmATMi4nyAiGgH3nnU9jcAr6eUWoG7gDuLON+y2bVrF9/85jcrdv+PPPIIZ555Jq2trdxxxx29brN161YuuugiJk+ezNlnn83PfvazMs9Sksqr30Ur5RwqqabsX4qIocBC4LNH3eTDwNLs8nLgkqjBp/aVXLS6u7uZN28eP//5z3nxxRf5wQ9+wIsvvnjMdl/+8pf5+Mc/zoYNG1i2bBmf+tSnKjBbSQK2boV77y353eR1TCsihkbEs8AO4LGU0lrgJuChlNL/HrX5GGAbQErpILAbGNXL95wTEesjYn1XV9dgHkNJfP7zn+e///u/mTRpEgsWLGDPnj1ccsklTJkyhYkTJ/Lggw8CsGXLFtra2g7f7itf+Qq33XbboO573bp1tLa28q53vYu3ve1tXHXVVYfvr6eI4I033gBg9+7djB49elD3K0kFSwm+8x1oa4NPfxpef72kd5fX2YMppW5gUkSMBB6IiL8BPgZcONA7TindDdwN0N7eno678T/+Izz77EDvqneTJsG//mufV99xxx08//zzPJvd78GDB3nggQc48cQTee211zj//POZNWtW3nf3/e9/n4ULFx4z3trayvLly48Y6+zs5LTTTjv89dixY1m7du0xt73tttuYNm0aixYt4k9/+hOPP/543vORpEHbuhVuvBEefRQuvBAWL4Z3Hn3EqLgKOuU9pbQrIlYDFwGtwObslb+/iIjN2XGsTuA0YHtEDANOAnYWd9rll1LiC1/4Ar/4xS8YMmQInZ2d/P73v8/79tdccw3XXHNNUef0gx/8gOuvv55bbrmFX/3qV3ziE5/g+eefZ8iQqj0pVFI9SCm3QM2fD2+9Bd/4BsydC2X43dPvohURLcCBbMFqBi4F7kwp/VWPbfZkCxbAQ8B1wK+AK4AnUkrHL6n+HKeIyuX73/8+XV1dPPPMMzQ1NTFu3Dj27dvHsGHDeOuttw5v19ep5IWU1pgxY9i2bdvhr7dv386YMWOOue3ixYt55JFHALjgggvYt28fr732GqeccsqAHqMk9au3unrXu8p29/mU1qnA0uzEiyHA/Smlnx5n+8XAvRGxGfgDcNXgp1l+J5xwAn/84x8Pf717925OOeUUmpqaWL16Nb/9be5NiP/yL/+SHTt2sHPnTkaMGMFPf/pTZsyYccz3K6S0zj33XF5++WVeeeUVxowZw7Jly7jvvvuO2e70009n1apVXH/99bz00kvs27ePlpZe381fkgangnXVU7+LVkqpA5jczzYjelzeR+54V00bNWoUU6dOpa2tjZkzZ/K5z32Ov/u7v2PixIm0t7czYcIEAJqamvjSl77Eeeedx5gxYw6PD8awYcP4xje+wfTp0+nu7ubv//7vOeusswD40pe+RHt7O7NmzeKrX/0qN954I3fddRcRwT333OPfYEkqvgrXVU8x2FfuiqG9vT0d/XlaL730Eu95z3sqNKP65/6V1K+j6+rOO8tSVxHxTEqpvbfrqva9ByVJFVRFddWTp5lJkv6s599dPfVU7tjVqlVVsWCBpSVJOqRK66onS0uSGl2V11VPlpYkNbIaqKueLC1JakQ1VFc9uWjVkP3793PllVfS2trK+9//frZs2dLrdnfddRdnnXUWbW1tXH311X7go6QjbdsGM2fmCut974OODpg3r+x/KDwQ1T9DHbZ48WLe+c53snnzZm6++WY+97nPHbNNZ2cnX//611m/fj3PP/883d3dLFu2rAKzlVR1Dv3dVVsbPPlkzdRVT3WzaK3Y0MnUO55g/OcfZuodT7BiQ+egvt+WLVuYMGEC119/PWeccQbXXHMNjz/+OFOnTuXd734369atA3IfI3LBBRcwefJkPvCBD7Bp0yYg95lYCxYs4Nxzz+Xss8/m29/+9qAf44MPPsh1110HwBVXXMGqVavo7Y/DDx48yN69ezl48CBvvvmmH1ki6c91NXs2TJlSU3XVU12ciLFiQye3/uQ59h7oBqBz115u/clzAHxk8rFvNJuvzZs386Mf/YglS5Zw7rnnct999/Hkk0/y0EMP8S//8i+sWLGCCRMmsGbNGoYNG8bjjz/OF77wBX784x+zePFiTjrpJP7rv/6L/fv3M3XqVKZNm8b48eOPuI8PfvCDR7zH4SFf+cpX+NCHPnTEWM+PLBk2bBgnnXQSO3fu5OSTTz68zZgxY/jMZz7D6aefTnNzM9OmTWPatGkD3geSalxKsGRJ7l0tursr9p6BxVIXi9bClZsOL1iH7D3QzcKVmwa1aI0fP56JEycCcNZZZ3HJJZcQEUycOPHw8aTdu3dz3XXX8fLLLxMRHDhwAIBHH32Ujo6Ow+/gvnv3bl5++eVjFq01a9YMeH69ef3113nwwQd55ZVXGDlyJB/72Mf43ve+x7XXXlvU+5FUA7Ztyx23WrmyJs4MzEddLFqv7tpb0Hi+3v72tx++PGTIkMNfDxkyhIMHDwLwxS9+kYsuuogHHniALVu2cOGFFwK5z99atGgR06dPP+59FFJahz6yZOzYsRw8eJDdu3czatSRHwr9+OOPM378+MPv9v7Rj36UX/7yly5aUiOps7rqqS4WrdEjm+nsZYEaPbK55Pe9e/fuw591dc899xwenz59Ot/61re4+OKLaWpq4je/+Q1jxozhHe94xxG3L6S0Zs2axdKlS7ngggtYvnw5F1988THv6n766afz9NNP8+abb9Lc3MyqVatob+/1fScl1aM6rKuean/ZBRZMP5PmpqFHjDU3DWXB9DNLft+f/exnufXWW5k8efLh+gKYPXs2733ve5kyZQptbW38wz/8wxHXD8QNN9zAzp07aW1t5Wtf+xp33HEHAK+++iqXXXYZAO9///u54oormDJlChMnTuStt95izpw5g7pfSTWgDs4MzEfdfDTJig2dLFy5iVd37WX0yGYWTD9zUMez6p0fTSLVkTqrq4b4aJKPTB7jIiWpsdTxsau+1M2iJUkNpc7qKl/1uxxLUj1qkGNXfanq0kopHXN2nAavGo5jShqABq2rnqq2tIYPH87OnTv9BVtkKSV27tzJ8OHDKz0VSflq8LrqqWpLa+zYsWzfvp2urq5KT6XuDB8+nLFjx1Z6GpLyYV0doWoXraampmPe8kiSGkYDnhmYj6pdtCSpYVlXfWrsJVuSqonHrvplaUlSNbCu8mJpSVIlWVcFsbQkqVKsq4JZWpJUbtbVgFlaklRO1tWgWFqSVA7WVVFYWpJUatZV0VhaklQq1lXRWVqSVArWVUlYWpJUTNZVSVlaklQs1lXJWVqSNFjWVdlYWpI0GNZVWfVbWhExPCLWRcTGiHghIm7PxhdnYx0RsTwiRmTjp0fE6ojYkF13Wak
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(330,340,10)\n",
"y = np.linspace(330,340,10)\n",
"fig = plt.figure()\n",
"axes = fig.add_axes([0.1,0.1,0.9,0.9])\n",
"axes.plot(x,y,'r')\n",
"plt.scatter([338,334],[336,335])\n",
"plt.savefig('redict.png')\n",
"plt.legend(['tau = 0.8','mae = 0.8'])\n",
"# plt.legend(['mae = 0.8'])\n",
"plt.show()\n",
"\n",
"# plt.scatter(pred,true)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"choice.append({'attacker': random.randint(0, 5), 'magnitude': random.uniform(0, 5),\n",
" 'step': random.randint(0, 20)})"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'attacker': 4, 'magnitude': 3.193435249274854, 'step': 6},\n",
" {'attacker': 5, 'magnitude': 1.0717372411214736, 'step': 16}]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"choice"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"choice.append({'attacker': random.randint(0, 5), 'magnitude': random.uniform(0, 5),\n",
" 'step': random.randint(0, 20)})"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random.randint(0,1)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random.randint(1,2)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"a = [[{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.024948902671414815, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'CWLinf_Attack_adaptive_stepsize', 'magnitude': 0.02852687209318794, 'step': 17}, {'attacker': 'Skip', 'magnitude': 0.004082423056449989, 'step': 4}, {'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.008456012144049537, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.024948902671414815, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'CWLinf_Attack_adaptive_stepsize', 'magnitude': 0.02852687209318794, 'step': 17}, {'attacker': 'Skip', 'magnitude': 0.004082423056449989, 'step': 4}, {'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.008456012144049537, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'step': 17}], [{'attacker': 'Skip', 'magnitude': 0.031762217757444255, 'step': 2}, {'attacker': 'MultiTargetedAttack', 'magnitude': 0.01988300969944596, 'step': 13}], [{'attacker': 'CWLinf_Attack_adaptive_stepsize', 'magnitude': 0.02852687209318794, 'step': 17}, {'attacker': 'Skip', 'magnitude': 0.004082423056449989, 'step': 4}, {'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.008456012144049537, 'step': 13}], [{'attacker': 'CWLinf_Attack_adaptive_stepsize', 'magnitude': 0.02852687209318794, 'step': 17}, {'attacker': 'Skip', 'magnitude': 0.004082423056449989, 'step': 4}, {'attacker': 'PGD_Attack_adaptive_stepsize', 'magnitude': 0.008456012144049537, 'step': 13}], [{'attacker': 'GradientSignAttack', 'magnitude': 0.004173688472590026, 'ste
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"40"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(a)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import torch\n",
"x=torch.tensor(3.0,requires_grad=False)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"y=torch.pow(x,2)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"False\n",
"False\n"
]
}
],
"source": [
"print(x.requires_grad)\n",
"print(y.requires_grad)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"ename": "RuntimeError",
"evalue": "element 0 of tensors does not require grad and does not have a grad_fn",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-4-ab75bb780f4c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/Applications/anaconda/anaconda3/lib/python3.7/site-packages/torch/tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph)\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 220\u001b[0m create_graph=create_graph)\n\u001b[0;32m--> 221\u001b[0;31m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 222\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mregister_hook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Applications/anaconda/anaconda3/lib/python3.7/site-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables)\u001b[0m\n\u001b[1;32m 130\u001b[0m Variable._execution_engine.run_backward(\n\u001b[1;32m 131\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 132\u001b[0;31m allow_unreachable=True) # allow_unreachable flag\n\u001b[0m\u001b[1;32m 133\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 134\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mRuntimeError\u001b[0m: element 0 of tensors does not require grad and does not have a grad_fn"
]
}
],
"source": [
"y.backward()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor(6.)\n"
]
}
],
"source": [
"print(x.grad)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"None\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Applications/anaconda/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed. Its .grad attribute won't be populated during autograd.backward(). If you indeed want the gradient for a non-leaf Tensor, use .retain_grad() on the non-leaf Tensor. If you access the non-leaf Tensor by mistake, make sure you access the leaf Tensor instead. See github.com/pytorch/pytorch/pull/30531 for more informations.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
}
],
"source": [
"print(y.grad)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n",
"False\n"
]
}
],
"source": [
"a = torch.ones([2, 2], requires_grad=True)\n",
"print(a.is_leaf)\n",
"# True\n",
"\n",
"b = a + 2\n",
"print(b.is_leaf)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n",
"True\n"
]
}
],
"source": [
"a = torch.ones([2, 2], requires_grad=True)\n",
"print(a.is_leaf)\n",
"# True\n",
"\n",
"b = a \n",
"print(b.is_leaf)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"a = [1,2, 3]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"b = [3, 5, 6]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"ename": "AttributeError",
"evalue": "'bool' object has no attribute 'nonzero'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-11-8047513feccb>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpre\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnonzero\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m: 'bool' object has no attribute 'nonzero'"
]
}
],
"source": [
"pre = (a == b).nonzero()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a == b"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[1, 2, 3]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[3, 5, 6]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'pred' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-10-ce99fa45c119>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0mpred\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mtest_labels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnonzero\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mNameError\u001b[0m: name 'pred' is not defined"
]
}
],
"source": [
" (pred == test_labels).nonzero()"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"x = [3, 4, 5 , 6]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fd8a946b320>]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(x)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"y = [1, 2, 3, 4]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fd8a936fdd8>]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(y,x)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"x = [6, 3, 8 ,1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}