Skip to content

Instantly share code, notes, and snippets.

@terasakisatoshi
Created October 2, 2021 14:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save terasakisatoshi/920a304fa868c66521c86e5646546a91 to your computer and use it in GitHub Desktop.
Save terasakisatoshi/920a304fa868c66521c86e5646546a91 to your computer and use it in GitHub Desktop.
これならわかる機械学習入門 Chap10 ~ Chap 11
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"source": [
"using PyPlot\n",
"using Statistics\n",
"using Random: shuffle\n",
"using DelimitedFiles\n",
"using ProgressMeter"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 2,
"source": [
"function heatbath!(sc, β, J, hz)\n",
" H, W = sc |> size\n",
" ys = shuffle(1:H)\n",
" xs = shuffle(1:W)\n",
" for y in ys, x in xs\n",
" y₊ = ifelse(y == H, 1, y + 1) # \\_+ <Tab>\n",
" y₋ = ifelse(y == 1, H, y - 1) # \\_- <Tab>\n",
" x₊ = ifelse(x == W, 1, x + 1)\n",
" x₋ = ifelse(x == 1, W, x - 1)\n",
" h = sc[y, x₋] + sc[y, x₊] + sc[y₋, x] + sc[y₊, x] - hz\n",
" p = exp(-β * J * h)/(exp(β * J * h) + exp(-β * J * h))\n",
" r = rand()\n",
" # update sc with prob `p`\n",
" sc[y, x] = ifelse(r < p, 1, -1)\n",
" end\n",
" sc\n",
"end"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"heatbath! (generic function with 1 method)"
]
},
"metadata": {},
"execution_count": 2
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 3,
"source": [
"init_conf_cold(lattice_shape) = ones(lattice_shape)\n",
"\n",
"function main()\n",
" lattice_shape = (32, 32)\n",
" β = 0.440687\n",
" J = -1.\n",
" hz = 0.\n",
" Nsweeps = 10^3\n",
" sc = init_conf_cold(lattice_shape)\n",
" mag_hist = [mean(sc)]\n",
" for isweep in 1:Nsweeps\n",
" #IJulia.clear_output(true)\n",
" sc = heatbath!(sc, β, J, hz)\n",
" mag = mean(sc)\n",
" #heatmap(sc) |> display\n",
" push!(mag_hist, mag)\n",
" end\n",
" plot(mag_hist, label=\"mag_hist\")\n",
" plt.ylim([-1.1, 1.1])\n",
" plt.legend()\n",
"end\n",
"\n",
"@time main()"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGdCAYAAAAfTAk2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAA9hAAAPYQGoP6dpAABz7UlEQVR4nO3dd3xT5f4H8E+aZnSmtKULCpQ9yiwCLUNQKKC4FXDUcRUvV1GR608vTi5exXHdol4nDmQooqiIFgQEKZsCgkyBFmgplDbdSZue3x/pOT0nqytp0vbzfr3yMjl5cvLktJhvv8/3eR6VIAgCiIiIiFoRP293gIiIiMjdGOAQERFRq8MAh4iIiFodBjhERETU6jDAISIiolaHAQ4RERG1OgxwiIiIqNVhgENEREStjr+3O+AN1dXVOHv2LEJCQqBSqbzdHSIiIqoHQRBQXFyMuLg4+Pm5ztG0yQDn7NmziI+P93Y3iIiIqBGys7PRsWNHl23aZIATEhICwHqBQkNDvdwbIiIiqo+ioiLEx8dL3+OutMkARxyWCg0NZYBDRETUwtSnvIRFxkRERNTqMMAhIiKiVocBDhEREbU6bbIGh4iIWjdBEFBVVQWLxeLtrlADaTQaqNXqJp+HAQ4REbUqZrMZOTk5KCsr83ZXqBFUKhU6duyI4ODgJp2HAQ4REbUa1dXVOHHiBNRqNeLi4qDVarmgawsiCALOnz+P06dPo0ePHk3K5DDAISKiVsNsNqO6uhrx8fEIDAz0dneoEdq3b4+TJ0+isrKySQEOi4yJiKjVqWsZf/Jd7sq48TeAiIiIWh2PBji//fYbrrrqKsTFxUGlUuHbb7+t8zUbN25EUlIS9Ho9unbtivfee8+uzYoVK9C3b1/odDr07dsXK1eu9EDviYiIqKXyaIBTWlqKgQMH4u23365X+xMnTuCKK67A6NGjsWfPHjz++ON48MEHsWLFCqlNRkYGpk2bhrS0NOzduxdpaWmYOnUqtm3b5qmPQURE1CaNHTsWs2fPdtmmvgmM5ubRIuPJkydj8uTJ9W7/3nvvoVOnTnj99dcBAH369MHOnTvx3//+FzfccAMA4PXXX8eECRMwd+5cAMDcuXOxceNGvP7661iyZInbPwMRERE5l5OTg3bt2tWrrUqlwsqVK3Httdd6tlPwsRqcjIwMpKamKo5NnDgRO3fuRGVlpcs2W7ZscXpek8mEoqIixc0T8oor8OwPB/HCT4c8cn4iIiJfExMTA51O5+1u2PGpACc3NxfR0dGKY9HR0aiqqsKFCxdctsnNzXV63gULFsBgMEi3+Ph493ceQHFFFT7afAJfbjvlkfMTEVHDCYKAMnNVs98EQWhQP8eOHYsHHngAs2fPRrt27RAdHY33338fpaWluOuuuxASEoJu3brhp59+AgBYLBbcfffdSEhIQEBAAHr16oU33nhDcc6qqio8+OCDCAsLQ0REBB577DHccccdDcqgVFdX49FHH0V4eDhiYmIwb948xfPyISqz2YxZs2YhNjYWer0eXbp0wYIFCwAAXbp0AQBcd911UKlU0mNP8bl1cGynh4m/IPLjjtq4mlY2d+5czJkzR3pcVFTkkSBHr7HO16+oqnb7uYmIqHHKKy3o+/TPzf6+B+dPRKC2YV+zn376KR599FFs374dy5Ytwz/+8Q98++23uO666/D444/jtddeQ1paGrKysqDRaNCxY0csX74ckZGR2LJlC+69917ExsZi6tSpAIAXX3wRixcvxieffII+ffrgjTfewLfffotx48Y1qE9z5szBtm3bkJGRgTvvvBMjR47EhAkT7Nq++eabWLVqFZYvX45OnTohOzsb2dnZAIAdO3YgKioKn3zyCSZNmuSW7Rhc8akAJyYmxi4Tk5eXB39/f0RERLhsY5vVkdPpdM2SPtP5WxNi5qrqOoMuIiIiWwMHDsSTTz4JwPrH+QsvvIDIyEjMmDEDAPD000/j3Xffxb59+zBixAj8+9//ll6bkJCALVu2YPny5VKA89Zbb2Hu3Lm47rrrAABvv/02Vq9e3aA+DRgwAM888wwAoEePHnj77bexbt06hwFOVlYWevTogVGjRkGlUqFz587Sc+3btwcAhIWFISYmpkF9aAyfCnCSk5Px/fffK4798ssvGDp0KDQajdQmPT0dDz/8sKJNSkpKs/bVETGDAwCmqmrFYyIi8o4AjRoH50/0yvs21IABA6T7arUaERER6N+/v3RM/GM+Ly8PgHVyzocffohTp06hvLwcZrMZgwYNAgAYjUacO3cOw4YNU5wzKSkJ1dX1H2mQ9wkAYmNjpfe3deedd2LChAno1asXJk2ahClTptjVzTYXjwY4JSUlOHbsmPT4xIkTyMzMRHh4ODp16oS5c+fizJkz+Oyz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",
"text/plain": [
"Figure(PyObject <Figure size 640x480 with 1 Axes>)"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
" 0.193461 seconds (347.80 k allocations: 20.898 MiB, 78.10% compilation time)\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"PyObject <matplotlib.legend.Legend object at 0x7fa40022b1c0>"
]
},
"metadata": {},
"execution_count": 3
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 4,
"source": [
"mkpath(\"conf\")\n",
"\n",
"ndiscards = 10^2\n",
"nsweeps = 10^3 + ndiscards\n",
"save_interval = 10\n",
"\n",
"L = 32\n",
"lattice_shape = (L, L)\n",
"hz = -0.0005\n",
"J = -1.0\n",
"\n",
"mags = Float64[]\n",
"mag_errs = Float64[]\n",
"\n",
"for iβ in 90:-5:0\n",
" β = 0.01 * iβ\n",
" name = \"L32b$(lpad(iβ, 3, '0'))\"\n",
" sc = init_conf_cold(lattice_shape)\n",
" cnt = 0\n",
" maghist = Vector{typeof(mean(sc))}()\n",
" for iter in 1:nsweeps\n",
" sc = heatbath!(sc, β, J, hz)\n",
" mag = mean(sc)\n",
" push!(maghist, mag)\n",
" if mod(iter, save_interval) == 0 && (iter ≥ ndiscards)\n",
" open(\"conf/$(name)_$(cnt).txt\", \"w\") do io\n",
" writedlm(io, sc)\n",
" end\n",
" cnt += 1\n",
" end\n",
" end\n",
" maghist = maghist[ndiscards:end]\n",
" mag = mean(maghist)\n",
" mag_er = std(maghist)/sqrt(length(maghist)-1)\n",
" push!(mags, mag)\n",
" push!(mag_errs, mag_er)\n",
"end"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 5,
"source": [
"plt.xlabel(raw\"$\\beta$\")\n",
"plt.ylabel(\"magnetization\")\n",
"plt.errorbar(0.01 .* collect(90:-5:0), mags, yerr = mag_errs)\n",
"plt.show()"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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WLt27dKECRM0efJk5ebmXnC/kpISzZo1S9dee20o5QNoBwIzpZLiGMsHoElCCjc9evTQjBkzdOjQIb322mt6/fXX9dVXX+lHP/qRBgwYoH379un222/Xz3/+8wu+z+OPP67Zs2frrrvu0uDBg/XEE08oLS1NK1euvOB+P/nJTzRjxgyNHTv2orVWVVWptLQ06Aag7TsbbjglBaBpQgo3q1ev1rx582Sznd3dZrPpZz/7mVatWiXDMHTffffVmUl1LrfbrZ07dyozMzOoPTMzU9u2bWtwvxdffFFfffWVlixZ0qhaly9frsTExMAtLS2tUfsBsFZuMdPAAYQmpHDj8Xi0f//+Ou379++X1+uVJEVHR1+wK7mwsFBer1cpKSlB7SkpKcrPz693nwMHDmjhwoVau3atHI7GDRdatGiRSkpKArejR482aj8A1gqsBs5MKQBNFNKA4pkzZ2r27Nn6xS9+oW9961syDEMff/yxfvWrX2nWrFmSpE2bNmno0KEXfa/zA5BpmvWGIq/XqxkzZmjp0qW69NJLG12ry+WSy+Vq9PYA2gb/auCclgLQVCGFm9/97ndKSUnRo48+qhMnTkiq6XGZP39+YJxNZmamvvvd7zb4HsnJybLb7XV6aQoKCur05khSWVmZduzYoV27dum+++6TJPl8PpmmKYfDobfffluTJk0K5eMAaGO8PlPHis9Ikvqw9AKAJgop3Njtdi1evFiLFy8ODNBNSEgI2qZPnz4XfA+n06mMjAxlZWXplltuCbRnZWXp5ptvrrN9QkKCPvvss6C2FStW6N1339Wrr76q9PT0UD4KgDYov7RSbq9PUXZDPTvHWF0OgHYmpHBzrvNDTVMsWLBAM2fO1KhRozR27FitWrVKubm5mjNnjqSa8TJff/21XnrpJdlsNg0bNixo/+7duys6OrpOO4D2zT/epneXWNltTAMH0DQhh5tXX31Vf/zjH5Wbmyu32x302ieffNKo95g+fbqKioq0bNky5eXladiwYdqwYYP69u0rScrLy7voNW8ARJ4jgWUXOCUFoOlCmi311FNP6c4771T37t21a9cujR49WklJSTp06JAmT57cpPe65557dPjwYVVVVWnnzp369re/HXhtzZo1ev/99xvc9+GHH+bqxEAE8oebfgwmBhCCkMLNihUrtGrVKj3zzDNyOp168MEHlZWV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Ho+EhAR99tlnys7ODtzmzJmjyy67TNnZ2RozZkxrlR6RQvn9GD9+vI4fP67Tp08H2r788kvZbDb17t27RevtCEI5JhUVFbLZgv9M2+12SWfPAqABVo1kbo/80/hWr15t7t2715w3b54ZFxdnHj582DRN01y4cKE5c+bMwPb+qeDz58839+7da65evZqp4GHU1OPx8ssvmw6Hw3z22WfNvLy8wO3UqVNWfYSI0tTjcT5mS4VXU49HWVmZ2bt3b/PWW2819+zZY27atMm85JJLzLvuusuqjxBxmnpMXnzxRdPhcJgrVqwwv/rqK3PLli3mqFGjzNGjR1v1EdoNwk0TPfvss2bfvn1Np9Npjhw50ty0aVPgtdtvv92cOHFi0Pbvv/++eeWVV5pOp9Ps16+fuXLlylauOLI15XhMnDjRlFTndvvtt7d+4RGqqb8f5yLchF9Tj8e+ffvM6667zoyJiTF79+5tLliwwKyoqGjlqiNbU4/JU089ZQ4ZMsSMiYkxU1NTzX/7t38zjx071spVtz+GadK3BQAAIgdjbgAAQEQh3AAAgIhCuAEAABGFcAMAACIK4QYAAEQUwg0AAIgohBsAABBRCDcAACCiEG4AAEBEIdwAAICIQrgBEDH++7//W0OGDFFsbKwGDRqkv/71r1aXBMAChBsAEWH9+vW699579dBDD+nzzz/X5MmTNWfOHKvLAmABFs4EEBGuvvpqTZo0ScuWLZMkZWVl6Yc//KFOnTplbWEAWh09NwDavbKyMm3fvl033XRToG3jxo264oorrCsKgGUcVhcAAM21e/duGYah4cOHq6KiQmvXrtXTTz+t1157zerSAFiAcAOg3cvOztagQYOUnZ2tcePGSZJuueWWoJ4cAB0Hp6UAtHvZ2dm68sorNWzYMH300Ud64okn9Pbbb2vJkiVWlwbAAvTcAGj3srOzNWPGDMXHx2v06NEaPXq09u/frw8//NDq0gBYgJ4bAO2ax+PRnj17NGjQoKD23bt3a8KECRZVBcBK9NwAaNf279+vyspKPfLII0pNTVVsbKxWrlypnJwc3X333VaXB8AChBsA7Vp2drZSU1MVFxenCRMmKC4uTldffbXee+89paamWl0eAAsQbgC0a9nZ2RozZozWr19vdSkA2gjG3ABo17KzszV8+HCrywDQhhBuALRru3fvJtwACMLaUgAAIKLQcwMAACIK4QYAAEQUwg0AAIgohBsAABBRCDcAACCiEG4AAEBEIdwAAICIQrgBAAARhXADAAAiCuEGAABElP8H80TGkprnoZoAAAAASUVORK5CYII=",
"text/plain": [
"Figure(PyObject <Figure size 640x480 with 1 Axes>)"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"sys:1: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.\n"
]
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 6,
"source": [
"fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(10,4))\n",
"fig.suptitle(\"ising 2d spin configurations\")\n",
"ax1.imshow(readdlm(\"conf/L32b090_0.txt\"))\n",
"ax1.set_title(raw\"$\\beta$=0.90\")\n",
"ax2.imshow(readdlm(\"conf/L32b040_0.txt\"))\n",
"ax2.set_title(raw\"$\\beta$=0.40\")\n",
"ax3.imshow(readdlm(\"conf/L32b000_0.txt\"))\n",
"ax3.set_title(raw\"$\\beta$=0.0\")\n",
"plt.show();"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzYAAAFfCAYAAACcK1n6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6R0lEQVR4nO3deXTU9b3/8dewDWQFBLIIhkUCsosUhFoIYIJRqCDtpepVXFtFaCm1tYBK6K0EsFK8l+1aKdAKYns0vbSuUSDUQhQQJAoFPYLGH0TKmhA1LPn8/vBkypB1lu/MfDLPxzlzjvnOd/l8P/Odl7zznbzHZYwxAgAAAACLNQn3AAAAAAAgUBQ2AAAAAKxHYQMAAADAehQ2AAAAAKxHYQMAAADAehQ2AAAAAKxHYQMAAADAehQ2AAAAAKxHYQMAAADAehQ2ACLe6tWr5XK5dOjQIZ+269y5s+666y5HxlSX0tJSPfHEE8rIyFBycrLi4uLUt29fLViwQF9//XWD9uHvOQfi0KFDcrlcWr16dciO6ZQTJ07oBz/4gTp06CCXy6Xx48dLklwul3JycsI6toY4fPiwcnJytHv37mrP5eTkyOVyhX5QABDhmoV7AABQn5tuuknbtm1TSkqKT9vl5eUpISHBoVHV7rPPPtPixYt1xx13aMaMGYqLi9Pf//535eTkKD8/X/n5+RH5D9OUlBRt27ZN3bp1C/dQAvZf//VfysvL0+9//3t169ZNbdu2lSRt27ZNHTt2DPPo6nf48GHNnTtXnTt31oABA7yeu++++3TDDTeEZ2AAEMEobABEvPbt26t9+/Y+b3f11Vc7MJr6denSRYcOHVJsbKxn2ahRoxQbG6uf//zn+sc//qHrrrsuLGOri9vt1rXXXhvuYQTFBx98oG7duun222/3Wh6u8/vqq6/UsmXLoBS0HTt2tKI4A4BQ46NoACJeTR/L2rVrl8aOHasOHTrI7XYrNTVVN910kz7//HPPOpd+FG3z5s1yuVx6/vnnNXv2bKWmpiohIUHXX3+99u/f73VMY4zmzZuntLQ0tWzZUoMGDVJ+fr4yMjKUkZFR53hjY2O9ipoqgwcPliQVFxd7LS8sLNS3v/1ttWzZUqmpqZo5c6bOnTvXoLn55JNP9IMf/ECpqalyu91KSkrS6NGjvT7C1LlzZ40dO1Z5eXnq16+fWrZsqa5du+q///u/vfZV00fRqj729OGHH+rWW29VYmKikpKSdM899+j06dMNGuNrr72m0aNHKzExUTExMbrqqquUm5vrtc6GDRs0dOhQxcTEKD4+XpmZmdq2bZvXOg0ZS9U5vPnmm9q3b59cLpdcLpc2b94sqeaPor399tsaOnSoWrZsqcsvv1yPPfaYnn322WrXXG0fY7v0Oqu6Xt944w3dc889at++vWJiYlRRUaGPP/5Yd999t7p3766YmBhdfvnlGjdunIqKijzbb968Wd/61rckSXfffbfnHKqOXdNH0SorK7Vw4UL17NlTbrdbHTp00J133un1fpCkjIwM9enTR9u3b9d3vvMdxcTEqGvXrpo/f74qKyu99vfrX/9aPXr0UKtWrdS6dWv169dPTz/9dLXzB4BIwR0bANYpLy9XZmamunTpoqVLlyopKUklJSXatGmTysrK6t1+1qxZ+va3v61nn31WpaWleuSRRzRu3Djt27dPTZs2lSTNnj1bubm5+uEPf6hbbrlFxcXFuu+++3Tu3Dmlp6f7Ne6NGzdKknr37u1ZtnfvXo0ePVqdO3fW6tWrFRMTo2XLlmndunUN2ueNN96oCxcuaOHChbriiit07Ngxbd26VadOnfJab/fu3Zo+fbpycnKUnJystWvX6ic/+YnOnj2rhx9+uN7jTJw4UZMmTdK9996roqIizZw5U5L0+9//vs7tVq5cqfvvv18jRozQihUr1KFDBx04cEAffPCBZ51169bp9ttvV1ZWlp5//nlVVFRo4cKFysjI0FtvvVXt7lZdY6n6ON2UKVN0+vRprV27VpLUq1evGse3Z88eZWZmKj09XWvWrFFMTIxWrFih5557rt45qc8999yjm266SX/84x9VXl6u5s2b6/Dhw7rssss0f/58tW/fXidOnNCaNWs0ZMgQ7dq1Sz169NDAgQO1atUq3X333Xr00Ud10003SVKdd2kefPBBPfPMM5o6darGjh2rQ4cO6bHHHtPmzZv13nvvqV27dp51S0pKdPvtt+tnP/uZ5syZo7y8PM2cOVOpqam68847JUkLFy5UTk6OHn30UQ0fPlznzp3TP//5z2rXFQBEFAMAEW7VqlVGkjl48KAxxpgdO3YYSeYvf/lLndulpaWZyZMne37etGmTkWRuvPFGr/X+9Kc/GUlm27ZtxhhjTpw4Ydxut5k0aZLXetu2bTOSzIgRI3w+h/fff9+0atXKTJgwwWv5pEmTTKtWrUxJSYln2fnz503Pnj29zrkmx44dM5LM4sWL6zx2WlqacblcZvfu3V7LMzMzTUJCgikvLzfGGHPw4EEjyaxatcqzzpw5c4wks3DhQq9tp0yZYlq2bGkqKytrPW5ZWZlJSEgw1113Xa3rXbhwwaSmppq+ffuaCxcueG3boUMHM2zYML/GMmLECNO7d+9qx5Nk5syZ4/n5+9//vomNjTX/+te/vMbUq1evavN/6bZVLr3Oqq7XO++8s8Zzvtj58+fN2bNnTffu3c1Pf/pTz/Lt27dXey2qVM1DlX379hlJZsqUKV7rvfPOO0aSmTVrlmfZiBEjjCTzzjvveK3bq1cvM2bMGM/PY8eONQMGDKh3/AAQSfgoGgDrXHnllWrTpo0eeeQRrVixQnv37vVp++9+97teP/fr10+S9Omnn0r65qNhFRUV+o//+A+v9a699lp17tzZ5/EeOnRIY8eOVadOnfTss896Pbdp0yaNHj1aSUlJnmVNmzbVpEmT6t1v27Zt1a1bNz355JNatGiRdu3a5fVxoov17t1b/fv391p22223qbS0VO+99169x6ppzr7++msdPXq01m22bt2q0tJSTZkypda/Ldm/f78OHz6sO+64Q02a/Pt/SXFxcZo4caIKCwv15ZdfBjyW2hQUFGjUqFFedzSaNGlS7bX3x8SJE6stO3/+vObNm6devXqpRYsWatasmVq0aKGPPvpI+/bt8+s4mzZtkqRqHQAHDx6sq666Sm+99ZbX8uTkZM/HIqv069fPc/1Xbfv+++9rypQpev3111VaWurX2AAglChsAFgnMTFRBQUFGjBggGbNmqXevXsrNTVVc+bMadDfplx22WVeP7vdbknf/IG3JB0/flySvIqNKjUtq8unn36qkSNHqlmzZnrrrbc83bmqHD9+XMnJydW2q2nZpVwul9566y2NGTNGCxcu1MCBA9W+fXv9+Mc/rvaRvLqOUXW+dalvzmryr3/9S1LdH6GqOnZNHe9SU1NVWVmpkydPBjyWuo4fjNe5JjWd04wZM/TYY49p/Pjx+utf/6p33nlH27dvV//+/f0av1T/HF76+l46f9I3c3jx8WfOnKnf/OY3KiwsVHZ2ti677DKNHj1aO3bs8GuMABAKFDYArNS3b1+tX79ex48f1+7duzVp0iT96le/0lNPPRXwvqv+4ffFF19Ue66kpKTB+/n000+VkZEhY4w2bdpU4z/wL7vsshr32dDjpKWlaeXKlSopKdH+/fv105/+VMuWLdPPf/7zevdXtaymf+gGQ1Unu0v/gP1iVcc+cuRItecOHz6sJk2aqE2bNo6Mr+r4DX2d3W63Kioqqi2vrTCs6S7Vc889pzvvvFPz5s3TmDFjNHjwYA0aNEjHjh3zY/TfqG8OL74b1VDNmjXTjBkz9N577+nEiRN6/vnnVVxcrDFjxlS7gwYAkYLCBoDVXC6X+vfvr9/+9rdq3bp1gz5WVZ8hQ4bI7XbrhRde8FpeWFjo9XGdunz22WfKyMjQhQsXtHHjRqWlpdW43siRI/XWW295/eP6woUL1Y7dEOnp6Xr00UfVt2/favPw4Ycf6v333/datm7dOsXHx2vgwIE+H6shhg0bpsTERK1YsULGmBrX6dGjhy6//HKtW7fOa53y8nK9+OKLnk5pThkxYoQ2btzoVVhUVlbqz3/+c7V1O3furD179ngt27hxo86cOdPg47lcLs8dpiovv/yy/t//+39ey3y5CzVq1ChJqtbwYPv27dq3b59Gjx7d4PHVpHXr1vre976nhx56SCdOnAjpl8YCgC/oigbAOn/729+0bNkyjR8/Xl27dpUxRi+99JJOnTqlzMzMgPfftm1bzZgxQ7m5uWrTpo0mTJigzz//XHPnzlVKSorX34LU5OjRoxo5cqSOHDmilStX6ujRo15//3Hx95A8+uij2rBhg0aNGqXHH39cMTExWrp0qcrLy+sd5549ezR16lR9//vfV/fu3dWiRQtt3LhRe/bs0S9/+UuvdVNTU/Xd735XOTk5SklJ0XPPPaf8/HwtWLDAscIhLi5OTz31lO677z5df/31uv/++5WUlKSPP/5Y77//vpYsWaImTZpo4cKFuv322zV27Fj96Ec/UkVFhZ588kmdOnVK8+fPd2RsVWbPnq2//vWvGj16tGbPnq1WrVppxYoVnvm/+LW+44479Nhjj+nxxx/XiBEjtHfvXi1ZskSJiYkNPt7YsWO1evVq9ezZU/369dPOnTv15JNPVrub161bN7Vq1Upr167VVVddpbi4OKWmpio1NbXaPnv06KEf/vCH+p//+R81adJE2dnZnq5onTp10k9/+lOf52XcuHHq06ePBg0apPbt2+vTTz/V4sWLlZaWpu7du/u8PwAIBQobANbp3r27WrdurYULF+rw4cNq0aKFevToodWrV2vy5MlBOcYTTzyh2NhYrVixQqtWrVLPnj21fPlyzZ49W61bt65z27179+qTTz6RJP3nf/5ntefnzJnj+U6SPn366M0339TPfvYzTZ48WW3atNEdd9yhiRMn6oc//GGdx0lOTla3bt20bNkyFRcXy+VyqWvXrnrqqac0bdo0r3UHDBigu+++W3PmzNFHH32k1NRULVq0yK9/9Pri3nvvVWpqqhYsWKD77rtPxhh17tzZ63W67bbbFBsbq9zcXE2aNElNmzbVtddeq02bNmnYsGGOjq9///7Kz8/Xww8/rDvvvNMz/yNGjNAjjzziVbT8/Oc/V2lpqVavXq3f/OY3Gjx4sP70pz/p5ptvbvDxnn76aTVv3ly5ubk6c+aMBg4cqJdeekmPPvqo13oxMTH6/e9/r7lz5yorK0vnzp3zum4utXz5cnXr1k0rV67U0qVLlZiYqBtuuEG5ubl+fdRw5MiRevHFFz0t0ZOTk5WZmanHHntMzZs393l/ABAKLlPb5wMAAF4OHjyonj17as6cOZo1a1a4h9NgnTt3Vp8+ffS3v/0t3EOxRlZWlg4dOqQDBw6EeygAgAbijg0A1OD999/X888/r2HDhikhIUH79+/XwoULlZCQoHvvvTfcw0MQzZgxQ1dffbU6deqkEydOaO3atcrPz9fKlSvDPTQAgA8obACgBrGxsdqxY4dWrlypU6dOKTExURkZGXriiSeC0goYkePChQt6/PHHVVJSIpfLpV69eumPf/xjjR8jBABELj6KBgAAAMB6tHsGAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7CJMl9++aXmzp2rnj17qmXLlrrssst022236eTJkwHv+8yZM5o+fbpSU1PVsmVLDRgwQOvXr2/w9u+++67GjBmj+Ph4xcXFaeTIkfrHP/7hyLEA+C+Sc+Rizz77rFwul+Li4hw/FoDARHKukBUWMYgalZWV5rvf/a5p3bq1WbRokdm4caNZvHixcblcZvbs2QHvPzMz07Ru3dqsWLHCbNy40dx3331Gklm7dm2927777rvG7Xab73znOyYvL8+89NJL5tprrzVut9ts3bo1qMcC4L9IzpGLff755yYxMdGkpqaa2NhYR48FIDCRnitkhT0obKLIpk2bjCTz5z//2Wt5UlKSmT59ekD7fvnll40ks27dOq/lmZmZJjU11Zw/f77O7ceMGWOSkpJMeXm5Z1lpaalp166dGTZsWFCPBcB/kZwjFxs7dqwZN26cmTx5co2FDTkCRI5IzhWywi58FC2K/PnPf1abNm00YcIEz7ItW7boiy++0KhRowLad15enuLi4vT973/fa/ndd9+tw4cP65133qlz+3/84x/KyMhQTEyMZ1l8fLyGDx+urVu36siRI0E7FgD/RXKOVHnuuedUUFCgZcuWOX4sAIGL5FwhK+xCYRNFtm7dqiFDhkiSDh8+rFWrVmnixIkaPXq0xo4dK0kyxuj8+fMNelzsgw8+0FVXXaVmzZp5Le/Xr5/n+bqcPXtWbre72vKqZUVFRUE7FgD/RXKOSNLRo0c1ffp0zZ8/Xx07dqx1PXIEiByRnCtkhV0obKLE119/rQ8++EBDhgzRvHnzdPnll+uee+5RTEyMVq9eLZfLJUkqKChQ8+bNG/Q4dOiQZ//Hjx9X27Ztqx23atnx48frHF+vXr1UWFioyspKz7Lz5897fhNy8faBHguAfyI9RyRpypQp6tGjhx588ME61yNHgMgQ6blCVtilWf2roDF47733dP78eQ0ePFg9e/bUkCFDVFhYqMWLF2v48OHas2eP4uLidM0112j79u0N2mdqaqrXz1XhU5O6npOkadOm6d5779XUqVM1e/ZsVVZWau7cufr0008lSU2aeNfggRwLgH8iPUdefPFF/fWvf9WuXbsalAPkCBB+kZ4rwdgeoUNhEyXeffddSdLgwYPVrl07de3aVVlZWUpPT9ett96qwsJCXX/99YqLi9OAAQMatM+Lb8tedtllNf7W4sSJE5JU4287LnbPPffoX//6l379619r+fLlkqShQ4fq4Ycf1oIFC3T55ZcH7VgA/BPJOXLmzBk99NBDmjZtmlJTU3Xq1ClJ33zMVZJOnTql5s2bKzY2NuBjAQieSM6VYGyP0OKjaFHi3XffVdeuXdWuXbsan6/67Ya/t3r79u2rffv2Vftsa9XfxvTp06feMT7yyCM6duyYioqKdOjQIW3dulUnT55UbGysrrnmmqAeC4DvIjlHjh07pi+++EJPPfWU2rRp43k8//zzKi8vV5s2bXT77bcH5VgAgieScyUY2yO0XMYYE+5BwHlXXnmlkpOT9fbbb3uWGWOUmZmpL774wvMGLSsr0/79+xu0z379+qlFixaSpFdffVU33nij1q9fr0mTJnnWyc7O1p49e/TZZ5+padOmPo35s88+U79+/XT33Xfrt7/9rWe5E8cCUL9IzpGvv/5ahYWF1ZbPnz9fBQUFevXVV9WuXTvPP0LIESAyRHKuBGN7hFj4Ok0jVI4fP24kGUnm3nvvNW+++abZsGGDGT9+fK1fgOmPzMxM06ZNG/PMM8+YjRs3mvvvv99IMs8995zXeps3bzZNmzY1c+fO9SwrKioyOTk55m9/+5vJz883v/nNb0y7du3MoEGDTFlZmd/HAhAcNuRITWr7HhtfjgXAGbbkCllhDwqbKPDqq68aSebOO+80l19+uWnevLm54oorzPe+9z2ze/fuoB2nrKzM/PjHPzbJycmmRYsWpl+/fub555+vtl7VF3HNmTPHs2z//v1m+PDhpm3btqZFixbmyiuvNI8++qg5c+ZMQMcCEBw25EhN6ipsyBEgvGzJFbLCHnwULQr86le/0q9//WuVlpaqZcuW4R4OAAuRIwCCjVxBsNE8IAq8++676tu3L6EBwG/kCIBgI1cQbBQ2UWD79u0aPHhwuIcBwGLkCIBgI1cQbHwUDQAAAID1uGMDAAAAwHoUNgAAAACs1yzcA7hUZWWlDh8+rPj4eLlcrnAPB4hqxhiVlZUpNTVVTZrY83sQcgSIHOQIgED4lCFO9ZFeunSp6dy5s3G73WbgwIFmy5YtDdquuLjY82VNPHjwiIxHcXGxU1FRK38zxBhyhAePSHyQIzx48Ajk0ZAMceSOzQsvvKDp06dr2bJl+va3v63//d//VXZ2tvbu3asrrriizm3j4+MlSZ++11kJcfb8ZgdojErPVCpt4CHP+zJUAskQiRyRpAnpfUN+zLwDRSE9XjjO0V+hnptI0lhzpK7rz6nXO5KueX/Psb5zcGK/od6nU6+TLXNT3359HY8vGeJIYbNo0SLde++9uu+++yRJixcv1uuvv67ly5crNze3zm2rbvcmxDVRQnx0/oMEiDSh/hhGIBkikSOS1MzVPOTHDPVch+Mc/RWt1+HFGluO1HX9OfV6R9I17+851ncOTuw31Pt06nWyZW7q26+/42lIhgT9nXf27Fnt3LlTWVlZXsuzsrK0devWautXVFSotLTU6wEgevmaIRI5AsAbOQJEp6AXNseOHdOFCxeUlJTktTwpKUklJSXV1s/NzVViYqLn0alTp2APCYBFfM0QiRwB4I0cAaKTY/fGL71dZIyp8RbSzJkzdfr0ac+juLjYqSEBsEhDM0QiRwDUjBwBokvQ/8amXbt2atq0abXfiBw9erTab04kye12y+12B3sYACzla4ZI5AgAb+QIEJ2CXti0aNFC11xzjfLz8zVhwgTP8vz8fN18883BPhyARiYaM2RM6oBwDyEo6jqP1w/v9mu7UKtrnLBHMHNkQnpfn/8Y3Kn3gr/bOrGdvwLZZ6jP0ak88He/TrxW/uZvfccL5mt13pyT9EmDxuVIV7QZM2bojjvu0KBBgzR06FA988wz+uyzz/TAAw84cTgAjQwZAiBQ5AgQfRwpbCZNmqTjx4/rV7/6lY4cOaI+ffrolVdeUVpamhOHA9DIkCEAAkWOANHHkcJGkqZMmaIpU6Y4tXsAjRwZAiBQ5AgQXfjGMAAAAADWo7ABAAAAYD0KGwAAAADWc+xvbAAg3Gpr0xqOlr6R1NI4HKL9/IEqgbTs9fd9FOo2wZHW0tkJgRzPibHa0u67PjUds7SsUm3SG7Y9d2wAAAAAWI/CBgAAAID1KGwAAAAAWI/CBgAAAID1KGwAAAAAWI/CBgAAAID1aPcMoNHKO1CkhPjI+P2NEy1V0Tg0ljatCFx973cnXld/M8ap1stOXPN1befvPiOtpbW/44m0jKnpmOfNOUmfNGj7yPg/PgAAAAAEgMIGAAAAgPUobAAAAABYj8IGAAAAgPUobAAAAABYj8IGAAAAgPVo9wwAYRbtLZ2daIXtVCtaJzjRphXOC8c1Fg0tviOppXGktDtuyDEjLQ+D+VqVllWqTXrDtueODQAAAADrUdgAAAAAsB6FDQAAAADrUdgAAAAAsB6FDQAAAADrUdgAAAAAsB6FDQAAAADrBf17bHJycjR37lyvZUlJSSopKQn2oQA0QuHOEH97+kfad0g48b0FgZxjpH1XRCRx4nskIu07NkItFDkSad8bYtN15O8xQ339hWMsoT5mY8sKR76gs3fv3nrzzTc9Pzdt2tSJwwBopMgQAIEiR4Do40hh06xZMyUnJzuxawBRgAwBEChyBIg+jvyNzUcffaTU1FR16dJFP/jBD/TJJ5/Uum5FRYVKS0u9HgCimy8ZIpEjAKojR4DoE/TCZsiQIfrDH/6g119/Xb/73e9UUlKiYcOG6fjx4zWun5ubq8TERM+jU6dOwR4SAIv4miESOQLAGzkCRKegFzbZ2dmaOHGi+vbtq+uvv14vv/yyJGnNmjU1rj9z5kydPn3a8yguLg72kABYxNcMkcgRAN7IESA6OfI3NheLjY1V37599dFHH9X4vNvtltvtdnoYACxVX4ZI5AiAupEjQHRwvLCpqKjQvn379J3vfMfpQwFohGzJEKdauPorHK02nZgDm9qb+ivSxuPv61jbdufNOUl1/32L0wLJkbwDRUqID94HXMLxetvSpluKrLFG0ljqO2akjTVcgv5RtIcfflgFBQU6ePCg3nnnHX3ve99TaWmpJk+eHOxDAWiEyBAAgSJHgOgU9Ds2n3/+uW699VYdO3ZM7du317XXXqvCwkKlpaUF+1AAGiEyBECgyBEgOgW9sFm/fn2wdwkgipAhAAJFjgDRyZHvsQEAAACAUKKwAQAAAGA9ChsAAAAA1nO83TMA2MTfdppOcWI8/rYFjbTzhzOCPeelZZVqkx7UXYbUhPS+auZqHrT9BTK/oW6pbhMnzsOpPHQi15xoBe3UteFka2ru2AAAAACwHoUNAAAAAOtR2AAAAACwHoUNAAAAAOtR2AAAAACwHoUNAAAAAOvR7hkBcbJlHxCo2tq0+ntt2tQWMxpaM/t7jtGeTfXNW7TPj9Mi7f+bThwzkHOsa1sn5s7f4wXCiVyvazsn/p9Xn2Ce43lzTtInDToud2wAAAAAWI/CBgAAAID1KGwAAAAAWI/CBgAAAID1KGwAAAAAWI/CBgAAAID1XMYYE+5BXKy0tFSJiYk6eaCrEuKpu4BwKi2rVJv0T3T69GklJCSEezgNVl+OONEmOBztlUONNsChF2mtgf1he45k6OYa28bXxYnWw4EcM5LyyanrNtTnGI5WyE6woW2+LxlC5QAAAADAehQ2AAAAAKxHYQMAAADAehQ2AAAAAKxHYQMAAADAehQ2AAAAAKzXzNcNtmzZoieffFI7d+7UkSNHlJeXp/Hjx3ueN8Zo7ty5euaZZ3Ty5EkNGTJES5cuVe/evYM5bgCWCmWGTEjvW2ObVifaVNa3z0hqt+qv+s4h1C1ubWl3HIhoOEd/RMK/RcLRXtnfYzqxnVNCPZ5wnGOoX0cnxhKOa7whfL5jU15erv79+2vJkiU1Pr9w4UItWrRIS5Ys0fbt25WcnKzMzEyVlZUFNFAAjQMZAiBQ5AiAmvh8xyY7O1vZ2dk1PmeM0eLFizV79mzdcsstkqQ1a9YoKSlJ69at049+9KPARgvAemQIgECRIwBqEtS/sTl48KBKSkqUlZXlWeZ2uzVixAht3bq1xm0qKipUWlrq9QAQnfzJEIkcAfBv5AgQvYJa2JSUlEiSkpKSvJYnJSV5nrtUbm6uEhMTPY9OnToFc0gALOJPhkjkCIB/I0eA6OVIVzSXy+X1szGm2rIqM2fO1OnTpz2P4uJiJ4YEwCK+ZIhEjgCojhwBoo/Pf2NTl+TkZEnf/LYkJSXFs/zo0aPVfnNSxe12y+12B3MYACzlT4ZI5AiAfyNHgOgV1MKmS5cuSk5OVn5+vq6++mpJ0tmzZ1VQUKAFCxYE81AAGqFgZ0jegSIlxAfvxnRjaNncmERam1pEhlDliE1tyv0dqxPvsUDaxod6ziMtYyKpFXY4XseG8LmwOXPmjD7++GPPzwcPHtTu3bvVtm1bXXHFFZo+fbrmzZun7t27q3v37po3b55iYmJ02223BXXgAOxEhgAIFDkCoCY+FzY7duzQyJEjPT/PmDFDkjR58mStXr1av/jFL/TVV19pypQpni/FeuONNxQfHx+8UQOwFhkCIFDkCICa+FzYZGRkyBhT6/Mul0s5OTnKyckJZFwAGikyBECgyBEANXGkKxoAAAAAhBKFDQAAAADrUdgAAAAAsF5Q2z0DQGMWrvaVtgj1HNDSGaEwIb2vmrmaV1vuxPXn1Hso1GMN5HhOtHSOpH06xd/XI9LOI1DcsQEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPb7HBgAu0th6+gdTfd9NwdyFllPfIwJveQeKlBBf/ffATnw3ilPbOjHWcFxj/h4z1N9xEw425a+Tc8cdGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD3aPQNAI+REe1Ob2on6q75zjKQWr5E0FjRcIG26bXkPOjVOJ/Ybaa2gQ/0aR1qO1HT+5805SZ80aHvu2AAAAACwHoUNAAAAAOtR2AAAAACwHoUNAAAAAOtR2AAAAACwHoUNAAAAAOv53O55y5YtevLJJ7Vz504dOXJEeXl5Gj9+vOf5u+66S2vWrPHaZsiQISosLAx4sADsF+kZ4m/ry3C0YY20Np2hFkjb3GBv15gE+1r2pVVrQ4UyRyak91UzV/NAh+zhRHthp47p73vMqfeRE/PjRI5E2v8PnGhbHUhrfF/nvLSsUm3S6zych893bMrLy9W/f38tWbKk1nVuuOEGHTlyxPN45ZVXfD0MgEaKDAEQKHIEQE18vmOTnZ2t7OzsOtdxu91KTk72e1AAGi8yBECgyBEANXHkb2w2b96sDh06KD09Xffff7+OHj1a67oVFRUqLS31egCIbr5kiESOAKiOHAGiT9ALm+zsbK1du1YbN27UU089pe3bt2vUqFGqqKiocf3c3FwlJiZ6Hp06dQr2kABYxNcMkcgRAN7IESA6+fxRtPpMmjTJ8999+vTRoEGDlJaWppdfflm33HJLtfVnzpypGTNmeH4uLS0lTIAo5muGSOQIAG/kCBCdgl7YXColJUVpaWn66KOPanze7XbL7XY7PQwAlqovQyRyBEDdyBEgOjhe2Bw/flzFxcVKSUlx+lAAGiEnMiQcbYKdOKa/GksLU5tE0utfH5uuj4YKJEfyDhQpId63T+470V63vv0Gs71uQ7ZzYp/1bRtq4Wh3HerX2F+hbOntS8t4nwubM2fO6OOPP/b8fPDgQe3evVtt27ZV27ZtlZOTo4kTJyolJUWHDh3SrFmz1K5dO02YMMHXQwFohMgQAIEiRwDUxOfCZseOHRo5cqTn56rPo06ePFnLly9XUVGR/vCHP+jUqVNKSUnRyJEj9cILLyg+Pj54owZgLTIEQKDIEQA18bmwycjIkDGm1udff/31gAYEoHEjQwAEihwBUBNHvscGAAAAAEKJwgYAAACA9ShsAAAAAFjP8XbPABBpwtFONJLadNokGubGqdbAoVbbeErLKtUmPbRjCYVwXJuhbunsL6fmxol5taW9cn3H9Hc7m/5/2BDcsQEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANaj3TMAhFmkte0NtWg//7owN9Glvla3dV0PTrTQbSztjutiSwvt+o5ZF6fGE2nHlLhjAwAAAKARoLABAAAAYD0KGwAAAADWo7ABAAAAYD0KGwAAAADWo7ABAAAAYD3aPQMAPCKtLagTbWPD0aY2kgTSUjgaTUjvq2au5j5t4+81Vt/cR1K743Bwot2xE3kQyOsYSS22w9G2OtBjcscGAAAAgPUobAAAAABYj8IGAAAAgPUobAAAAABYj8IGAAAAgPUobAAAAABYj3bPQD2ivTUsGp9Ia+EaauF430ZS22pyyzd5B4qUEF/998Dh+H+DLe2OA+FvPjnRmtmJtsw2cer1d3J+fLpjk5ubq29961uKj49Xhw4dNH78eO3fv99rHWOMcnJylJqaqlatWikjI0MffvhhUAcNwF7kCIBAkCEAauNTYVNQUKCHHnpIhYWFys/P1/nz55WVlaXy8nLPOgsXLtSiRYu0ZMkSbd++XcnJycrMzFRZWVnQBw/APuQIgECQIQBq49NH0V577TWvn1etWqUOHTpo586dGj58uIwxWrx4sWbPnq1bbrlFkrRmzRolJSVp3bp1+tGPflRtnxUVFaqoqPD8XFpa6s95ALAEOQIgEE5kiESOAI1BQM0DTp8+LUlq27atJOngwYMqKSlRVlaWZx23260RI0Zo69atNe4jNzdXiYmJnkenTp0CGRIAy5AjAAIRjAyRyBGgMfC7sDHGaMaMGbruuuvUp08fSVJJSYkkKSkpyWvdpKQkz3OXmjlzpk6fPu15FBcX+zskAJYhRwAEIlgZIpEjQGPgd1e0qVOnas+ePXr77berPedyubx+NsZUW1bF7XbL7Xb7OwwAFiNHAAQiWBkikSNAY+DXHZtp06Zpw4YN2rRpkzp27OhZnpycLEnVfiNy9OjRar85ARDdyBEAgSBDAFzKpzs2xhhNmzZNeXl52rx5s7p06eL1fJcuXZScnKz8/HxdffXVkqSzZ8+qoKBACxYsCN6ogRDiOx+CixwJv0j7/gUnvpvDXza9320aazDZkCFOfRdLqN+f4fgel1DngRPbheN1DPVrFUj+OPn/IJ8Km4ceekjr1q3T//3f/yk+Pt7z25DExES1atVKLpdL06dP17x589S9e3d1795d8+bNU0xMjG677baABgqgcSBHAASCDAFQG58Km+XLl0uSMjIyvJavWrVKd911lyTpF7/4hb766itNmTJFJ0+e1JAhQ/TGG28oPj4+KAMGYDdyBEAgyBAAtfH5o2j1cblcysnJUU5Ojr9jAtCIkSMAAkGGAKhNQN9jAwAAAACRgMIGAAAAgPUobAAAAABYz+8v6ASASDchva+auZr7tI1NLXTD0abTX7bMa31zast5wE6BXH9OtPt1YrtIE+q5qU84junP8QLhZNty7tgAAAAAsB6FDQAAAADrUdgAAAAAsB6FDQAAAADrUdgAAAAAsB6FDQAAAADr0e4ZQKOVd6BICfH8/uZSTrWJdqKFp5NtQf1hU0tVOMvf182pVsD+budEC+FwvG9D3Qq5LoFkZahfD6fmLVy5xv/xAQAAAFiPwgYAAACA9ShsAAAAAFiPwgYAAACA9ShsAAAAAFiPwgYAAACA9Wj3DACWCnV70/r2Ger2npHU3jUQ/rZiRWhMSO+rZq7mQdtfIK9pqN/X/r7HwtFC2KbW1KEWjtcxXPPKHRsAAAAA1qOwAQAAAGA9ChsAAAAA1qOwAQAAAGA9ChsAAAAA1qOwAQAAAGA9n9o95+bm6qWXXtI///lPtWrVSsOGDdOCBQvUo0cPzzp33XWX1qxZ47XdkCFDVFhYGJwRA7AaOeKbaGgF7ERb0HC0gm4sr0ekI0NqFkntzwPJLX/HGmmtqUMt0s7f3zwMdM59umNTUFCghx56SIWFhcrPz9f58+eVlZWl8vJyr/VuuOEGHTlyxPN45ZVXAhokgMaDHAEQCDIEQG18umPz2muvef28atUqdejQQTt37tTw4cM9y91ut5KTk4MzQgCNCjkCIBBkCIDaBPQ3NqdPn5YktW3b1mv55s2b1aFDB6Wnp+v+++/X0aNHa91HRUWFSktLvR4Aogc5AiAQwcgQiRwBGgO/CxtjjGbMmKHrrrtOffr08SzPzs7W2rVrtXHjRj311FPavn27Ro0apYqKihr3k5ubq8TERM+jU6dO/g4JgGXIEQCBCFaGSOQI0Bj49FG0i02dOlV79uzR22+/7bV80qRJnv/u06ePBg0apLS0NL388su65ZZbqu1n5syZmjFjhufn0tJSwgSIEuQIgEAEK0MkcgRoDPwqbKZNm6YNGzZoy5Yt6tixY53rpqSkKC0tTR999FGNz7vdbrndbn+GAcBi5AiAQAQzQyRyBGgMfCpsjDGaNm2a8vLytHnzZnXp0qXebY4fP67i4mKlpKT4PUgAjQc54ptIaiEcjrFE0vnXJ9StuaOhFXhNQp0heQeKlBBf/ZP7NrXQ9XefTrQ7jrQWyk68jwI5x0hqTW1jK2yf/sbmoYce0nPPPad169YpPj5eJSUlKikp0VdffSVJOnPmjB5++GFt27ZNhw4d0ubNmzVu3Di1a9dOEyZMcOQEANiFHAEQCDIEQG18umOzfPlySVJGRobX8lWrVumuu+5S06ZNVVRUpD/84Q86deqUUlJSNHLkSL3wwguKj48P2qAB2IscARAIMgRAbXz+KFpdWrVqpddffz2gAQFo3MgRAIEgQwDUJqDvsQEAAACASEBhAwAAAMB6FDYAAAAArOcy9X1YNcRKS0uVmJiokwe61theEZElWtuNRovSskq1Sf9Ep0+fVkJCQriH02DkCMIh1O1WbWF7jmToZjVzNa/2vL+tcJ16TUPdfjcc5xFJ74dAxunvaxWO9tP+CuZr5UuG8H98AAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgvWbhHgDsFkmtFwHAaeFom4rwyjtQFDFt4yOppbO/7Y7rO4dQ/7vCifbSgZxjXdtG0uvvlJrO8bw5J+mTBm0fGe9UAAAAAAgAhQ0AAAAA61HYAAAAALAehQ0AAAAA61HYAAAAALAehQ0AAAAA61HYAAAAALAe32MDAIhYTnzHRCDC8b0e/oi0ebPZhPS+auZqHpJjNZbveHHq+1ac2K+/cxqO869LJGVMOHHHBgAAAID1KGwAAAAAWI/CBgAAAID1KGwAAAAAWI/CBgAAAID1KGwAAAAAWM+nds/Lly/X8uXLdejQIUlS79699fjjjys7O1uSZIzR3Llz9cwzz+jkyZMaMmSIli5dqt69ewd94ADsFOk5Qpvc2oWjFa0TLUydeh2daBvrr8Z8rYY6Q/IOFCkh3rffA9d1bUZaK+S6rpVwXNOR9r52QmP4/4xT4wz0/eHTO7Vjx46aP3++duzYoR07dmjUqFG6+eab9eGHH0qSFi5cqEWLFmnJkiXavn27kpOTlZmZqbKysoAGCaDxIEcABIIMAVAbnwqbcePG6cYbb1R6errS09P1xBNPKC4uToWFhTLGaPHixZo9e7ZuueUW9enTR2vWrNGXX36pdevWOTV+AJYhRwAEggwBUBu//8bmwoULWr9+vcrLyzV06FAdPHhQJSUlysrK8qzjdrs1YsQIbd26tdb9VFRUqLS01OsBIDqQIwACEawMkcgRoDHwubApKipSXFyc3G63HnjgAeXl5alXr14qKSmRJCUlJXmtn5SU5HmuJrm5uUpMTPQ8OnXq5OuQAFiGHAEQiGBniESOAI2Bz4VNjx49tHv3bhUWFurBBx/U5MmTtXfvXs/zLpfLa31jTLVlF5s5c6ZOnz7teRQXF/s6JACWIUcABCLYGSKRI0Bj4FNXNElq0aKFrrzySknSoEGDtH37dj399NN65JFHJEklJSVKSUnxrH/06NFqvzm5mNvtltvt9nUYACxGjgAIRLAzRCJHgMbA58LmUsYYVVRUqEuXLkpOTlZ+fr6uvvpqSdLZs2dVUFCgBQsWBDxQAI1XJOWILa026+NUS9nGwKm5aSzXjo2czJAJ6X3VzNW82nIn2iTXx982wf5e85HWetnfcwz1ezPSssDfeQskK8M1Bz4VNrNmzVJ2drY6deqksrIyrV+/Xps3b9Zrr70ml8ul6dOna968eerevbu6d++uefPmKSYmRrfddptT4wdgGXIEQCDIEAC18amw+eKLL3THHXfoyJEjSkxMVL9+/fTaa68pMzNTkvSLX/xCX331laZMmeL5Uqw33nhD8fHxjgwegH3IEQCBIEMA1ManwmblypV1Pu9yuZSTk6OcnJxAxgSgESNHAASCDAFQG7+/xwYAAAAAIgWFDQAAAADrBdwVLdiMMZKk0jOVYR4JgKr3YdX70hbkiHTenAv5MUvLQjvf4TjHuoT6/G1he46c1zmphqGH4/Wu65qvazxObFeXQOYm1OcY7ZzKUX/nvKbxnNc3yxqSIS4TYUnz+eef822/QIQpLi5Wx44dwz2MBiNHgMhDjgAIREMyJOIKm8rKSh0+fFjx8fFyuVwqLS1Vp06dVFxcrISEhHAPL6IwN7VjburW0PkxxqisrEypqalq0sSeT66SIw3H3NSOuamdL3PTGHKkrKyMa6EWvE/qxvzUzol/i0TcR9GaNGlSYzWWkJDABVEL5qZ2zE3dGjI/iYmJIRpN8JAjvmNuasfc1K6hc2N7jrhcLklcC3VhburG/NQumP8WsedXJwAAAABQCwobAAAAANaL+MLG7XZrzpw5crvd4R5KxGFuasfc1C3a5ifaztcXzE3tmJvaRdvcRNv5+oK5qRvzUzsn5ibimgcAAAAAgK8i/o4NAAAAANSHwgYAAACA9ShsAAAAAFiPwgYAAACA9ShsAAAAAFgvogubZcuWqUuXLmrZsqWuueYa/f3vfw/3kMJiy5YtGjdunFJTU+VyufSXv/zF63ljjHJycpSamqpWrVopIyNDH374YXgGG2K5ubn61re+pfj4eHXo0EHjx4/X/v37vdaJ1vlZvny5+vXr5/lG36FDh+rVV1/1PB8t80KOkCF1IUNqR4b8GzlCjtSFHKldyHPERKj169eb5s2bm9/97ndm79695ic/+YmJjY01n376abiHFnKvvPKKmT17tnnxxReNJJOXl+f1/Pz58018fLx58cUXTVFRkZk0aZJJSUkxpaWl4RlwCI0ZM8asWrXKfPDBB2b37t3mpptuMldccYU5c+aMZ51onZ8NGzaYl19+2ezfv9/s37/fzJo1yzRv3tx88MEHxpjomBdy5BtkSO3IkNqRId8gR75BjtSOHKldqHMkYgubwYMHmwceeMBrWc+ePc0vf/nLMI0oMlwaJpWVlSY5OdnMnz/fs+zrr782iYmJZsWKFWEYYXgdPXrUSDIFBQXGGObnUm3atDHPPvts1MwLOVIdGVI3MqRu0ZYhxpAjNSFH6kaO1M3JHInIj6KdPXtWO3fuVFZWltfyrKwsbd26NUyjikwHDx5USUmJ11y53W6NGDEiKufq9OnTkqS2bdtKYn6qXLhwQevXr1d5ebmGDh0aFfNCjjRMNFwLviBDahaNGSKRIw0VLddDQ5EjNQtFjkRkYXPs2DFduHBBSUlJXsuTkpJUUlISplFFpqr5YK6++ZzmjBkzdN1116lPnz6SmJ+ioiLFxcXJ7XbrgQceUF5ennr16hUV80KONEw0XAsNRYZUF80ZIpEjDRUt10NDkCPVhTJHmgU8Wge5XC6vn40x1ZbhG8yVNHXqVO3Zs0dvv/12teeidX569Oih3bt369SpU3rxxRc1efJkFRQUeJ6PhnmJhnMMBuaJDKkJGfKNaDnPQDFP5EhNQpkjEXnHpl27dmratGm1au3o0aPVqrpol5ycLElRP1fTpk3Thg0btGnTJnXs2NGzPNrnp0WLFrryyis1aNAg5ebmqn///nr66aejYl7IkYaJhmuhIciQmkVzhkjkSENFy/VQH3KkZqHMkYgsbFq0aKFrrrlG+fn5Xsvz8/M1bNiwMI0qMnXp0kXJyclec3X27FkVFBRExVwZYzR16lS99NJL2rhxo7p06eL1fLTPz6WMMaqoqIiKeSFHGiYaroW6kCG+iaYMkciRhoqW66E25IhvHM0Rv1oOhEBVe8WVK1eavXv3munTp5vY2Fhz6NChcA8t5MrKysyuXbvMrl27jCSzaNEis2vXLk+ryfnz55vExETz0ksvmaKiInPrrbdGRQtBY4x58MEHTWJiotm8ebM5cuSI5/Hll1961onW+Zk5c6bZsmWLOXjwoNmzZ4+ZNWuWadKkiXnjjTeMMdExL+TIN8iQ2pEhtSNDvkGOfIMcqR05UrtQ50jEFjbGGLN06VKTlpZmWrRoYQYOHOhpmxdtNm3aZCRVe0yePNkY800bwTlz5pjk5GTjdrvN8OHDTVFRUXgHHSI1zYsks2rVKs860To/99xzj+f90759ezN69GhPkBgTPfNCjpAhdSFDakeG/Bs5Qo7UhRypXahzxGWMMf7d6wEAAACAyBCRf2MDAAAAAL6gsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANajsAEAAABgPQobAAAAANb7/1xo784GNqLOAAAAAElFTkSuQmCC",
"text/plain": [
"Figure(PyObject <Figure size 1000x400 with 3 Axes>)"
]
},
"metadata": {}
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 7,
"source": [
"using Flux"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 8,
"source": [
"Flux.onehot(:lowtemp, [:lowtemp,:hightemp])"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2-element OneHotVector(::UInt32) with eltype Bool:\n",
" 1\n",
" ⋅"
]
},
"metadata": {},
"execution_count": 8
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 9,
"source": [
"num_confs = (nsweeps - ndiscards) ÷ save_interval\n",
"βcr = 0.440686\n",
"\n",
"CLASSES = [:lowtemp, :hightemp]\n",
"data = []\n",
"labels = []\n",
"βs = []\n",
"for iβ in 90:-5:0\n",
" β = 0.01 * iβ\n",
" for c in 1:num_confs\n",
" name = \"L32b$(lpad(iβ, 3, '0'))\"\n",
" filename = \"conf/$(name)_$(c).txt\"\n",
" sc = readdlm(filename)\n",
" push!(data, sc)\n",
" push!(βs, β)\n",
" if β > βcr\n",
" push!(labels, Flux.onehot(:lowtemp, CLASSES))\n",
" else\n",
" push!(labels, Flux.onehot(:hightemp, CLASSES))\n",
" end\n",
" end\n",
"end"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 10,
"source": [
"train_data = data[begin:2:end]\n",
"train_labels = labels[begin:2:end]\n",
"train_βs = βs[begin:2:end]\n",
"\n",
"test_data = data[begin+1:2:end]\n",
"test_labels = labels[begin+1:2:end]\n",
"test_βs = βs[begin+1:2:end]\n",
"\n",
"train_data |> size"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(950,)"
]
},
"metadata": {},
"execution_count": 10
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 11,
"source": [
"train_data = cat(train_data..., dims=3)\n",
"train_labels = cat(train_labels..., dims=2)\n",
"\n",
"test_data = cat(test_data..., dims=3)\n",
"test_labels = cat(test_labels..., dims=2)"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2×950 OneHotMatrix(::Vector{UInt32}) with eltype Bool:\n",
" 1 1 1 1 1 1 1 1 1 1 1 1 1 … ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅\n",
" ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1 1 1 1 1 1 1 1 1 1 1 1"
]
},
"metadata": {},
"execution_count": 11
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 12,
"source": [
"dataloader = Flux.DataLoader((train_data,train_labels), batchsize=16, shuffle=true);\n"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 13,
"source": [
"model = Chain(\n",
" flatten,\n",
" Dense(32 * 32, 100, relu),\n",
" Dense(100, 2),\n",
" softmax\n",
")"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Chain(\n",
" Flux.flatten,\n",
" Dense(1024, 100, relu), \u001b[90m# 102_500 parameters\u001b[39m\n",
" Dense(100, 2), \u001b[90m# 202 parameters\u001b[39m\n",
" NNlib.softmax,\n",
")\u001b[90m # Total: 4 arrays, \u001b[39m102_702 parameters, 401.430 KiB."
]
},
"metadata": {},
"execution_count": 13
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 14,
"source": [
"ps = Flux.params(model)\n",
"opt = Flux.Optimise.ADAM(0.01)\n",
"@showprogress for e in 1:10\n",
"for (ds, ls) in dataloader\n",
" gs = Flux.gradient(ps) do\n",
" ys = model(ds)\n",
" loss = Flux.Losses.crossentropy(ys, ls)\n",
" end\n",
" Flux.Optimise.update!(opt, ps, gs)\n",
"end\n",
"end"
],
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"\u001b[32mProgress: 100%|█████████████████████████████████████████| Time: 0:00:25\u001b[39m\n"
]
}
],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 15,
"source": [
"probs_low = []\n",
"probs_high = []\n",
"pltβs = []\n",
"for i in 1:50:950\n",
" batch_samebeta = test_data[:,:,i:i+50-1]\n",
" ys = model(batch_samebeta)\n",
" β = test_βs[i]\n",
" push!(pltβs, β)\n",
" prob_low, prob_high = mean(ys, dims=2)\n",
" push!(probs_low, prob_low)\n",
" push!(probs_high, prob_high)\n",
"end\n",
"\n",
"\n",
"plt.axvline(x=βcr,ymin=0,ymax=1,ls=\"dashed\", color=\"gray\", label=\"Critical\")\n",
"plt.plot(pltβs, probs_high,label=\"high\", marker=\"o\", color=\"red\")\n",
"plt.plot(pltβs, probs_low,label=\"low\", marker=\"o\", color=\"blue\")"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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",
"text/plain": [
"Figure(PyObject <Figure size 640x480 with 1 Axes>)"
]
},
"metadata": {}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1-element Vector{PyCall.PyObject}:\n",
" PyObject <matplotlib.lines.Line2D object at 0x7fa421293d30>"
]
},
"metadata": {},
"execution_count": 15
}
],
"metadata": {}
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia-sys 1.6.2",
"language": "julia",
"name": "julia-sys-1.6"
},
"language_info": {
"file_extension": ".jl",
"name": "julia",
"mimetype": "application/julia",
"version": "1.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment