{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "bb9a1e74-8c5c-42bb-93fb-bfd3d6169dbd", "metadata": {}, "outputs": [], "source": [ "from micrograd.engine import Value\n", "from micrograd.draw import draw_dot" ] }, { "cell_type": "code", "execution_count": 2, "id": "afbfde7d-1592-476d-9ea1-399434752e8a", "metadata": {}, "outputs": [], "source": [ "x = Value(1.0)\n", "y = Value(4.0)\n", "z = Value(-1)\n", "f = (y+z) + (x*y) + z" ] }, { "cell_type": "code", "execution_count": 3, "id": "35bdfb93-8f89-4dd8-8c50-29774dd04984", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "%3\n", "\n", "\n", "\n", "140118324758560\n", "\n", " \n", "\n", "data 7.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758464+\n", "\n", "+\n", "\n", "\n", "\n", "140118324758560->140118324758464+\n", "\n", "\n", "\n", "\n", "\n", "140118324758560+\n", "\n", "+\n", "\n", "\n", "\n", "140118324758560+->140118324758560\n", "\n", "\n", "\n", "\n", "\n", "140118324760816\n", "\n", " \n", "\n", "data 1.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758800*\n", "\n", "*\n", "\n", "\n", "\n", "140118324760816->140118324758800*\n", "\n", "\n", "\n", "\n", "\n", "140118745713392\n", "\n", " \n", "\n", "data 4.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118745713392->140118324758800*\n", "\n", "\n", "\n", "\n", "\n", "140118324758992+\n", "\n", "+\n", "\n", "\n", "\n", "140118745713392->140118324758992+\n", "\n", "\n", "\n", "\n", "\n", "140118324758800\n", "\n", " \n", "\n", "data 4.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758800->140118324758560+\n", "\n", "\n", "\n", "\n", "\n", "140118324758800*->140118324758800\n", "\n", "\n", "\n", "\n", "\n", "140118324758848\n", "\n", " \n", "\n", "data -1.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758848->140118324758464+\n", "\n", "\n", "\n", "\n", "\n", "140118324758848->140118324758992+\n", "\n", "\n", "\n", "\n", "\n", "140118324758464\n", "\n", " \n", "\n", "data 6.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758464+->140118324758464\n", "\n", "\n", "\n", "\n", "\n", "140118324758992\n", "\n", " \n", "\n", "data 3.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324758992->140118324758560+\n", "\n", "\n", "\n", "\n", "\n", "140118324758992+->140118324758992\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "draw_dot(f)" ] }, { "cell_type": "code", "execution_count": 6, "id": "8491fa95-c89e-4283-95fe-d685d50f7e07", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "%3\n", "\n", "\n", "\n", "140118324770320\n", "\n", "n\n", "\n", "data 0.2000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770464tanh\n", "\n", "tanh\n", "\n", "\n", "\n", "140118324770320->140118324770464tanh\n", "\n", "\n", "\n", "\n", "\n", "140118324770320+\n", "\n", "+\n", "\n", "\n", "\n", "140118324770320+->140118324770320\n", "\n", "\n", "\n", "\n", "\n", "140118313495584\n", "\n", "x2\n", "\n", "data 0.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770128*\n", "\n", "*\n", "\n", "\n", "\n", "140118313495584->140118324770128*\n", "\n", "\n", "\n", "\n", "\n", "140118324770464\n", "\n", "y\n", "\n", "data 0.1974\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770464tanh->140118324770464\n", "\n", "\n", "\n", "\n", "\n", "140118324769984\n", "\n", "b\n", "\n", "data 6.2000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324769984->140118324770320+\n", "\n", "\n", "\n", "\n", "\n", "140118324770032\n", "\n", "h1\n", "\n", "data -6.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770176+\n", "\n", "+\n", "\n", "\n", "\n", "140118324770032->140118324770176+\n", "\n", "\n", "\n", "\n", "\n", "140118324770032*\n", "\n", "*\n", "\n", "\n", "\n", "140118324770032*->140118324770032\n", "\n", "\n", "\n", "\n", "\n", "140118313493232\n", "\n", "x1\n", "\n", "data 2.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118313493232->140118324770032*\n", "\n", "\n", "\n", "\n", "\n", "140118313498944\n", "\n", "w2\n", "\n", "data 1.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118313498944->140118324770128*\n", "\n", "\n", "\n", "\n", "\n", "140118324770128\n", "\n", "h2\n", "\n", "data 0.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770128->140118324770176+\n", "\n", "\n", "\n", "\n", "\n", "140118324770128*->140118324770128\n", "\n", "\n", "\n", "\n", "\n", "140118313484640\n", "\n", "w1\n", "\n", "data -3.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118313484640->140118324770032*\n", "\n", "\n", "\n", "\n", "\n", "140118324770176\n", "\n", "h\n", "\n", "data -6.0000\n", "\n", "grad 0.0000\n", "\n", "\n", "\n", "140118324770176->140118324770320+\n", "\n", "\n", "\n", "\n", "\n", "140118324770176+->140118324770176\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# inputs\n", "x1 = Value(2.0, label='x1')\n", "x2 = Value(0.0, label='x2')\n", "\n", "# weights\n", "w1 = Value(-3.0, label='w1')\n", "w2 = Value(1.0, label='w2')\n", "\n", "# bias\n", "b = Value(6.2, label='b')\n", "\n", "h1 = x1 * w1\n", "h1.label = 'h1'\n", "h2 = x2 * w2\n", "h2.label = 'h2'\n", "\n", "h = h1 + h2\n", "h.label = 'h'\n", "\n", "n = h + b\n", "n.label = 'n'\n", "y = n.tanh()\n", "y.label = 'y'\n", "\n", "draw_dot(y)" ] }, { "cell_type": "code", "execution_count": null, "id": "543bd866-2ce7-4b9a-8d8b-55a160a7c83b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }