{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "filled-multiple", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The root path: /Users/xuanyidong/Desktop/AutoDL-Projects\n", "The library path: /Users/xuanyidong/Desktop/AutoDL-Projects/lib\n" ] } ], "source": [ "import os, sys\n", "import torch\n", "from pathlib import Path\n", "import numpy as np\n", "import matplotlib\n", "from matplotlib import cm\n", "# matplotlib.use(\"agg\")\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as ticker\n", "\n", "\n", "__file__ = os.path.dirname(os.path.realpath(\"__file__\"))\n", "root_dir = (Path(__file__).parent / \"..\").resolve()\n", "lib_dir = (root_dir / \"lib\").resolve()\n", "print(\"The root path: {:}\".format(root_dir))\n", "print(\"The library path: {:}\".format(lib_dir))\n", "assert lib_dir.exists(), \"{:} does not exist\".format(lib_dir)\n", "if str(lib_dir) not in sys.path:\n", " sys.path.insert(0, str(lib_dir))\n", "\n", "from datasets import SynAdaptiveEnv\n", "from xlayers.super_core import SuperSequential, SuperMLPv1" ] }, { "cell_type": "code", "execution_count": 2, "id": "consistent-transition", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SynAdaptiveEnv(100/100 elements,\n", "amplitude=QuadraticFunc(y = -12.000007629394531 * x^2 + 11.999908447265625 * x + 0.9999204277992249),\n", "period_phase_shift=QuarticFunc(y = 6.985218524932861 * x^4 + -13.632467269897461 * x^3 + -17.948883056640625 * x^2 + 53.29509735107422 * x + 53.29509735107422))\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABIAAAAHSCAYAAACU1rABAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACZrUlEQVR4nOzdeXhbZ502/vvIki3LlnfLkiUvku3YsWPHcVJna0LTjW60pVCgzAzr0HZoZoAOAwydeWeY38vAAMPbgS6UsgydwkApS6ELXdKFNPvuOF4SeZNsS/K+xLZkyTq/P4JC2mazLek5R7o/15Vr6NVG527HSaxbz/P9SrIsg4iIiIiIiIiIEpdGdAAiIiIiIiIiIootFkBERERERERERAmOBRARERERERERUYJjAURERERERERElOBYABERERERERERJTgWQERERERERERECU4r4qEFBQVyeXm5iEcTERERERERESWkQ4cOjciyXHi+vyekACovL8fBgwdFPJqIiIiIiIiIKCFJktR3ob/HK2BERERERERERAmOBRARERERERERUYJjAURERERERERElOBYABERERERERERJTgWQERERERERERECY4FEBERERERERFRgmMBRERERERERESU4KJWAEmSlCJJ0hFJkp6N1msSEREREREREdHyRfME0GcAtEfx9YiIiIiIiIiIKAqiUgBJkmQDcDOAH0Tj9YiIiIiIiIiIKHqidQLoQQBfABC+0D8gSdLdkiQdlCTp4PDwcJQeS0REREREREREl7LsAkiSpFsADMmyfOhi/5wsy9+XZXmdLMvrCgsLl/tYIiIiIiIiIiK6TNE4AbQZwK2SJPUC+DmAqyVJejIKr0tERERERERERFGw7AJIluV/lGXZJstyOYAPAXhVluW/XHYyIiIiIiIiIiKKimhuASMiIiIiIiIiIgXSRvPFZFl+HcDr0XxNIiIiIiIiIiJaHp4AIiIiIqKEIMuy6AhERESKFdUTQERERERE8bawsIDnn38ef/jDH2C1WtHU1ISmpiaYTCbR0YiIiBSDBRAREVGcyLIMp9OJ0dFRrF+/HpIkiY5EpHo+nw8//OEP0dfXh9WrV2NychK/+c1v8Jvf/AY2m+1sGWSxWERHJSIiEooFEBERUQzJsozu7m4cPHgQhw8fxsTEBAAgPT0dq1evFhuOSMVkWcbr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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def visualize_q_func():\n", " # save_dir = (save_path / '..').resolve()\n", " # save_dir.mkdir(parents=True, exist_ok=True)\n", " \n", " dpi, width, height = 10, 200, 80\n", " figsize = width / float(dpi), height / float(dpi)\n", " LabelSize, LegendFontsize, font_gap = 40, 40, 5\n", " \n", " fig = plt.figure(figsize=figsize)\n", " \n", " dataset = SynAdaptiveEnv()\n", " print(dataset)\n", " xaxis, yaxis = [], []\n", " for idx, position, value in dataset:\n", " xaxis.append(position)\n", " # yaxis.append(dataset._amplitude_scale[position])\n", " yaxis.append(value)\n", "\n", " cur_ax = fig.add_subplot(1, 1, 1)\n", " cur_ax.plot(xaxis, yaxis, color=\"k\", linestyle=\"-\", alpha=0.6, label=None)\n", "\n", " # fig.savefig(save_path, dpi=dpi, bbox_inches=\"tight\", format=\"pdf\")\n", " # plt.close(\"all\")\n", " # plt.show()\n", "visualize_q_func()" ] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }