diff --git a/notebooks/end2end_example/cnv_end2end_example.ipynb b/notebooks/end2end_example/cnv_end2end_example.ipynb index a41f88214d7dcb917af801fdcaf8abd6abba4470..a00db32750686094f9d58103b23e2219261769b3 100644 --- a/notebooks/end2end_example/cnv_end2end_example.ipynb +++ b/notebooks/end2end_example/cnv_end2end_example.ipynb @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -85,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -127,7 +127,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -151,10 +151,10 @@ " " ], "text/plain": [ - "<IPython.lib.display.IFrame at 0x7fecdc554940>" + "<IPython.lib.display.IFrame at 0x7f0cb10a8ef0>" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -224,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -250,10 +250,10 @@ " " ], "text/plain": [ - "<IPython.lib.display.IFrame at 0x7fecdc554358>" + "<IPython.lib.display.IFrame at 0x7f0cb1098f28>" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -273,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -313,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -339,10 +339,10 @@ " " ], "text/plain": [ - "<IPython.lib.display.IFrame at 0x7fecdc564e80>" + "<IPython.lib.display.IFrame at 0x7f0cb063e208>" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -360,7 +360,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -411,7 +411,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -437,10 +437,10 @@ " " ], "text/plain": [ - "<IPython.lib.display.IFrame at 0x7fec58263080>" + "<IPython.lib.display.IFrame at 0x7f0cb1098748>" ] }, - "execution_count": 13, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -467,7 +467,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -494,7 +494,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -520,14 +520,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Vivado synthesis project is at /tmp/finn_dev_maltanar/vivado_pynq_proj_fn7ocwg2/resizer.xpr\n" + "Vivado synthesis project is at /tmp/finn_dev_maltanar/vivado_pynq_proj_96qtjweo/resizer.xpr\n" ] } ], @@ -539,6 +539,16 @@ "model = model.transform(MakePYNQProject(test_pynq_board))\n", "vivado_proj = model.get_metadata_prop(\"vivado_pynq_proj\")\n", "print(\"Vivado synthesis project is at %s/resizer.xpr\" % vivado_proj)\n", + "model.save(build_dir + \"/end2end_cnv_w1a1_pynqproj.onnx\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "model = ModelWrapper(build_dir + \"/end2end_cnv_w1a1_pynqproj.onnx\")\n", "model = model.transform(SynthPYNQProject())\n", "model.save(build_dir + \"/end2end_cnv_w1a1_synth.onnx\")" ] @@ -554,10 +564,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ + "import os\n", "from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver\n", "from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ\n", "\n", @@ -577,9 +588,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total 4260\r\n", + "-rw-r--r-- 1 xilinx xilinx 6380 May 7 15:14 driver.py\r\n", + "drwxr-xr-x 4 xilinx xilinx 4096 May 7 15:14 finn\r\n", + "-rw-r--r-- 1 xilinx xilinx 4045675 May 7 15:14 resizer.bit\r\n", + "-rw-r--r-- 1 xilinx xilinx 302015 May 7 15:14 resizer.hwh\r\n" + ] + } + ], "source": [ "! sshpass -p {password} ssh {username}@{ip} -p {port} 'ls -l {target_dir}/*'" ] @@ -593,16 +616,16 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "<matplotlib.image.AxesImage at 0x7fec6ab8fef0>" + "<matplotlib.image.AxesImage at 0x7f0c2b2c6908>" ] }, - "execution_count": 21, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, @@ -639,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -660,7 +683,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -682,7 +705,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -691,15 +714,15 @@ "<BarContainer object of 10 artists>" ] }, - "execution_count": 63, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "<Figure size 432x288 with 1 Axes>" + "<Figure size 1440x216 with 1 Axes>" ] }, "metadata": { @@ -719,6 +742,7 @@ "\n", "classes = [\"airplane\", \"automobile\", \"bird\", \"cat\", \"deer\", \"dog\", \"frog\", \"horse\", \"ship\", \"truck\"]\n", "\n", + "plt.figure(figsize=(20, 3)) \n", "plt.bar(classes, prob)" ] },