Skip to content

Instantly share code, notes, and snippets.

@christiaanjs
Last active July 27, 2019 00:55
Show Gist options
  • Save christiaanjs/011690a40b6e755b31b994f96f58266a to your computer and use it in GitHub Desktop.
Save christiaanjs/011690a40b6e755b31b994f96f58266a to your computer and use it in GitHub Desktop.
Skygrid + Beagle test
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<script>\n",
"$( document ).ready(function(){ $('div.output_stderr').hide(); });\n",
"</script>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import HTML\n",
"HTML('''<script>\n",
"$( document ).ready(function(){ $('div.output_stderr').hide(); });\n",
"</script>''')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Initialise `libsbn` instance"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import sbn\n",
"\n",
"inst = sbn.instance('charlie')\n",
"inst.read_newick_file('../pylo/eval/skygrid/analysis-tree.nwk')\n",
"fasta_file = '../pylo/eval/skygrid/sim-seq.fasta'\n",
"inst.read_fasta_file(fasta_file)\n",
"inst.make_beagle_instances(1)\n",
"inst.print_status()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'((((((((((t29_0:0.02935,t31_0:0.02935):0.001,t33_0:0.03035):0.001,t30_0:0.03135):0.001,t32_0:0.03235):0.06042,t40_0:0.09277):0.04119,t34_0:0.13396):0.02815,((((t37_0:0.03346,t38_0:0.03346):0.001,t39_0:0.03446):0.0142,t36_0:0.04865):0.0226,t35_0:0.07125):0.09086):0.25101,((t41_0:0.12452,t42_0:0.12452):0.02305,(t43_0:0.02941,t44_0:0.02941):0.11816):0.26554):0.05188,(((((t45_0:0.00829,t46_0:0.00829):0.001,t47_0:0.00929):0.01055,t48_0:0.01984):0.06039,(t49_0:0.0253,t50_0:0.0253):0.05493):0.13398,(((((t57_0:0.03853,t58_0:0.03853):0.04872,t51_0:0.08725):0.001,((t55_0:0.00299,t56_0:0.00299):0.03965,t54_0:0.04263):0.04561):0.00425,(t52_0:0.0265,t53_0:0.0265):0.066):0.09925,(((t60_0:0.03247,t61_0:0.03247):0.15727,(((t62_0:0.01886,t63_0:0.01886):0.03738,((t64_0:0.00699,t65_0:0.00699):0.01397,t66_0:0.02096):0.03527):0.10098,((t68_0:0.001,t69_0:0.001):0.001,t67_0:0.002):0.15521):0.03253):0.001,t59_0:0.19075):0.001):0.02247):0.25078):0.30818,((((((((((((t4_0:0.00175,t5_0:0.00175):0.03683,((t96_0:0.01732,t97_0:0.01732):0.00131,t98_0:0.01863):0.01994):0.001,t93_0:0.03957):0.001,t92_0:0.04057):0.03192,(((t99_0:0.01139,t100_0:0.01139):0.02278,t1_0:0.03417):0.02361,(t2_0:0.001,t3_0:0.001):0.05677):0.01472):0.0153,(t94_0:0.01826,t95_0:0.01826):0.06953):0.08483,((t6_0:0.03824,t7_0:0.03824):0.00982,t8_0:0.04807):0.12456):0.17006,((((((((t10_0:0.03333,t12_0:0.03333):0.03333,t11_0:0.06666):0.06666,((t19_0:0.01733,t21_0:0.01733):0.001,t20_0:0.01833):0.11499):0.001,((t16_0:0.00829,t17_0:0.00829):0.01658,t18_0:0.02487):0.10945):0.001,t14_0:0.13532):0.001,t13_0:0.13632):0.05306,t15_0:0.18937):0.0301,((((t23_0:0.02424,t24_0:0.02424):0.02148,t25_0:0.04572):0.03053,t26_0:0.07624):0.1061,t22_0:0.18235):0.03712):0.12321):0.0136,t9_0:0.35629):0.03922,(((((t85_0:0.001,t86_0:0.001):0.001,t87_0:0.002):0.001,t88_0:0.003):0.03622,(t89_0:0.02419,t91_0:0.02419):0.01504):0.01902,t90_0:0.05824):0.33726):0.09582,(t27_0:0.19611,t28_0:0.19611):0.29522):0.08403,(((t83_0:0.0143,t84_0:0.0143):0.00526,t82_0:0.01956):0.18616,(((t74_0:0.03643,t75_0:0.03643):0.03787,(((((t76_0:0.01604,t77_0:0.01604):0.001,t78_0:0.01704):0.001,t79_0:0.01804):0.001,t80_0:0.01904):0.01052,t81_0:0.02956):0.04474):0.08328,(((t71_0:0.03138,t70_0:0.03138):0.001,t73_0:0.03238):0.001,t72_0:0.03338):0.1242):0.04814):0.36963):0.19782):0;\\n'"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inst.tree_collection.newick()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/ipykernel_launcher.py:4: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.\n",
" after removing the cwd from sys.path.\n"
]
},
{
"data": {
"text/plain": [
"{'mutation_rate': 0.03, 'sequence_length': 1000}"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import yaml\n",
"\n",
"with open('../pylo/eval/skygrid/config.yaml') as f:\n",
" config = yaml.load(f)\n",
" \n",
"config"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## True population size"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/ipykernel_launcher.py:2: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.\n",
" \n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f2f6af16128>]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"with open('../pylo/eval/skygrid/pop-size.yaml') as f:\n",
" pop_size_data = yaml.load(f)\n",
" \n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"plt.plot(pop_size_data['coalTimes'], pop_size_data['popSize'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Implement topology backed by `libsbn`"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([-12451.07159032]),\n",
" array([-9.55718084e+02, -9.55718084e+02, -9.23228836e+02, -9.89440877e+02,\n",
" -9.89083860e+02, -9.36794605e+02, -9.21991519e+02, -9.58502761e+02,\n",
" -9.58502761e+02, -9.59035442e+02, -9.41621719e+02, -9.59688955e+02,\n",
" -9.21445094e+02, -9.21445003e+02, -9.55336984e+02, -9.54514106e+02,\n",
" -8.76267214e+02, -8.76267214e+02, -9.96827174e+02, -9.89093668e+02,\n",
" -9.90364337e+02, -9.52058935e+02, -9.60918991e+02, -9.86334239e+02,\n",
" -9.11196259e+02, -9.98962912e+02, -9.98962912e+02, -9.61228988e+02,\n",
" -9.90744729e+02, -9.90744729e+02, -8.94293771e+02, -8.94293771e+02,\n",
" -9.92725651e+02, -9.40756331e+02, -9.97653372e+02, -9.97653372e+02,\n",
" -9.92900064e+02, -9.98995455e+02, 5.97403695e-01, -9.49851453e+02,\n",
" -9.15403726e+02, -9.99393000e+02, -9.99393000e+02, -9.94158508e+02,\n",
" -9.36147586e+02, -9.39742524e+02, -9.61039112e+02, -9.86290534e+02,\n",
" -9.95306485e+02, -9.08538600e+02, -9.58283595e+02, -9.99647909e+02,\n",
" -9.99647909e+02, -9.93637376e+02, -9.93637376e+02, -9.86788396e+02,\n",
" -9.34264773e+02, -9.41555784e+02, -9.58642468e+02, -9.88259677e+02,\n",
" -9.46533795e+02, -8.78138027e+02, -9.36104075e+02, -9.39022004e+02,\n",
" -9.97212220e+02, -9.97212220e+02, -9.91320917e+02, -9.14415157e+02,\n",
" -9.37243860e+02, -8.93249440e+02, -9.50507335e+02, -9.91475415e+02,\n",
" -9.40031521e+02, -9.18847550e+02, -9.03800216e+02, -8.33967015e+02,\n",
" -9.99666444e+02, -9.99666444e+02, -9.99332764e+02, -9.98985589e+02,\n",
" -9.50372224e+02, -9.91610153e+02, -9.62350985e+02, -8.85785709e+02,\n",
" -8.81455179e+02, -9.25076114e+02, -9.95025710e+02, -9.42711828e+02,\n",
" -9.59434256e+02, -9.59434248e+02, -8.69316050e+02, -9.94580506e+02,\n",
" -9.94287449e+02, -9.93950459e+02, -9.93611889e+02, -9.89990619e+02,\n",
" -9.49287273e+02, -8.84942141e+02, -9.88467376e+02, -9.58114848e+02,\n",
" -9.98862923e+02, -9.99617285e+02, -9.99125307e+02, -9.50731664e+02,\n",
" -9.70496445e+02, -9.82607232e+02, -9.98644864e+02, -9.94042407e+02,\n",
" -9.50281718e+02, -9.44194377e+02, -8.77523869e+02, -9.52930965e+02,\n",
" -9.19670190e+02, -8.60724295e+02, -9.36426909e+02, -9.98407790e+02,\n",
" -8.13239977e+02, -9.27051907e+02, -9.59028526e+02, -9.08152374e+02,\n",
" -9.82940410e+02, -9.98072626e+02, -9.60556879e+02, -9.61694502e+02,\n",
" -9.96643978e+02, -9.61961673e+02, -9.39720587e+02, -8.82407934e+02,\n",
" -9.60178552e+02, -9.95219626e+02, -9.86368815e+02, -9.41988187e+02,\n",
" -9.79991810e+01, -9.03058307e+02, -9.56429706e+02, -9.68391516e+02,\n",
" -5.90405174e+02, -9.39533848e+02, -8.61836127e+02, -7.56301723e+02,\n",
" -9.60080585e+02, -9.98473021e+02, -9.42838459e+02, -9.98753042e+02,\n",
" -9.99486023e+02, -9.88807546e+02, -9.47540356e+02, -9.47962372e+02,\n",
" -9.44115345e+02, -9.28348173e+02, -9.92522253e+02, -9.61400485e+02,\n",
" -9.53730708e+02, -9.92673156e+02, -9.21159738e+02, -9.12292528e+02,\n",
" -9.86710743e+02, -9.61478575e+02, -9.95863541e+02, -9.06149913e+02,\n",
" -9.96866701e+02, -9.93956198e+02, -9.43280493e+02, -9.99401093e+02,\n",
" -9.98328771e+02, -9.78631023e+02, -9.56094252e+02, -9.91176119e+02,\n",
" -9.54983219e+02, -9.09964128e+02, -9.34036842e+02, -9.13585482e+02,\n",
" -9.82960718e+02, -9.57642344e+02, -9.99666195e+02, -9.99626152e+02,\n",
" -9.59885898e+02, -9.94161270e+02, -9.88163975e+02, -8.44622605e+02,\n",
" -9.32013213e+02, -8.42251322e+02, -9.04137012e+02, -9.93715941e+02,\n",
" -8.95457232e+02, -9.60163932e+02, -9.98961726e+02, -9.99658471e+02,\n",
" -9.99640953e+02, -9.96313407e+02, -9.83447873e+02, -9.55821614e+02,\n",
" -2.63703691e+02, -9.89321758e+02, -9.13948020e+02, -9.50536563e+02,\n",
" -8.14258545e+02, 0.00000000e+00, 0.00000000e+00]))"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pylo.topology\n",
"import re\n",
"\n",
"def get_child_indices(parent_indices):\n",
" child_indices = np.full((len(parent_indices), 2), -1)\n",
" current_child = np.zeros(len(parent_indices), dtype=int)\n",
" for i in range(len(parent_indices) - 1):\n",
" parent = parent_indices[i]\n",
" child_indices[parent, current_child[parent]] = i\n",
" current_child[parent] += 1\n",
" return child_indices\n",
"\n",
"def get_init_heights(parent_indices, branch_lengths):\n",
" root_to_node_distances = np.zeros(len(parent_indices))\n",
" for i in range(len(parent_indices) - 2, -1, -1):\n",
" root_to_node_distances[i] = root_to_node_distances[parent_indices[i]] + branch_lengths[i]\n",
" return root_to_node_distances.max() - root_to_node_distances\n",
"\n",
"def get_max_leaf_descendant_heights(parent_indices, heights, leaf_mask):\n",
" max_leaf_descendant_heights = np.zeros(len(parent_indices))\n",
" for i in range(len(parent_indices)):\n",
" if leaf_mask[i]:\n",
" max_leaf_descendant_heights[i] = heights[i]\n",
" parent = parent_indices[i]\n",
" max_leaf_descendant_heights[parent] = max(max_leaf_descendant_heights[parent], max_leaf_descendant_heights[i])\n",
" return max_leaf_descendant_heights\n",
"\n",
"class LibSBNTreeTopology(pylo.topology.TreeTopology):\n",
" def __init__(self, newick, tree):\n",
" self.tree = tree\n",
" self.parent_indices = np.concatenate([inst.tree_collection.trees[0].index_vector(), [-1]])\n",
" leaf_count = (len(self.parent_indices) + 1)//2\n",
" self.names = np.concatenate((re.findall(r'(\\w+)(?=:)', newick), [None]*(leaf_count - 1)))\n",
" self.node_mask = np.concatenate([np.full(leaf_count, False), np.full(leaf_count - 1, True)])\n",
" self.leaf_mask = np.logical_not(self.node_mask)\n",
" self.child_indices = get_child_indices(self.parent_indices)\n",
" self.init_heights = get_init_heights(self.parent_indices, np.array(self.tree.branch_lengths))\n",
" self.max_leaf_descendant_heights = get_max_leaf_descendant_heights(self.parent_indices, self.init_heights, self.leaf_mask)\n",
" self._init_mappings()\n",
" \n",
"sbn_topology = LibSBNTreeTopology(inst.tree_collection.newick(), inst.tree_collection.trees[0])\n",
"np.array(inst.log_likelihoods()), np.array(inst.branch_gradients()[0][1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## `pylo` likelihood evaluation driven by `libsbn` topology"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/basic.py:6611: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" result[diagonal_slice] = x\n",
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n"
]
},
{
"data": {
"text/plain": [
"(array(-3799.00614447),\n",
" array([ 1.36345146e+02, 1.36345146e+02, 1.19756446e+03, -9.99686381e+02,\n",
" -9.99667093e+02, 4.78579612e+00, -1.96981120e+00, -3.11765913e+00,\n",
" -3.11765913e+00, -3.20209810e+01, 3.71603668e+02, -5.29745951e+02,\n",
" 7.51344994e+01, 7.51344835e+01, 1.33984990e+02, 1.34770850e+02,\n",
" 3.02132486e+03, 3.02132486e+03, -9.99843820e+02, -9.95805318e+02,\n",
" -9.98867207e+02, 3.17538748e+02, -1.34576114e+02, -9.99192356e+02,\n",
" 9.12746484e+02, -9.99944915e+02, -9.99944915e+02, -2.16975996e+02,\n",
" -9.99600721e+02, -9.99600721e+02, 2.08171482e+03, 2.08171482e+03,\n",
" -9.98981407e+02, 7.67437761e+02, -9.99930069e+02, -9.99930069e+02,\n",
" -9.99790129e+02, -9.99323293e+02, 3.23336736e+04, -9.48297188e+02,\n",
" -4.72504615e+02, -9.99966646e+02, -9.99966646e+02, -9.99801354e+02,\n",
" 9.25038632e+02, 7.89745291e+02, -1.56882207e+02, -9.99594125e+02,\n",
" -9.99052155e+02, 1.92649086e+03, -2.32960846e+01, -9.99978236e+02,\n",
" -9.99978236e+02, -9.99729599e+02, -9.99729599e+02, -9.99444110e+02,\n",
" 7.44252508e+02, 3.87765749e+02, 4.33100887e-01, -9.99332030e+02,\n",
" 1.26679961e+00, 2.84771404e+03, 9.23973486e+02, 8.18933075e+02,\n",
" -9.99917065e+02, -9.99917065e+02, -9.99649888e+02, 2.34666363e+02,\n",
" -5.08926247e+02, 2.36862355e+02, 3.75417870e+02, -9.99461471e+02,\n",
" 4.59299895e+02, 7.51854781e+02, -8.02235018e+01, 3.64477433e+01,\n",
" -9.99989999e+02, -9.99989999e+02, -9.99979998e+02, -9.99960788e+02,\n",
" 3.78347738e+02, -9.99550466e+02, -4.27200853e+02, 2.65494422e+01,\n",
" 1.95848841e+02, 1.33135563e+03, -9.99732955e+02, 7.03889013e+02,\n",
" -8.39844736e+01, -8.39844736e+01, 3.15706150e+03, -9.99797967e+02,\n",
" -9.99829549e+02, -9.99819552e+02, -9.99809547e+02, -9.99704157e+02,\n",
" 7.32803578e+01, 2.19839947e+03, -9.99332142e+02, -7.41439656e-01,\n",
" -9.99300848e+02, -9.99967517e+02, -9.99689814e+02, -7.24734431e+01,\n",
" -5.69815742e+02, -9.96149369e+02, -9.99184815e+02, -9.98820503e+02,\n",
" 4.71959317e+02, -2.64012718e+02, -1.98400775e+02, 4.25308828e+02,\n",
" 1.35007541e+02, 1.37124037e+02, -9.85585565e+02, -9.98736652e+02,\n",
" 5.31297706e+03, 6.58186264e+02, -3.89934202e+02, 2.51423814e+02,\n",
" -9.99159433e+02, -9.99025018e+02, -1.58325953e+02, -2.67978922e+02,\n",
" -9.98997664e+02, -4.94013087e+02, -3.19180237e+02, 9.14018251e+02,\n",
" -1.07917754e+02, -9.99859944e+02, -9.98496628e+02, -3.36217774e+02,\n",
" 3.22303665e+04, 2.93770059e+02, 2.28312010e+01, -9.35146647e+02,\n",
" 3.15326182e+04, 4.99307891e+02, 2.03244965e+02, 6.93110030e+01,\n",
" -9.42280841e+01, -9.98984902e+02, 6.72195619e+02, -9.99184776e+02,\n",
" -9.99980919e+02, -9.99332697e+02, 4.64278455e+02, 4.13616797e+02,\n",
" 1.76234265e+02, 1.26323815e+03, -9.98440167e+02, -5.19613385e+02,\n",
" -6.04022188e+02, -9.96985855e+02, 7.32068459e+01, -2.11902109e+02,\n",
" -9.98330682e+02, -4.98773439e+02, -9.96576343e+02, 7.42439684e+02,\n",
" -9.98244927e+02, -9.99682159e+02, -3.89155673e+02, -9.99967916e+02,\n",
" -9.99713256e+02, -9.96986795e+02, 1.06051946e+02, -9.98504869e+02,\n",
" 9.25964395e+01, 5.77203948e+02, 7.91519961e+02, 3.56289215e+02,\n",
" -9.93126475e+02, -1.53819178e+02, -9.99989998e+02, -9.99962369e+02,\n",
" -7.90764331e+01, -9.99338019e+02, -9.97211270e+02, -1.03063557e+02,\n",
" -2.97764075e+02, 1.39718985e+02, 1.74095335e+02, -9.96221774e+02,\n",
" 8.02874266e+01, -1.19410936e+02, -9.99323070e+02, -9.99989867e+02,\n",
" -9.99989962e+02, -9.99894377e+02, -9.98664964e+02, -5.97041759e+02,\n",
" 3.19987501e+04, -9.87609533e+02, 3.45169507e+02, -3.10534595e+02,\n",
" 6.64606219e+00, 6.93107792e+01]))"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pylo.transform\n",
"import pylo.pruning\n",
"import pylo.hky\n",
"import theano\n",
"import theano.tensor as tt\n",
"\n",
"def parse_fasta(filename):\n",
" f = open(filename)\n",
" x = f.read()\n",
" f.close()\n",
" def process_block(block):\n",
" lines = block.split('\\n')\n",
" return lines[0], ''.join(lines[1:])\n",
" \n",
" return dict([process_block(block) for block in x.split('>')[1:]])\n",
"sequence_dict = parse_fasta(fasta_file)\n",
"sequence_dict_encoded = pylo.transform.encode_sequences(sequence_dict)\n",
"pattern_dict, pattern_counts = pylo.transform.group_sequences(sequence_dict_encoded)\n",
"pylo_topology = sbn_topology\n",
"child_patterns = tt.as_tensor(pylo_topology.build_sequence_table(pattern_dict))\n",
"child_indices = pylo_topology.child_indices[pylo_topology.node_mask]\n",
"submodel = pylo.hky.JCSubstitutionModel()\n",
"\n",
"def LeafSequences(topology, substitution_model, child_distances, child_patterns, pattern_frequencies, *args, **kwargs):\n",
" transition_probs = substitution_model.get_transition_probs(child_distances)\n",
" character_frequencies = substitution_model.get_equilibrium_probs()\n",
" child_leaf_mask = topology.get_node_child_leaf_mask()\n",
" logp = pylo.pruning.phylogenetic_log_likelihood(\n",
" tt.as_tensor_variable(topology.node_child_indices),\n",
" transition_probs,\n",
" child_patterns,\n",
" tt.as_tensor_variable(child_leaf_mask),\n",
" pattern_frequencies,\n",
" character_frequencies\n",
" )\n",
" return logp\n",
"\n",
"branch_lengths_ = tt.vector()\n",
"child_branch_lengths_ = branch_lengths_[child_indices]\n",
"\n",
"pylo_ll_ = LeafSequences(pylo_topology, submodel, child_branch_lengths_, child_patterns, pattern_counts)\n",
"pylo_grad_ = theano.grad(pylo_ll_, branch_lengths_)\n",
"pylo_ll_func = theano.function([branch_lengths_], pylo_ll_)\n",
"pylo_grad_func = theano.function([branch_lengths_], pylo_grad_)\n",
"branch_lengths = np.array(sbn_topology.tree.branch_lengths)[:-1] * config['mutation_rate']\n",
"pylo_ll_func(branch_lengths), pylo_grad_func(branch_lengths)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Theano node for `libsbn` / Beagle likelihood"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"parent_indices = np.array(inst.tree_collection.trees[0].index_vector())"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): SeqOptimizer apply <theano.tensor.opt.ShapeOptimizer object at 0x7f2f68665a90>\n",
"ERROR (theano.gof.opt): Traceback:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 251, in apply\n",
" sub_prof = optimizer.optimize(fgraph)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 93, in optimize\n",
" self.add_requirements(fgraph)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1488, in add_requirements\n",
" fgraph.attach_feature(ShapeFeature())\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/fg.py\", line 546, in attach_feature\n",
" attach(self)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1305, in on_attach\n",
" self.on_import(fgraph, node, reason='on_attach')\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1368, in on_import\n",
" self.set_shape(r, s)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1157, in set_shape\n",
" shape_vars.append(self.unpack(s[i], r))\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1088, in unpack\n",
" raise NotImplementedError(s_i)\n",
"NotImplementedError: (Shape_i{0}.0,)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"(array(-3799.00614855),\n",
" array([ 1.36345133e+02, 1.36345133e+02, 1.19756450e+03, -9.99686398e+02,\n",
" -9.99667111e+02, 4.78574652e+00, -1.96981825e+00, -3.11765947e+00,\n",
" -3.11765947e+00, -3.20209986e+01, 3.71603709e+02, -5.29745969e+02,\n",
" 7.51344963e+01, 7.51344963e+01, 1.33984957e+02, 1.34770836e+02,\n",
" 3.02132485e+03, 3.02132485e+03, -9.99843835e+02, -9.95805335e+02,\n",
" -9.98867223e+02, 3.17538733e+02, -1.34576145e+02, -9.99192372e+02,\n",
" 9.12746465e+02, -9.99944931e+02, -9.99944931e+02, -2.16976025e+02,\n",
" -9.99600737e+02, -9.99600737e+02, 2.08171487e+03, 2.08171487e+03,\n",
" -9.98981423e+02, 7.67437779e+02, -9.99930085e+02, -9.99930085e+02,\n",
" -9.99790146e+02, -9.99323310e+02, 3.23336730e+04, -9.48297230e+02,\n",
" -4.72504634e+02, -9.99966648e+02, -9.99966648e+02, -9.99801356e+02,\n",
" 9.25038690e+02, 7.89745304e+02, -1.56882224e+02, -9.99594126e+02,\n",
" -9.99052156e+02, 1.92649085e+03, -2.32960591e+01, -9.99978237e+02,\n",
" -9.99978237e+02, -9.99729600e+02, -9.99729600e+02, -9.99444111e+02,\n",
" 7.44252521e+02, 3.87765735e+02, 4.33097100e-01, -9.99332031e+02,\n",
" 1.26678283e+00, 2.84771418e+03, 9.23973442e+02, 8.18933073e+02,\n",
" -9.99917067e+02, -9.99917067e+02, -9.99649889e+02, 2.34666337e+02,\n",
" -5.08926265e+02, 2.36862359e+02, 3.75417799e+02, -9.99461472e+02,\n",
" 4.59299849e+02, 7.51854863e+02, -8.02235046e+01, 3.64477295e+01,\n",
" -9.99990000e+02, -9.99990000e+02, -9.99979999e+02, -9.99960789e+02,\n",
" 3.78347762e+02, -9.99550467e+02, -4.27200857e+02, 2.65494690e+01,\n",
" 1.95848866e+02, 1.33135563e+03, -9.99732972e+02, 7.03889018e+02,\n",
" -8.39845123e+01, -8.39845123e+01, 3.15706152e+03, -9.99797983e+02,\n",
" -9.99829564e+02, -9.99819567e+02, -9.99809563e+02, -9.99704172e+02,\n",
" 7.32803392e+01, 2.19839946e+03, -9.99332158e+02, -7.41492241e-01,\n",
" -9.99300866e+02, -9.99967534e+02, -9.99689832e+02, -7.24734752e+01,\n",
" -5.69815734e+02, -9.96149384e+02, -9.99184832e+02, -9.98820520e+02,\n",
" 4.71959281e+02, -2.64012780e+02, -1.98400758e+02, 4.25308852e+02,\n",
" 1.35007455e+02, 1.37124009e+02, -9.85585563e+02, -9.98736667e+02,\n",
" 5.31297677e+03, 6.58186137e+02, -3.89934215e+02, 2.51423797e+02,\n",
" -9.99159450e+02, -9.99025034e+02, -1.58325953e+02, -2.67978918e+02,\n",
" -9.98997681e+02, -4.94013103e+02, -3.19180281e+02, 9.14018248e+02,\n",
" -1.07917752e+02, -9.99859960e+02, -9.98496645e+02, -3.36217785e+02,\n",
" 3.22303664e+04, 2.93770065e+02, 2.28312225e+01, -9.35146719e+02,\n",
" 3.15326171e+04, 4.99307871e+02, 2.03244963e+02, 6.93109361e+01,\n",
" -9.42280812e+01, -9.98984904e+02, 6.72195600e+02, -9.99184777e+02,\n",
" -9.99980920e+02, -9.99332699e+02, 4.64278445e+02, 4.13616820e+02,\n",
" 1.76234216e+02, 1.26323809e+03, -9.98440168e+02, -5.19613390e+02,\n",
" -6.04022195e+02, -9.96985855e+02, 7.32068668e+01, -2.11902130e+02,\n",
" -9.98330683e+02, -4.98773445e+02, -9.96576345e+02, 7.42439624e+02,\n",
" -9.98244928e+02, -9.99682160e+02, -3.89155662e+02, -9.99967917e+02,\n",
" -9.99713257e+02, -9.96986795e+02, 1.06051968e+02, -9.98504870e+02,\n",
" 9.25963852e+01, 5.77203972e+02, 7.91519968e+02, 3.56289220e+02,\n",
" -9.93126475e+02, -1.53819158e+02, -9.99989999e+02, -9.99962371e+02,\n",
" -7.90764418e+01, -9.99338020e+02, -9.97211271e+02, -1.03063577e+02,\n",
" -2.97764087e+02, 1.39718987e+02, 1.74095345e+02, -9.96221792e+02,\n",
" 8.02874644e+01, -1.19410912e+02, -9.99323085e+02, -9.99989883e+02,\n",
" -9.99989978e+02, -9.99894392e+02, -9.98664980e+02, -5.97041780e+02,\n",
" 3.19987504e+04, -9.87609544e+02, 3.45169495e+02, -3.10534584e+02,\n",
" 6.64608233e+00, 6.93109361e+01]))"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class BeagleGradientOp(theano.Op):\n",
" \n",
" __props__ = ('inst',)\n",
" \n",
" def __init__(self, inst):\n",
" super(BeagleGradientOp, self).__init__()\n",
" self.inst = inst\n",
" self.tree = inst.tree_collection.trees[0]\n",
" parent_indices = np.array(self.tree.index_vector())\n",
" self.root_child_indices = np.nonzero(parent_indices == len(parent_indices))[0]\n",
" self.branch_lengths = np.array(self.tree.branch_lengths, copy=False)\n",
" \n",
" itypes = [tt.dvector]\n",
" otypes = [tt.dvector]\n",
" \n",
" def perform(self, node, inputs, output_storage):\n",
" self.branch_lengths[:-1] = inputs[0]\n",
" output_storage[0][0] = np.array(inst.branch_gradients()[0][1])[:-1]\n",
" output_storage[0][0][self.root_child_indices] = np.sum(output_storage[0][0][self.root_child_indices])\n",
" \n",
" def infer_shape(self, node, i0_shape):\n",
" return [i0_shape]\n",
" \n",
" def grad(self, inputs, output_gradients):\n",
" return [theano.gradient.grad_not_implemented(self, 0, inputs[0])]\n",
" \n",
"class BeagleOp(theano.Op):\n",
" \n",
" __props__ = ('inst',)\n",
" \n",
" def __init__(self, inst):\n",
" super(BeagleOp, self).__init__()\n",
" self.inst = inst\n",
" self.branch_lengths = np.array(inst.tree_collection.trees[0].branch_lengths, copy=False)\n",
" self.grad_op = BeagleGradientOp(self.inst)\n",
" \n",
" itypes = [tt.dvector]\n",
" otypes = [tt.dscalar]\n",
" \n",
" def perform(self, node, inputs, output_storage):\n",
" self.branch_lengths[:-1] = inputs[0]\n",
" output_storage[0][0] = np.array(np.array(inst.log_likelihoods())[0])\n",
" \n",
" def infer_shape(self, node, i0_shape):\n",
" return [()]\n",
" \n",
" def grad(self, inputs, output_gradients):\n",
" return [tt.dot(self.grad_op(inputs[0]), output_gradients[0])]\n",
" \n",
"theano.config.compute_test_value = 'off'\n",
"\n",
"beagle_op = BeagleOp(inst)\n",
"beagle_ll_ = beagle_op(branch_lengths_)\n",
"beagle_ll_func = theano.function([branch_lengths_], beagle_ll_)\n",
"beagle_grad_ = theano.grad(beagle_ll_, branch_lengths_)\n",
"beagle_grad_func = theano.function([branch_lengths_], beagle_grad_)\n",
"beagle_ll_func(branch_lengths), beagle_grad_func(branch_lengths)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Rough benchmark comparison of likelihoods"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"\n",
"n_eval_iter = 100\n",
"bench_branch_lengths = branch_lengths + np.random.normal(size=(n_eval_iter, branch_lengths.shape[0]))\n",
"\n",
"def benchmark(grad_func):\n",
" out = np.zeros_like(bench_branch_lengths)\n",
" start = time.time()\n",
" for i in range(n_eval_iter):\n",
" out[i] = grad_func(bench_branch_lengths[i])\n",
" end = time.time()\n",
" print('{0} evaluations took {1} seconds'.format(n_eval_iter, end - start))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"100 evaluations took 35.19889545440674 seconds\n"
]
}
],
"source": [
"benchmark(pylo_grad_func)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"100 evaluations took 0.43335533142089844 seconds\n"
]
}
],
"source": [
"benchmark(beagle_grad_func)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Include in model"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n",
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n",
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n",
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n",
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"precision_log__ -6.915086640662836\n",
"init_log_pop_size -2.528376445638773\n",
"innovations -9.189385332046724\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"tree_tree_height_proportion__ -648.007800271487\n",
"tree likelihood -12451.07159032386\n",
"total -13117.712239013696\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n"
]
}
],
"source": [
"import pymc3 as pm\n",
"import pylo.tree.coalescent\n",
"\n",
"grid_size = 9\n",
"cutoff = 2.0\n",
"\n",
"with pm.Model() as model:\n",
" precision = pm.Gamma('precision', alpha=0.001, beta=1.0/1000.0)\n",
" init_log_pop_size = pm.Normal('init_log_pop_size', sd=5)\n",
" innovations = pm.Normal('innovations', mu=0, tau=precision, shape=grid_size+1)\n",
" pop_size = pm.Deterministic('pop_size', tt.exp(init_log_pop_size + tt.cumsum(innovations)))\n",
" pop_func = pylo.tree.coalescent.GridPopulationFunction(sbn_topology, pop_size, cutoff, grid_size)\n",
" tree_heights = pylo.tree.coalescent.CoalescentTree('tree', sbn_topology, pop_func, testval=sbn_topology.get_init_heights()[sbn_topology.node_mask])\n",
" model_branch_lengths = sbn_topology.get_branch_lengths(tree_heights)\n",
" distances = model_branch_lengths * config['mutation_rate']\n",
" tree_likelihood = pm.Potential('tree_likelihood', beagle_op(model_branch_lengths))\n",
" \n",
"for RV in model.basic_RVs:\n",
" print(RV.name, RV.logp(model.test_point))\n",
"print('tree likelihood', model.fn(tree_likelihood)(model.test_point))\n",
"print('total', model.logp(model.test_point))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): SeqOptimizer apply <theano.tensor.opt.ShapeOptimizer object at 0x7f2f68665a90>\n",
"ERROR (theano.gof.opt): Traceback:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 251, in apply\n",
" sub_prof = optimizer.optimize(fgraph)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 93, in optimize\n",
" self.add_requirements(fgraph)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1488, in add_requirements\n",
" fgraph.attach_feature(ShapeFeature())\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/fg.py\", line 546, in attach_feature\n",
" attach(self)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1305, in on_attach\n",
" self.on_import(fgraph, node, reason='on_attach')\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1368, in on_import\n",
" self.set_shape(r, s)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1157, in set_shape\n",
" shape_vars.append(self.unpack(s[i], r))\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1088, in unpack\n",
" raise NotImplementedError(s_i)\n",
"NotImplementedError: (TensorConstant{198},)\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, ScalarFromTensor.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, ScalarFromTensor.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64:int64:int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64:int64:int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64:int64:int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64:int64:int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64:int64:int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64:int64:int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64:int64:int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64:int64:int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn&grad_of_scan_fn&grad_of_scan_fn}.2\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{::int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{::int64}(Subtensor{int64:int64:int64}.0, Constant{-1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{::int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn&grad_of_scan_fn&grad_of_scan_fn}.2\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{::int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{::int64}(Subtensor{int64:int64:int64}.0, Constant{-1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(for{cpu,scan_fn}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn&grad_of_scan_fn&grad_of_scan_fn}.2\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{::int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{::int64}(Subtensor{int64:int64:int64}.0, Constant{-1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(for{cpu,scan_fn}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree_tree_height_proportion___vi_replacement, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree_tree_height_proportion___vi_replacement\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{:int64:}(Subtensor{::int64}.0, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,grad_of_scan_fn&grad_of_scan_fn&grad_of_scan_fn}.2\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{add,no_inplace}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{::int64}.0, TensorConstant{(1, 1) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{::int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(Elemwise{add,no_inplace}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: Elemwise{add,no_inplace}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_subtensor_merge\n",
"ERROR (theano.gof.opt): node: Subtensor{::int64}(Subtensor{int64:int64:int64}.0, Constant{-1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 3072, in local_subtensor_merge\n",
" xshape = node.fgraph.shape_feature.shape_of[x]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: Subtensor{int64:int64:int64}(for{cpu,scan_fn}.0, Constant{0}, Constant{98}, Constant{1})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2723, in local_useless_subtensor\n",
" length_pos = shape_of[node.inputs[0]][pos]\n",
"KeyError: for{cpu,scan_fn}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Subtensor{int64}.0, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Subtensor{int64}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(tree, TensorConstant{(1,) of 0.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(Elemwise{mul,no_inplace}.0, Elemwise{switch,no_inplace}.0)\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: Elemwise{mul,no_inplace}.0\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR (theano.gof.opt): Optimization failure due to: local_fill_to_alloc\n",
"ERROR (theano.gof.opt): node: Elemwise{second,no_inplace}(InplaceDimShuffle{0,x}.0, TensorConstant{(1, 1) of -1.0})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 1731, in local_fill_to_alloc\n",
" o = broadcast_like(v, r, node.fgraph, dtype=v.dtype)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 130, in broadcast_like\n",
" new_shape = fgraph.shape_feature.shape_of[template]\n",
"KeyError: InplaceDimShuffle{0,x}.0\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[-1 -1 -1 .. 96 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
"ERROR (theano.gof.opt): Optimization failure due to: local_useless_subtensor\n",
"ERROR (theano.gof.opt): node: AdvancedSubtensor1(tree, TensorConstant{[ 1 2 3 ..96\n",
" 97 98]})\n",
"ERROR (theano.gof.opt): TRACEBACK:\n",
"ERROR (theano.gof.opt): Traceback (most recent call last):\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/gof/opt.py\", line 2034, in process_node\n",
" replacements = lopt.transform(node)\n",
" File \"/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/opt.py\", line 2769, in local_useless_subtensor\n",
" length = get_scalar_constant_value(shape_of[node.inputs[0]][0],\n",
"KeyError: tree\n",
"\n",
" 0%| | 0/20000 [00:00<?, ?it/s]/home/christiaanjs/miniconda3/envs/libsbn/lib/python3.7/site-packages/theano/tensor/subtensor.py:2197: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" rval = inputs[0].__getitem__(inputs[1:])\n",
"Average Loss = 4,315.1: 100%|██████████| 20000/20000 [05:12<00:00, 64.10it/s]\n",
"Finished [100%]: Average Loss = 4,315.1\n"
]
}
],
"source": [
"with model:\n",
" fit = pm.fit(n=20000)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f2f2e0c4940>]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"plt.plot(fit.hist)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"trace = fit.sample()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Recovered population size estimates"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Initial pop size')"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(trace.get_values('pop_size')[:, 0])\n",
"plt.title('Initial pop size')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x360 with 10 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axs = plt.subplots(ncols=10, figsize=(20, 5))\n",
"\n",
"plt.title('Pop sizes')\n",
"\n",
"for i, (ax, vals) in enumerate(zip(axs, trace.get_values('pop_size').T)):\n",
" ax.hist(vals);\n",
" ax.set_title(str(i))"
]
}
],
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment