mtgencode/mtg_sweep1.ipynb

352 lines
108 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Opening encoded card file: /home/mtgencode/data/output.txt\n",
"15065 valid, 0 skipped, 0 invalid, 0 failed to parse.\n",
"generating 3-gram model\n",
"found 25046 sentences\n",
"<NgramModel with 34500 3-grams>\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_128_1_epoch50.00_0.3941.output.1.0.txt\n",
"5549 valid, 0 skipped, 88 invalid, 29 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_128_2_epoch50.00_0.3862.output.1.0.txt\n",
"5360 valid, 0 skipped, 121 invalid, 35 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_256_1_epoch50.00_0.2736.output.1.0.txt\n",
"5732 valid, 0 skipped, 71 invalid, 17 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_256_2_epoch50.00_0.2645.output.1.0.txt\n",
"5348 valid, 0 skipped, 50 invalid, 29 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_384_2_epoch50.00_0.2102.output.1.0.txt\n",
"5887 valid, 0 skipped, 57 invalid, 35 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_512_1_epoch50.00_0.1952.output.1.0.txt\n",
"5701 valid, 0 skipped, 44 invalid, 32 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_512_2_epoch50.00_0.1807.output.1.0.txt\n",
"5711 valid, 0 skipped, 49 invalid, 24 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_640_1_epoch50.00_0.1798.output.1.0.txt\n",
"5726 valid, 0 skipped, 41 invalid, 33 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_640_2_epoch50.00_0.1870.output.1.0.txt\n",
"5859 valid, 0 skipped, 51 invalid, 16 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_768_1_epoch46.51_0.1834.output.1.0.txt\n",
"5949 valid, 0 skipped, 69 invalid, 18 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_768_2_epoch46.51_0.1906.output.1.0.txt\n",
"5808 valid, 0 skipped, 64 invalid, 23 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_128_1_epoch50.00_0.4641.output.1.0.txt\n",
"5660 valid, 0 skipped, 24 invalid, 19 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_128_2_epoch50.00_0.4641.output.1.0.txt\n",
"6226 valid, 0 skipped, 36 invalid, 13 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_256_1_epoch50.00_0.3579.output.1.0.txt\n",
"5910 valid, 0 skipped, 23 invalid, 6 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_256_2_epoch50.00_0.3554.output.1.0.txt\n",
"5801 valid, 0 skipped, 22 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_384_1_epoch50.00_0.3018.output.1.0.txt\n",
"6081 valid, 0 skipped, 10 invalid, 6 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_384_2_epoch50.00_0.2956.output.1.0.txt\n",
"6081 valid, 0 skipped, 22 invalid, 9 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_512_1_epoch50.00_0.2663.output.1.0.txt\n",
"5999 valid, 0 skipped, 25 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_640_1_epoch50.00_0.2385.output.1.0.txt\n",
"5863 valid, 0 skipped, 20 invalid, 5 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_640_2_epoch50.00_0.2361.output.1.0.txt\n",
"5941 valid, 0 skipped, 7 invalid, 11 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_256_1_epoch50.00_0.4198.output.1.0.txt\n",
"5995 valid, 0 skipped, 12 invalid, 10 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_256_2_epoch50.00_0.4287.output.1.0.txt\n",
"5895 valid, 0 skipped, 19 invalid, 2 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_384_1_epoch50.00_0.3633.output.1.0.txt\n",
"5997 valid, 0 skipped, 9 invalid, 2 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_384_2_epoch50.00_0.3636.output.1.0.txt\n",
"6047 valid, 0 skipped, 17 invalid, 4 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/baseline_384_1_epoch50.00_0.2117.output.1.0.txt\n",
"5889 valid, 0 skipped, 56 invalid, 15 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_512_2_epoch50.00_0.2597.output.1.0.txt\n",
"6263 valid, 0 skipped, 26 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_768_1_epoch49.83_0.2268.output.1.0.txt\n",
"6065 valid, 0 skipped, 9 invalid, 5 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_512_1_epoch50.00_0.3269.output.1.0.txt\n",
"5894 valid, 0 skipped, 10 invalid, 9 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_512_2_epoch50.00_0.3231.output.1.0.txt\n",
"5942 valid, 0 skipped, 7 invalid, 2 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_640_1_epoch50.00_0.3062.output.1.0.txt\n",
"6002 valid, 0 skipped, 14 invalid, 1 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_640_2_epoch50.00_0.3100.output.1.0.txt\n",
"6057 valid, 0 skipped, 12 invalid, 3 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_768_1_epoch49.83_0.2923.output.1.0.txt\n",
"5896 valid, 0 skipped, 11 invalid, 5 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_768_2_epoch49.83_0.2919.output.1.0.txt\n",
"6047 valid, 0 skipped, 7 invalid, 3 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-25_768_2_epoch50.00_0.2412.output.1.0.txt\n",
"5919 valid, 0 skipped, 15 invalid, 10 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_128_1_epoch50.00_0.5686.output.1.0.txt\n",
"5983 valid, 0 skipped, 33 invalid, 17 failed to parse.\n",
"Opening encoded card file: /data/collected/mtg-rnn-sweep1/dropout-50_128_2_epoch50.00_0.5690.output.1.0.txt\n",
"6339 valid, 0 skipped, 51 invalid, 22 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_128_1_epoch37.50_0.4733.output.1.0.txt\n",
"5871 valid, 0 skipped, 130 invalid, 42 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_128_2_epoch45.83_0.4774.output.1.0.txt\n",
"5429 valid, 0 skipped, 129 invalid, 45 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_256_1_epoch16.67_0.4530.output.1.0.txt\n",
"5808 valid, 0 skipped, 124 invalid, 38 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_256_2_epoch16.67_0.4552.output.1.0.txt\n",
"5796 valid, 0 skipped, 103 invalid, 44 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_384_2_epoch12.50_0.4469.output.1.0.txt\n",
"5699 valid, 0 skipped, 98 invalid, 41 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_512_1_epoch12.50_0.4374.output.1.0.txt\n",
"5698 valid, 0 skipped, 138 invalid, 49 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_512_2_epoch12.50_0.4458.output.1.0.txt\n",
"5809 valid, 0 skipped, 111 invalid, 53 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_640_1_epoch12.50_0.4365.output.1.0.txt\n",
"5720 valid, 0 skipped, 123 invalid, 47 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_640_2_epoch12.50_0.4406.output.1.0.txt\n",
"5762 valid, 0 skipped, 119 invalid, 30 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_128_1_epoch50.00_0.4780.output.1.0.txt\n",
"5889 valid, 0 skipped, 54 invalid, 14 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_128_2_epoch50.00_0.4823.output.1.0.txt\n",
"5935 valid, 0 skipped, 45 invalid, 10 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_256_1_epoch50.00_0.4000.output.1.0.txt\n",
"6035 valid, 0 skipped, 25 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_256_2_epoch41.67_0.4244.output.1.0.txt\n",
"6184 valid, 0 skipped, 41 invalid, 7 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_384_1_epoch41.67_0.3870.output.1.0.txt\n",
"6052 valid, 0 skipped, 29 invalid, 10 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_384_2_epoch33.33_0.3991.output.1.0.txt\n",
"6151 valid, 0 skipped, 17 invalid, 11 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_512_1_epoch25.00_0.3859.output.1.0.txt\n",
"5896 valid, 0 skipped, 23 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_640_1_epoch20.83_0.3864.output.1.0.txt\n",
"5951 valid, 0 skipped, 31 invalid, 24 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_640_2_epoch25.00_0.3864.output.1.0.txt\n",
"5776 valid, 0 skipped, 34 invalid, 7 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_128_1_epoch50.00_0.5749.output.1.0.txt\n",
"6097 valid, 0 skipped, 109 invalid, 22 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_128_2_epoch50.00_0.5740.output.1.0.txt\n",
"6026 valid, 0 skipped, 50 invalid, 19 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_256_1_epoch50.00_0.4398.output.1.0.txt\n",
"5932 valid, 0 skipped, 13 invalid, 2 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_256_2_epoch50.00_0.4460.output.1.0.txt\n",
"6046 valid, 0 skipped, 18 invalid, 11 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_384_1_epoch50.00_0.3946.output.1.0.txt\n",
"5958 valid, 0 skipped, 12 invalid, 5 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_384_2_epoch50.00_0.3981.output.1.0.txt\n",
"6042 valid, 0 skipped, 16 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/baseline_384_1_epoch12.50_0.4431.output.1.0.txt\n",
"5890 valid, 0 skipped, 111 invalid, 48 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-25_512_2_epoch25.00_0.3894.output.1.0.txt\n",
"6057 valid, 0 skipped, 44 invalid, 10 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_512_1_epoch50.00_0.3835.output.1.0.txt\n",
"6016 valid, 0 skipped, 21 invalid, 8 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_512_2_epoch50.00_0.3825.output.1.0.txt\n",
"5918 valid, 0 skipped, 11 invalid, 1 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_640_1_epoch20.83_0.4714.output.1.0.txt\n",
"6048 valid, 0 skipped, 18 invalid, 13 failed to parse.\n",
"Opening encoded card file: /data/collected/char-rnn-sweep1/dropout-50_640_2_epoch50.00_0.3805.output.1.0.txt\n",
"5958 valid, 0 skipped, 9 invalid, 2 failed to parse.\n",
"Done gathering data.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/dist-packages/numpy/core/_methods.py:59: RuntimeWarning: Mean of empty slice.\n",
" warnings.warn(\"Mean of empty slice.\", RuntimeWarning)\n",
"/usr/local/lib/python2.7/dist-packages/numpy/core/_methods.py:71: RuntimeWarning: invalid value encountered in double_scalars\n",
" ret = ret.dtype.type(ret / rcount)\n"
]
}
],
"source": [
"# ipython hack, as we don't seem to know what __file__ is\n",
"mtgencodedir = '/home/mtgencode' # might want to make a symlink\n",
"\n",
"import sys\n",
"import os\n",
"from collections import OrderedDict\n",
"libdir = os.path.join(mtgencodedir, 'lib')\n",
"sys.path.append(libdir)\n",
"scriptdir = os.path.join(mtgencodedir, 'scripts')\n",
"sys.path.append(scriptdir)\n",
"datadir = os.path.join(mtgencodedir, 'data')\n",
"import jdecode\n",
"import ngrams\n",
"import analysis\n",
"\n",
"realcards = jdecode.mtg_open_file(str(os.path.join(datadir, 'output.txt')), verbose=True)\n",
"separate_lines = True\n",
"lm = ngrams.build_ngram_model(realcards, n=3, separate_lines=separate_lines, verbose=True)\n",
"\n",
"mtg_sweep1_dir = '/data/collected/mtg-rnn-sweep1'\n",
"char_sweep1_dir = '/data/collected/char-rnn-sweep1'\n",
"\n",
"def sweep_outputs(sweepdir):\n",
" if not os.path.isdir(sweepdir):\n",
" print('not a directory: ' + sweepdir)\n",
" return []\n",
" else:\n",
" return [fname for fname in os.listdir(sweepdir) if os.path.isfile(os.path.join(sweepdir, fname))\n",
" and fname[-4:] == '.txt']\n",
"\n",
"def setup_statistics(sweepdir):\n",
" cps = sweep_outputs(sweepdir)\n",
" all_stats = OrderedDict()\n",
" for cp in cps:\n",
" cp_stats = analysis.get_statistics(os.path.join(sweepdir, cp), lm=lm, sep=separate_lines, verbose=True)\n",
" if 'cp' in cp_stats and 'name' in cp_stats['cp']:\n",
" cp_name = cp_stats['cp']['name']\n",
" else:\n",
" cp_name = cp\n",
" all_stats[cp_name] = cp_stats\n",
" return all_stats\n",
"\n",
"mtg_sweep1 = setup_statistics(mtg_sweep1_dir)\n",
"char_sweep1 = setup_statistics(char_sweep1_dir)\n",
"\n",
"print 'Done gathering data.'"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe0963334d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#analysis.print_statistics(mtg_sweep1['baseline_128_1'])\n",
"%matplotlib inline\n",
"import matplotlib \n",
"matplotlib.rc('xtick', labelsize=20) \n",
"matplotlib.rc('ytick', labelsize=20)\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"def size_from_name(cp_name):\n",
" return int(cp_name.split('_')[-2])\n",
"\n",
"def plot_vs_size(getter, yrange, ylabel):\n",
"\n",
" mtg_sizes_base = [size_from_name(cp) for cp in mtg_sweep1 if 'baseline' in cp]\n",
" char_sizes_base = [size_from_name(cp) for cp in char_sweep1 if 'baseline' in cp]\n",
" mtg_sizes_d25 = [size_from_name(cp) for cp in mtg_sweep1 if 'dropout-25' in cp]\n",
" char_sizes_d25 = [size_from_name(cp) for cp in char_sweep1 if 'dropout-25' in cp]\n",
" mtg_sizes_d50 = [size_from_name(cp) for cp in mtg_sweep1 if 'dropout-50' in cp]\n",
" char_sizes_d50 = [size_from_name(cp) for cp in char_sweep1 if 'dropout-50' in cp]\n",
"\n",
" mtg_val_base = [getter(mtg_sweep1[cp]) for cp in mtg_sweep1 if 'baseline' in cp]\n",
" char_val_base = [getter(char_sweep1[cp]) for cp in char_sweep1 if 'baseline' in cp]\n",
" mtg_val_d25 = [getter(mtg_sweep1[cp]) for cp in mtg_sweep1 if 'dropout-25' in cp]\n",
" char_val_d25 = [getter(char_sweep1[cp]) for cp in char_sweep1 if 'dropout-25' in cp]\n",
" mtg_val_d50 = [getter(mtg_sweep1[cp]) for cp in mtg_sweep1 if 'dropout-50' in cp]\n",
" char_val_d50 = [getter(char_sweep1[cp]) for cp in char_sweep1 if 'dropout-50' in cp]\n",
" \n",
" plt.plot(mtg_sizes_base, mtg_val_base, 'bo',\n",
" mtg_sizes_d25, mtg_val_d25, 'b^',\n",
" mtg_sizes_d50, mtg_val_d50, 'bs',\n",
" char_sizes_base, char_val_base, 'ro',\n",
" char_sizes_d25, char_val_d25, 'r^',\n",
" char_sizes_d50, char_val_d50, 'rs', markersize=12)\n",
" \n",
" plt.xlabel('rnn size', fontsize=32, color='black')\n",
" plt.ylabel(ylabel, fontsize=32, color='black')\n",
" \n",
" fig = plt.gcf()\n",
" \n",
" ax = fig.gca()\n",
" ax.axis([0,800] + yrange)\n",
" \n",
" fig.set_size_inches(8, 8)\n",
" fig.savefig(ylabel + '.png', dpi=300)\n",
" \n",
" plt.show()\n",
"\n",
"#mtg_vlosses = [mtg_sweep1[cp]['cp']['vloss'] for cp in mtg_sweep1 if 'baseline' in cp]\n",
"#char_vlosses = [char_sweep1[cp]['cp']['vloss'] for cp in char_sweep1 if 'baseline' in cp]\n",
"\n",
"#fig, ax = plt.subplots(figsize=(20,10))\n",
"#ax.plot(mtg_sizes, mtg_epochs, 'bs', char_sizes, char_epochs, 'g^')\n",
"#fig.show()\n",
"\n",
"plot_vs_size(lambda cp: float(cp['props']['overall']['bad']) / cp['props']['overall']['total'], [0, 0.32], 'fraction of bad cards')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nDmncuLHNvlBKyeTJk+3WaY5PSkqShQsXiq+vr83X6e/vL2vXrnX5tTlr//790rRpU7v9PWbM/nxU\nWwAAIABJREFUGIf93aJFC1FKyejRoyU5OVn8/PzK9IvBYJCCggItft68eeLj42O3Tl9fX5kzZ47d\nNlv24SuvvGK3nDp16si6devslnP16lUZNmyYzfen+feQkBDZvHmzzfWXLVvm9PvQXN7LL7+s/S09\nPb1M3bY+HwaDQbZv365btqWioiLtPdWvXz/d2E8++USrNzU11ek6KurNN9/U6rH3nn7sscdEKSWt\nWrWqsnZYcnWbc30957aTzgbeqA9PTQR27/5RbropVQARX98cmTdvmVvKdQdPaps5EVBKSZcuXSQ4\nOFimT58u3333nWRnZ8vbb78tDRo0EKWU1K1bV37++Wdp2rSpNGrUSN544w3ZuXOn7N69W1555RUJ\nCAgQpZS0aNFCioqKtDqKi4slLy9P+7I0f9ns27evzOP8+fPaOufOnSuzURo5cqSkpaVJTk6OrFq1\nSrp37y5KKenatatbE4HWrVtLcHCwNG7cWGbPni07duyQXbt2yQcffCDHjh0rE9u2bVtp1KiRhIWF\nyRtvvCE7duyQnJwcef/998u0fcuWLTbrNC/v1q2b+Pj4SPv27WXp0qWye/du2blzp8yYMUPr04YN\nG8qZM2dcfn2OFBQUSEREhNam+Ph42bhxo+Tk5Minn34qd955pyiltJ+OEoHo6Gjx9fWVli1byoIF\nCyQzM1N++OEHeeutt+TKlSsiIpKcnKzVFxoaKnPmzJGMjAzJyMiQuXPnSmhoqLZ80aJFun1obldU\nVJQsXbpUsrOzJT09XSZNmiT+/v6ilJKAgAAtmStv+PDhWlnt2rWT1NRUyc7Olq1bt8rEiRO1hCYg\nIEByc3Ot1q9sInD58mXJy8uT1157TStn06ZNVp+Ry5cv65ZtKS8vT6vr2Wef1Y3NycnRYqdMmeJ0\nHRX1wAMPaK/vl19+sRljTgTq1asnd999t9x0003i5+cn4eHhcu+998qbb75ZJpmsLCYCtTgRGDhw\nqgDXBDD9F6Kjn5fCwkK3lF1ZntQ2y0QgKChIdu3aZRXz1VdfldkrCgsLk8OHD1vFLVq0SDfb37Zt\nm/Yl4GjP5plnntHKmjt3rtVyo9EoQ4YMKbP35I5EQCklTZs21S3LMrZFixZy/Phxq5gDBw5IYGCg\n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\n+lerqwUsBQYGYtOmTXj33XexcuVKHDx4ED4+PmjTpg2GDx+OiRMnapMn6fXR7NmzERkZiRUrVmD/\n/v0oKCjQ5pBwdcRn2rRp6Nu3LxYuXIhvv/0WJ06cQL169RAdHY1Ro0YhISHBqfepvZgBAwZg6dKl\nyMjIwI8//oj8/HycPn0apaWluOmmmxAdHY2+fftizJgxun1YW6mq3huoaUopcedrNGeWRM54/PHH\nkZKSgubNm+P333+v6eZUu8LCQjRs2BBFRUVYsWKFU0O7tYl5yDwpKQkzZ86s4dbQjcjVbc719ZzK\nzLz+ZEGiqlJYWIgvvvgCgOPpYWurjIwMFBUV4dZbb9W9LwMR1RwmAkQuOnz4sN1lRqMRTz75pDbB\ni/kqA2+zfft2KKUwbdo0rz9ZkshT8dBAxcvjoQECYBr2//777zFixAh06dIF4eHhKCwsxJ49e7B4\n8WJtopnevXtj8+bNNdxaqgk8NECVVR2HBniyIJGLlFI4cOAAkpKS7MZ069bN7kQpRESegIkAkYum\nTJmCNm3aYPPmzThy5AhOnTqF4uJihIaGIiYmBvHx8br3sifvwEMi5Ol4aKDi5fHQABERVQteNUBE\nRERViokAERGRF2MiQERE5MWYCBAREXkxJgJERERejIkAERGRF2MiQERE5MWYCBAREXkxJgJERERe\njIkAERGRF+O9BlzAucOJiKi2YCJQQbzPABER1SY8NEBEROTFmAgQERF5MSYCREREXoyJABERkRdj\nIkBEROTFmAgQERF5MSYCREREXoyJABERkRdjIkBEROTFmAgQERF5MSYCREREXoyJABERkRdjIkBE\nROTFmAgQERF5MSYCREREXoyJABERkRdjIkBEROTFmAgQERF5MSYCREREXoyJABERkRdjIkBEROTF\nmAgQERF5MSYCREREXoyJABERkRdjIkBEROTFmAgQERF5MSYCREREXoyJABERkRdjIkBEN6zS0tKa\nbgLRDc+3phtARKTnjlv74PzpYABAidGI84UlKDb6ohQ+KME1+CIABhjh51OCkCBf+Pr4aOuGNLqE\nHw9trqmmE90QmAgQkUc7fzoYRws+t7u85PrPIiNw+VL5pUOqqllEtQYPDRAREXkxJgJE5NFKjMaa\nbgJRrcZEgIg82vnCEsdBdhh5MiGRQ0wEiMijFRtdP5Xp/JViN7aEqHZiIkBEHq0UPo6D7CiqRBJB\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe095ca3f90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"from numpy.random import randn\n",
"\n",
"z = randn(10)\n",
"\n",
"char_base, = plt.plot(z, 'ro', markersize=15)\n",
"char_d25, = plt.plot(z, 'r^', markersize=15)\n",
"char_d50, = plt.plot(z, 'rs', markersize=15)\n",
"mtg_base, = plt.plot(z, 'bo', markersize=15)\n",
"mtg_d25, = plt.plot(z, 'b^', markersize=15)\n",
"mtg_d50, = plt.plot(z, 'bs', markersize=15)\n",
"\n",
"plt.legend([char_base, char_d25, char_d50, mtg_base, mtg_d25, mtg_d50], ['char-rnn, dropout 0', 'char-rnn, dropout 0.25', 'char-rnn, dropout 0.5', \n",
" 'mtg-rnn, dropout 0', 'mtg-rnn, dropout 0.25', 'mtg-rnn, dropout 0.5'], prop={'size':28})\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(8, 8)\n",
"fig.savefig('legend.png', dpi=300)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}