Skip to content

Instantly share code, notes, and snippets.

@malkin1729
Created December 22, 2022 01:41
Show Gist options
  • Save malkin1729/88227a1e451596e1ea1fc7d4e0a7ae09 to your computer and use it in GitHub Desktop.
Save malkin1729/88227a1e451596e1ea1fc7d4e0a7ae09 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import torch as T\n",
"import numpy as np\n",
"from matplotlib import pyplot as pt\n",
"import tqdm\n",
"\n",
"device = T.device('cuda')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"class Policy(T.nn.Module):\n",
" \n",
" def __init__(self, n_classes, n_mixture_components, n_hidden_layers, hidden_dim, context_dim, uniform_pb=False): \n",
" super(Policy, self).__init__()\n",
" \n",
" self.n_classes = n_classes\n",
" self.n_mixture_components = n_mixture_components\n",
" self.context_dim = context_dim\n",
" self.uniform_pb = uniform_pb\n",
" \n",
" layers = [ T.nn.Linear(2*n_classes+1+context_dim, hidden_dim), T.nn.ELU() ]\n",
" for _ in range(n_hidden_layers-1):\n",
" layers += [ T.nn.Linear(hidden_dim, hidden_dim), T.nn.ELU() ]\n",
" layers += [ T.nn.Linear(hidden_dim, n_classes*(2+3*n_mixture_components)+1) ]\n",
" \n",
" self.model = T.nn.Sequential(*layers)\n",
" \n",
" def forward(self, theta, set_mask, remaining, context):\n",
" # theta: b * n_cl\n",
" # set_mask: b * n_cl\n",
" # remaining: b\n",
" # context: b * context_dim\n",
" \n",
" x = T.cat([theta, set_mask, remaining.unsqueeze(1), context], 1)\n",
" x = self.model(x)\n",
" \n",
" pb_logits = (x[:, :self.n_classes] * (0 if self.uniform_pb else 1) - 1e9*(1-set_mask)).log_softmax(1)\n",
" pf_class_logits = (x[:, self.n_classes:2*self.n_classes] - 1e9*set_mask).log_softmax(1)\n",
" pf_beta_parameters = x[:, 2*self.n_classes:self.n_classes*(2+3*self.n_mixture_components)]\n",
" log_flow = x[:, -1]\n",
"\n",
" return pb_logits, \\\n",
" pf_class_logits, \\\n",
" pf_beta_parameters.view(-1, self.n_classes, self.n_mixture_components, 3), \\\n",
" log_flow \n",
" "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def sample_forward(context, temperature=1., uniform_prob=0., max_steps=None):\n",
" bs = context.shape[0]\n",
" assert context.shape==(bs,policy.context_dim)\n",
" \n",
" if max_steps == None: \n",
" max_steps = policy.n_classes\n",
"\n",
" remaining = T.ones((bs,)).to(device)\n",
" theta = T.zeros((bs, policy.n_classes)).to(device)\n",
" set_mask = T.zeros_like(theta)\n",
" logPF = T.zeros_like(remaining)\n",
" logPB = T.zeros_like(remaining)\n",
" \n",
" for step in range(max_steps+1):\n",
" pb_logits, pf_class_logits, pf_beta_parameters, log_flow = policy(theta, set_mask, remaining, context)\n",
" \n",
" if step==0:\n",
" logZ = log_flow\n",
" else:\n",
" logPB += pb_logits.gather(1, positions).squeeze(1)\n",
" \n",
" if step < max_steps:\n",
" sampling_probs = (1-uniform_prob) * (pf_class_logits/temperature).softmax(1) + uniform_prob * (1-set_mask) / (1-set_mask).sum(1).unsqueeze(1)\n",
" positions = T.multinomial(sampling_probs, 1)\n",
" \n",
" logPF += pf_class_logits.gather(1, positions).squeeze(1)\n",
" \n",
" if step < policy.n_classes - 1:\n",
" pos_beta_mixture_parameters = pf_beta_parameters.gather(1, positions[...,None,None].repeat(*((1,1)+pf_beta_parameters.shape[-2:]))).squeeze(1)\n",
" mixture_components_logits = pos_beta_mixture_parameters[...,0].log_softmax(1)\n",
" mixture_components = T.multinomial(mixture_components_logits.exp(), 1)\n",
" logPF += mixture_components_logits.gather(1, mixture_components).squeeze(1)\n",
" pos_beta_parameters = pos_beta_mixture_parameters.gather(1, mixture_components[...,None].repeat(*((1,1)+pf_beta_parameters.shape[-1:]))).squeeze(1)\n",
" betas = T.distributions.Beta(pos_beta_parameters[:, 1].exp()+1e-2, pos_beta_parameters[:, 2].exp()+1e-2)\n",
" samples = betas.sample()\n",
" \n",
" all_betas = T.distributions.Beta(pos_beta_mixture_parameters[...,1].exp()+1e-2, pos_beta_mixture_parameters[...,2].exp()+1e-2)\n",
" all_log_probs = all_betas.log_prob(samples.unsqueeze(1))\n",
" logPF += (all_log_probs + mixture_components_logits).logsumexp(1) - remaining.detach().log()\n",
" else:\n",
" samples = T.ones_like(samples)\n",
" \n",
" theta.scatter_(1, positions, (samples * remaining).unsqueeze(1))\n",
" remaining = remaining - samples * remaining\n",
" set_mask.scatter_(1, positions, T.ones(bs,1).to(device))\n",
" \n",
" return theta, logZ, logPF, logPB"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"n_topics = 3\n",
"n_vocab = 100\n",
"doc_size = 16"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"prior = T.distributions.Dirichlet(T.full((n_topics,), 0.1).to(device))\n",
"def log_reward(theta,context,tw):\n",
" theta_soft = theta*0.99 + 0.01/n_topics\n",
" lp = prior.log_prob(theta_soft)\n",
" lpw = theta_soft @ tw.softmax(1)\n",
" ll = (lpw.log() * context).sum(1)\n",
" return lp + ll"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"# generate a dataset\n",
"word_prior = T.distributions.Dirichlet(T.full((n_vocab,), 0.1).to(device))\n",
"topic_word = word_prior.sample((n_topics,))\n",
"\n",
"bs = 256\n",
"topics = prior.sample((bs,))\n",
"dists = topics @ topic_word\n",
"docs = T.distributions.Multinomial(probs=dists, total_count=doc_size).sample()\n",
"gt_topic_word = topic_word.log().clone()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"topic_word = T.nn.Parameter(word_prior.sample((n_topics,)).log()*0.01)\n",
"# topic_word.data = gt_topic_word\n",
"policy = Policy(n_classes=n_topics, \n",
" n_mixture_components=4, \n",
" n_hidden_layers=3, \n",
" hidden_dim=32, \n",
" context_dim=n_vocab).to(device)\n",
"optimizer = T.optim.Adam(policy.parameters(), 0.001)\n",
"optimizer_gen = T.optim.Adam([topic_word], 0.01)\n",
"losses, log_rewards, updates = [], [], []"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5339.19677734375 -75.00799560546875 0.0 -0.17898723483085632\n",
"tensor([0.3113, 0.3744, 0.3144], device='cuda:0')\n",
"3546.5011989450454 -73.70572082519531 0.0 -88.59672546386719\n",
"tensor([9.7947e-06, 6.7550e-01, 3.2449e-01], device='cuda:0')\n",
"11.263638963699341 -72.77050445556641 0.0 -77.75553894042969\n",
"tensor([0.0338, 0.6186, 0.3476], device='cuda:0')\n",
"1.232149149775505 -73.63213912963867 0.12 -73.81747436523438\n",
"tensor([0.2774, 0.3218, 0.4008], device='cuda:0')\n",
"1.095009415745735 -70.41562278747558 0.24 -70.29661560058594\n",
"tensor([0.3188, 0.2862, 0.3950], device='cuda:0')\n",
"1.1437681084871292 -67.94061233520507 0.14 -68.41439819335938\n",
"tensor([0.3710, 0.2747, 0.3543], device='cuda:0')\n",
"1.1356153529882431 -66.29721214294433 0.15 -66.96688842773438\n",
"tensor([0.3281, 0.2894, 0.3825], device='cuda:0')\n",
"1.1351548039913177 -64.84039974212646 0.18 -65.48225402832031\n",
"tensor([0.3407, 0.2649, 0.3944], device='cuda:0')\n",
"1.1267199742794036 -63.53774150848389 0.2 -64.29792022705078\n",
"tensor([0.3482, 0.2941, 0.3577], device='cuda:0')\n",
"1.1324942630529404 -62.38467308044434 0.25 -63.13263702392578\n",
"tensor([0.3262, 0.3246, 0.3492], device='cuda:0')\n",
"1.143118695616722 -61.31421634674072 0.27 -62.254608154296875\n",
"tensor([0.3030, 0.3183, 0.3786], device='cuda:0')\n",
"1.1150964844226836 -60.55814685821533 0.42 -61.5101318359375\n",
"tensor([0.3323, 0.2919, 0.3758], device='cuda:0')\n",
"1.023587293624878 -59.797543373107914 0.6 -60.83245086669922\n",
"tensor([0.3067, 0.3009, 0.3924], device='cuda:0')\n",
"0.9061188751459122 -59.317057075500486 0.72 -60.38682556152344\n",
"tensor([0.3014, 0.3380, 0.3606], device='cuda:0')\n",
"0.7718061292171479 -59.03282218933106 0.92 -60.226985931396484\n",
"tensor([0.2953, 0.3278, 0.3769], device='cuda:0')\n",
"0.6978682881593704 -58.97709060668945 0.94 -60.081329345703125\n",
"tensor([0.2654, 0.3753, 0.3594], device='cuda:0')\n",
"0.6522869244217873 -58.85392658233643 0.96 -60.108116149902344\n",
"tensor([0.3207, 0.3704, 0.3089], device='cuda:0')\n",
"0.6289197561144829 -58.743394165039064 0.97 -59.9983024597168\n",
"tensor([0.2902, 0.2981, 0.4117], device='cuda:0')\n",
"0.5816634127497673 -58.73764385223389 0.97 -60.01136779785156\n",
"tensor([0.3489, 0.3280, 0.3232], device='cuda:0')\n",
"0.5562542042136193 -58.72943668365478 0.99 -60.056365966796875\n",
"tensor([0.3079, 0.3579, 0.3342], device='cuda:0')\n",
"0.5859266641736031 -58.76437438964844 0.97 -60.106407165527344\n",
"tensor([0.2555, 0.3772, 0.3673], device='cuda:0')\n",
"0.6630006548762322 -58.77452781677246 0.95 -60.04123306274414\n",
"tensor([0.2941, 0.2906, 0.4153], device='cuda:0')\n",
"0.6043819969892502 -58.74245792388916 0.96 -60.04582595825195\n",
"tensor([0.3065, 0.3022, 0.3914], device='cuda:0')\n",
"0.6941645961999893 -58.71961921691894 0.96 -59.98759460449219\n",
"tensor([0.2827, 0.3007, 0.4166], device='cuda:0')\n",
"0.6233581843972206 -58.746786727905274 0.97 -59.98252868652344\n",
"tensor([0.2997, 0.3276, 0.3726], device='cuda:0')\n",
"0.6827544385194778 -58.758174934387206 0.98 -60.07716369628906\n",
"tensor([0.2958, 0.3441, 0.3601], device='cuda:0')\n",
"0.8040225741267204 -58.74992374420166 0.91 -59.965362548828125\n",
"tensor([0.2929, 0.3405, 0.3666], device='cuda:0')\n",
"0.9204131281375885 -58.74249607086182 0.72 -59.993736267089844\n",
"tensor([0.3245, 0.3548, 0.3207], device='cuda:0')\n",
"1.170855165719986 -58.77177585601807 0.11 -59.88347625732422\n",
"tensor([0.2422, 0.3131, 0.4447], device='cuda:0')\n",
"1.1648672425746918 -58.70951473236084 0.15 -59.92580032348633\n",
"tensor([0.2931, 0.3494, 0.3575], device='cuda:0')\n",
"1.187340236902237 -58.70164463043213 0.15 -59.771148681640625\n",
"tensor([0.2706, 0.3577, 0.3717], device='cuda:0')\n",
"1.2327655619382858 -58.72432807922363 0.09 -59.748844146728516\n",
"tensor([0.2577, 0.3286, 0.4137], device='cuda:0')\n",
"1.2280465269088745 -58.66496212005615 0.04 -59.663368225097656\n",
"tensor([0.2090, 0.4177, 0.3733], device='cuda:0')\n",
"1.2034409683942795 -58.570076065063475 0.04 -59.65102767944336\n",
"tensor([0.2559, 0.3828, 0.3613], device='cuda:0')\n",
"1.227398519515991 -58.53832061767578 0.07 -59.479557037353516\n",
"tensor([0.2413, 0.3840, 0.3747], device='cuda:0')\n",
"1.255662345290184 -58.47613731384277 0.05 -59.378055572509766\n",
"tensor([0.2325, 0.3726, 0.3949], device='cuda:0')\n",
"1.2991685396432877 -58.424017639160155 0.04 -59.340728759765625\n",
"tensor([0.2000, 0.3796, 0.4204], device='cuda:0')\n",
"1.2509387838840484 -58.38878238677979 0.03 -59.24190139770508\n",
"tensor([0.2263, 0.3132, 0.4606], device='cuda:0')\n",
"1.2423586374521256 -58.33663829803467 0.05 -59.16193389892578\n",
"tensor([0.2503, 0.3429, 0.4068], device='cuda:0')\n",
"1.3024506282806396 -58.06736526489258 0.06 -59.02488708496094\n",
"tensor([0.1837, 0.3821, 0.4342], device='cuda:0')\n",
"1.3143541789054871 -57.42053646087646 0.06 -58.57398986816406\n",
"tensor([0.1645, 0.3260, 0.5095], device='cuda:0')\n",
"1.2668221169710159 -56.48176433563233 0.07 -58.14472198486328\n",
"tensor([0.1534, 0.2907, 0.5559], device='cuda:0')\n",
"1.303649778366089 -55.632459526062014 0.08 -57.7420539855957\n",
"tensor([0.1045, 0.3489, 0.5466], device='cuda:0')\n",
"1.246590762734413 -54.75730804443359 0.12 -57.4212646484375\n",
"tensor([0.1030, 0.3304, 0.5666], device='cuda:0')\n",
"1.186555580496788 -54.08460330963135 0.36 -56.502723693847656\n",
"tensor([0.0891, 0.3491, 0.5618], device='cuda:0')\n",
"0.9469049417972565 -53.72010948181153 0.78 -56.472625732421875\n",
"tensor([0.1164, 0.3223, 0.5613], device='cuda:0')\n",
"0.6925678265094757 -53.612727661132816 0.96 -56.296485900878906\n",
"tensor([0.1294, 0.3005, 0.5701], device='cuda:0')\n",
"0.6352209240198136 -53.604561462402344 0.99 -56.410926818847656\n",
"tensor([0.1317, 0.2872, 0.5811], device='cuda:0')\n",
"0.7304302099347114 -53.61720794677734 0.98 -56.252532958984375\n",
"tensor([0.1220, 0.2601, 0.6179], device='cuda:0')\n",
"0.6374397739768028 -53.64296215057373 0.99 -56.23942565917969\n",
"tensor([0.1195, 0.2807, 0.5999], device='cuda:0')\n",
"0.6619596907496452 -53.63779563903809 0.95 -56.35626983642578\n",
"tensor([0.1156, 0.2950, 0.5895], device='cuda:0')\n",
"0.6234841993451119 -53.64442481994629 0.92 -56.36970138549805\n",
"tensor([0.1137, 0.2877, 0.5987], device='cuda:0')\n",
"0.5973330575227738 -53.64245052337647 0.98 -56.4075813293457\n",
"tensor([0.0905, 0.2973, 0.6122], device='cuda:0')\n",
"0.6158758586645127 -53.624692039489744 0.94 -56.541683197021484\n",
"tensor([0.0865, 0.3106, 0.6029], device='cuda:0')\n",
"0.5967774161696434 -53.61479591369629 0.99 -56.396446228027344\n",
"tensor([0.0901, 0.3083, 0.6016], device='cuda:0')\n",
"0.6080861777067185 -53.558166389465335 1.0 -56.43267059326172\n",
"tensor([0.0923, 0.3227, 0.5849], device='cuda:0')\n",
"0.7368822130560875 -53.54587490081787 0.89 -56.5095100402832\n",
"tensor([0.0728, 0.3296, 0.5977], device='cuda:0')\n",
"0.7293363624811172 -53.54059223175049 0.93 -56.49578857421875\n",
"tensor([0.0789, 0.3251, 0.5960], device='cuda:0')\n",
"0.7664073100686073 -53.53928524017334 0.93 -56.550113677978516\n",
"tensor([0.0654, 0.3441, 0.5905], device='cuda:0')\n",
"0.7412702116370201 -53.51655475616455 0.95 -56.53882598876953\n",
"tensor([0.0720, 0.3339, 0.5940], device='cuda:0')\n",
"0.7214934992790222 -53.52108829498291 0.96 -56.602134704589844\n",
"tensor([0.0603, 0.3622, 0.5775], device='cuda:0')\n",
"0.707744922041893 -53.53437286376953 0.95 -56.60513687133789\n",
"tensor([0.0540, 0.3462, 0.5998], device='cuda:0')\n",
"0.6582868728041649 -53.52054286956787 0.98 -56.70066833496094\n",
"tensor([0.0469, 0.3683, 0.5849], device='cuda:0')\n",
"0.8879157817363739 -53.52068420410156 0.84 -56.774166107177734\n",
"tensor([0.0524, 0.3551, 0.5924], device='cuda:0')\n",
"0.7335088667273522 -53.52858638763428 0.87 -56.66447448730469\n",
"tensor([0.0441, 0.3739, 0.5820], device='cuda:0')\n",
"0.4448272404074669 -53.54760578155518 1.0 -56.678627014160156\n",
"tensor([0.0637, 0.3510, 0.5853], device='cuda:0')\n",
"0.4459055018424988 -53.51938419342041 1.0 -56.800987243652344\n",
"tensor([0.0612, 0.3370, 0.6018], device='cuda:0')\n",
"0.374909031689167 -53.50309471130371 1.0 -56.85752868652344\n",
"tensor([0.0523, 0.3462, 0.6015], device='cuda:0')\n",
"0.33665544584393503 -53.45789794921875 1.0 -56.89958953857422\n",
"tensor([0.0584, 0.3590, 0.5826], device='cuda:0')\n",
"0.30595080524683 -53.47039882659912 1.0 -56.85301208496094\n",
"tensor([0.0536, 0.3424, 0.6040], device='cuda:0')\n",
"0.2681262767314911 -53.47688762664795 1.0 -57.00203323364258\n",
"tensor([0.0665, 0.3597, 0.5738], device='cuda:0')\n",
"0.2664834652841091 -53.497044258117675 1.0 -57.07732391357422\n",
"tensor([0.0537, 0.3591, 0.5872], device='cuda:0')\n",
"0.24812621906399726 -53.517969627380374 1.0 -57.02836990356445\n",
"tensor([0.0503, 0.3629, 0.5868], device='cuda:0')\n",
"0.25389285638928416 -53.499766464233396 1.0 -56.9744987487793\n",
"tensor([0.0542, 0.3453, 0.6005], device='cuda:0')\n",
"0.2338979324698448 -53.49336658477783 1.0 -57.014556884765625\n",
"tensor([0.0645, 0.3461, 0.5894], device='cuda:0')\n",
"0.23552647292613982 -53.5185506439209 1.0 -57.15602111816406\n",
"tensor([0.0587, 0.3539, 0.5875], device='cuda:0')\n",
"0.21728055641055108 -53.5498291015625 1.0 -57.239437103271484\n",
"tensor([0.0558, 0.3449, 0.5994], device='cuda:0')\n",
"0.20451952904462814 -53.5641007232666 1.0 -57.16626739501953\n",
"tensor([0.0536, 0.3534, 0.5930], device='cuda:0')\n",
"0.1960418738424778 -53.57102745056152 1.0 -57.36680603027344\n",
"tensor([0.0486, 0.3715, 0.5798], device='cuda:0')\n",
"0.20397837460041046 -53.57062450408935 1.0 -57.1917724609375\n",
"tensor([0.0527, 0.3559, 0.5914], device='cuda:0')\n",
"0.1794803101569414 -53.62214382171631 1.0 -57.260433197021484\n",
"tensor([0.0576, 0.3441, 0.5982], device='cuda:0')\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-33-12bae130d821>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mit\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m100000\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mtheta\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogZ\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogPF\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogPB\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msample_forward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdocs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mlogR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlog_reward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtheta\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdocs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtopic_word\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-3-145ba1a263bc>\u001b[0m in \u001b[0;36msample_forward\u001b[0;34m(context, temperature, uniform_prob, max_steps)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mstep\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmax_steps\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mpb_logits\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpf_class_logits\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpf_beta_parameters\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlog_flow\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpolicy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtheta\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mset_mask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mremaining\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstep\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/data/anaconda/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1108\u001b[0m if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001b[1;32m 1109\u001b[0m or _global_forward_hooks or _global_forward_pre_hooks):\n\u001b[0;32m-> 1110\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mforward_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1111\u001b[0m \u001b[0;31m# Do not call functions when jit is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1112\u001b[0m \u001b[0mfull_backward_hooks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnon_full_backward_hooks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-2-858de4281a63>\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, theta, set_mask, remaining, context)\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mT\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtheta\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mset_mask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mremaining\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 25\u001b[0;31m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 26\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0mpb_logits\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_classes\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muniform_pb\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1e9\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mset_mask\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlog_softmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/data/anaconda/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1108\u001b[0m if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001b[1;32m 1109\u001b[0m or _global_forward_hooks or _global_forward_pre_hooks):\n\u001b[0;32m-> 1110\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mforward_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1111\u001b[0m \u001b[0;31m# Do not call functions when jit is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1112\u001b[0m \u001b[0mfull_backward_hooks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnon_full_backward_hooks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/data/anaconda/lib/python3.8/site-packages/torch/nn/modules/container.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 140\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mmodule\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 141\u001b[0;31m \u001b[0minput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 142\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 143\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/data/anaconda/lib/python3.8/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 1108\u001b[0m if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001b[1;32m 1109\u001b[0m or _global_forward_hooks or _global_forward_pre_hooks):\n\u001b[0;32m-> 1110\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mforward_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1111\u001b[0m \u001b[0;31m# Do not call functions when jit is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1112\u001b[0m \u001b[0mfull_backward_hooks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnon_full_backward_hooks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/data/anaconda/lib/python3.8/site-packages/torch/nn/modules/linear.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 101\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mTensor\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mTensor\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 103\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mF\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinear\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mweight\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbias\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 104\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 105\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mextra_repr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"threshold = 1\n",
"for it in range(100000):\n",
"\n",
" theta, logZ, logPF, logPB = sample_forward(docs)\n",
" logR = log_reward(theta,docs,topic_word)\n",
" \n",
" optimizer.zero_grad()\n",
" \n",
" loss = ((logZ + logPF - logR - logPB)**2).mean()\n",
" loss.backward()\n",
" \n",
" optimizer.step()\n",
" \n",
" losses.append(loss.item())\n",
" log_rewards.append(logR.mean().item())\n",
" \n",
" update = loss.item() < threshold\n",
" if update:\n",
" optimizer_gen.zero_grad()\n",
" (-log_reward(theta,docs,topic_word).mean() - word_prior.log_prob(topic_word.softmax(1)).sum() / bs).backward()\n",
" topic_word.grad.nan_to_num_()\n",
" optimizer_gen.step()\n",
" updates.append(1 if update else 0)\n",
" \n",
" if it%100==0: \n",
" print(np.array(losses[-100:]).mean(), \n",
" np.array(log_rewards[-100:]).mean(), \n",
" np.array(updates[-100:]).mean(), \n",
" logZ.mean().item())\n",
" print(theta.mean(0))"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAADSCAYAAACxZoAXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAbYElEQVR4nO3dfZQcdZ3v8fcnk0cghLCJK5AnkAQMLEckgvfqVa5kl4AI7uqywFXhEsUnNKyuigosCyh6PVeMR3xA5CK6gJFz9QZvNFfwgaNIyGSJgQRIYiRPgCQwCSEDyWTyvX9U9VDT09PTM1M90118Xuf0ma6qX1d9q/pb3/l1VXW1IgIzMyuWEcMdgJmZ5c/F3cysgFzczcwKyMXdzKyAXNzNzArIxd3MrIBc3OtA0q2Srhvq1w4nSS9IOmq44zDrjaTVkk4d7jiGiov7K5ykGZJC0sjBzCciDoqIDXnFZfmQ9ISkucMdx2ClOXr0YOYREcdFxG9yCqnhubjboAz2n8JgX2+D80rY/q/UHC1ccZf0GUlbJe2S9Lik09LxJ0v6g6Qdkp6S9A1JozOvC0kfkbQufe21kl4j6X5Jz0taVGov6VRJWyR9TtL2tHf036rEdJaklemy75d0QmbaiZL+I13mj4CxVeZzkaTfp7HvlPRYaf3S6YdLWizpOUnrJX0gM+1kSa3puvxF0lfTSfelf3ekh1b+U9r+YkmPSmqTtFTS9LJt9VFJ64B1mXFHp88nSLpN0jZJGyVdIWlE2TrcIOlZ4Orq76gNlKQfANOAu9P39tOZT2rzJW0CflXK57LXdvX4JY2QdLmkP0l6Nt0XDu1lmVX3jT5y42hJv01ze3u6PyCplKN/TNfjn9Lx1farJ9JasArYLWlk2TqNkfQ1SU+mj69JGlO2Dp+R9DTwv/J4P4ZcRBTmARwDbAYOT4dnAK9Jn58EvBEYmY5/FLgs89oA/g9wMHAcsAe4FzgKmACsAS5M254K7AO+CowB3grsBo5Jp98KXJc+PxF4BjgFaAEuBJ5IXzca2Aj8MzAKeDfQUXpthfW7KF1uqf0/ATuBQ9Pp9wHfJPkH8TpgG/C2dNofgPemzw8C3pjZRgGMzCznHGA98Np0e10B3F+2rX4JHAqMy4w7On1+W7otx6fzXwvML1uHj6XzHjfceVPkR5prczPDpff7NuBAYFyaz1t6ex2wAHgAmJLm7XeAO3pZXl/7RrXcuAP4PEmncyzw5rKcOzoz3Ot+lYl/JTA1k6PZdbomXadXAZOB+4Fry9bhy+k6NGWODnsAOSfy0ekbPhcY1Ufby4CflCXPmzLDK4DPZIb/J/C1sjf/wMz0RcCV6fNbebm4f6uUNJm2j6dJ/xbgSUCZafdTvbiXt38QeG+axJ3A+My064Fb0+f3Af8GTCqb5wx6Fvefl3a4dHgE0A5Mz2yrt5XNJ9Lt3wLsBWZnpn0Q+E1mHTYNd668Uh70XtyPyow7lerF/VHgtMy0w0g6ISMrLK/XfaOG3LgNuAmYUmG+5cW91/0qE//FVdbpT8CZmWmnA09k1mEvMHa437/BPAp1WCYi1pMU7auBZyTdKelwAEmzJP1M0tOSnge+CEwqm8VfMs9frDB8UGa4LSJ2Z4Y3AodXCGs68Mn0o+MOSTtICvHh6WNrpBmVmU81ldqX5vVcROwqm3ZE+nw+MAt4TNJySWdVWcZ0YGEm3ucAZeYFySekSiaRfKrIrkc2jmqvtaHTn/dgOvCTTD48StKR+Ote2ve2b/SVG58mybMHlVzZcnEfMfW2X5VUW8fDK8SRfe22iHipyusbXqGKO0BE3B4RbyZ584PkoxUk/+kfA2ZGxMHA50gSaaAmSjowMzyNpFddbjPwhYg4JPM4ICLuAJ4CjpCksvlUU6n9k+njUEnjy6ZtBYiIdRFxPsnH0C8Dd6XxV7ot6Gbgg2Uxj4uI+zNterud6HaSXt30zLiuOPp4reWvt22dHb8bOKA0IKmF5FBFyWbgjLJ8GBsR2fc0q7d9o2puRMTTEfGBiDicpEf/TfV+hUy1/aqvdSeNpzyO7P7b9DlaqOIu6RhJb0tPjLxE0tven04eDzwPvCDpWODDOSzy3ySNlvRfgLOAH1do813gQ5JOUeJASW9Pi/AfSD7CflzSKEn/AJzcxzJflWn/jyTHxZdExGaSQzrXSxqbnlyaD/wQQNJ7JE2OiP3AjnRe+0mOy+8nObdQ8m3gs5KOS187IV1WnyKik+Rj+BckjVdyIvYTpThsyP2F7u9tJWuBsWlejiI5xzImM/3bJO/ndABJkyWd08c8e+wbfeWGpH+UNCV9fRtJgS3tv+XrUW2/qsUdwBXpukwCrqJgOVqo4k6SkF8i6SE8TVIIP5tO+xfgAmAXSWL8aJDLepokAZ8E/h34UEQ8Vt4oIlqBDwDfSNuvJznuTETsBf4hHX6O5ATp/+5jucuAmSTr+AXg3RHxbDrtfJJjqk8CPwH+NSLuSafNA1ZLegFYCJwXES9GRHs6n9+nH2/fGBE/Iend35kewnoEOKPmLZOcLN0NbAB+B9wO3NKP11t+ricpYjsk/UulBhGxE/gIcDNJL3o3kL16ZiGwGPh/knaRnIg8pcoyq+0b1XLjDcCyNEcXAwvi5e9OXA18P12Pc6vtVzW6DmgFVgEPA/+RjisMdT98a7VQ8i23H0bElL7a5rzci4D3p4edzBrOcO0b1lPReu5mZoaLu5lZIfmwjJlZAbnnbmZWQC7uZmYFNGx3O5s0aVLMmDFjuBZvBbdixYrtETG575b5c25bPdWa28NW3GfMmEFra+twLd4KTlJft3GoG+e21VOtue3DMmZmBeTibmZWQC7uZmYF5OLe6FYtghuOh6sPSf6uWjTcEZnlw7ldV03524CvGKsWwd0fh44Xk+Gdm5NhgBPOHb64zAbLuV137rk3snuveTn5SzpeTMabNTPndt25uDeynVv6N96sWTi3687FvZFN6OWuqb2NN2sWzu26c3FvZKddBaPGdR83alwy3qyZObfrzsW9kZ1wLrzj6zBhKqDk7zu+7hNO1vyc23Xnq2Ua3QnnOuGtmJzbdeWeu5lZAbm4m5kVUE3FXdI8SY9LWi/p8grTp0n6taSHJK2SdGb+oZqZWa36LO6SWoAbgTOA2cD5kmaXNbsCWBQRJwLnAd/MO1CzenDHxYqqlp77ycD6iNgQEXuBO4FzytoEcHD6fALwZH4hmtWHOy5WZLUU9yOAzZnhLem4rKuB90jaAiwBPpZLdGb15Y6LFVZeJ1TPB26NiCnAmcAPJPWYt6RLJLVKat22bVtOizYbsNw6Ls5tazS1FPetwNTM8JR0XNZ8YBFARPwBGAtMKp9RRNwUEXMiYs7kycPy85Zm/VVTx8W5bY2mluK+HJgp6UhJo0mOOy4ua7MJOA1A0mtJiru7L9bocuu4mDWaPot7ROwDLgWWAo+SnFxaLekaSWenzT4JfEDSH4E7gIsiIuoVtFlO3HGxwqrp9gMRsYTkeGN23FWZ52uAN+Ubmll9RcQ+SaWOSwtwS6njArRGxGKSjst3Jf0zyclVd1ysKfjeMvaK5o6LFZVvP2BmVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgVUU3GXNE/S45LWS7q8lzbnSlojabWk2/MN08zM+qPP4i6pBbgROAOYDZwvaXZZm5nAZ4E3RcRxwGV1iNUsV+60WJGNrKHNycD6iNgAIOlO4BxgTabNB4AbI6INICKeyTtQszxlOi1/C2wBlktaHBFrMm2ynZY2Sa8anmjN+q+WwzJHAJszw1vScVmzgFmSfi/pAUnz8grQrE66Oi0RsRcodVqy3GmxppXXCdWRwEzgVOB84LuSDilvJOkSSa2SWrdt25bTos0GJNdOi3PbGk0txX0rMDUzPCUdl7UFWBwRHRHxZ2AtSbHvJiJuiog5ETFn8uTJA43ZbKjU1GkB57Y1nlqK+3JgpqQjJY0GzgMWl7X5KckOgKRJJD2eDTnGaZa33DotZo2oz+IeEfuAS4GlwKPAoohYLekaSWenzZYCz0paA/wa+FREPFuvoM1y4E6LFVotV8sQEUuAJWXjrso8D+AT6cOs4UXEPkmlTksLcEup0wK0RsTidNrfpZ2WTtxpsSZSU3E3KyJ3WqzIfPsBM7MCcnE3MysgF3czswJycTczKyAXdzOzAnJxNzMrIBd3M7MCcnE3MysgF3czswJycTczKyAXdzOzAnJxNzMrIBd3M7MCcnE3MysgF3czswJycTczKyAXdzOzAnJxNzMrIBd3M7MCcnE3MysgF3czswJycTczKyAXdzOzAnJxNzMroJqKu6R5kh6XtF7S5VXavUtSSJqTX4hm9ePctqLqs7hLagFuBM4AZgPnS5pdod14YAGwLO8gzerBuW1FVkvP/WRgfURsiIi9wJ3AORXaXQt8GXgpx/jM6sm5bYVVS3E/AticGd6Sjusi6fXA1Ij4vznGZlZvzm0rrEGfUJU0Avgq8Mka2l4iqVVS67Zt2wa7aLO6cm5bM6uluG8FpmaGp6TjSsYDxwO/kfQE8EZgcaUTTxFxU0TMiYg5kydPHnjUZvlwblth1VLclwMzJR0paTRwHrC4NDEidkbEpIiYEREzgAeAsyOitS4Rm+XHuW2F1Wdxj4h9wKXAUuBRYFFErJZ0jaSz6x2gWb04t63IRtbSKCKWAEvKxl3VS9tTBx+W2dBwbltR+RuqZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZmYF5OJuZlZALu5mZgXk4m5mVkAu7mZmBeTibmZWQC7uZk1uxcY23ve9ZazY2DbcoVgDcXE3a3IL71nLfeu2s/CetcMdijWQmn4g28wa14K5s7r9NQMXd7Omd9L0idw2/5ThDsMajA/LmJkVkIu7mVkBubibmRVQTcVd0jxJj0taL+nyCtM/IWmNpFWS7pU0Pf9QzfLlvLYi67O4S2oBbgTOAGYD50uaXdbsIWBORJwA3AX8j7wDNcuT89qKrpae+8nA+ojYEBF7gTuBc7INIuLXEdGeDj4ATMk3TLPcOa+t0Gop7kcAmzPDW9JxvZkP/HwwQZkNAee1FVqu17lLeg8wB3hrL9MvAS4BmDZtWp6LNqubvvI6bePctoZSS899KzA1MzwlHdeNpLnA54GzI2JPpRlFxE0RMSci5kyePHkg8ZrlJbe8Bue2NZ5aivtyYKakIyWNBs4DFmcbSDoR+A7JDvBM/mGa5a4p89o3CbNa9VncI2IfcCmwFHgUWBQRqyVdI+nstNlXgIOAH0taKWlxL7MzawjNmte+SZjVqqZj7hGxBFhSNu6qzPO5OcdlVnfNmNe+SZjVyjcOM2twKza2sfCetSyYO8s3CbOaubibNbAVG9t4//eX09beAeDCbjXzvWXMGti1d6+mrb2DFsG84w8b7nCsibi4mzUyCYDOgF888tQwB2PNxMXdrIFdedZsXjf1EGZOPpDnX9rnSyCtZoUr7r4O2IrkpOkTufKs2WzfvZeVm3f4EkirWVMX90qFvHQd8Pu/v9wF3gph4T1raWvvYOIBo3wJpNWsqYt7pS90LJg7i4kHjKKtvcO9HCuEBXNn8ZaZk7j5wjdw0vSJwx2ONYmmLu6lpM/2Zk6aPpGbL3xDt/E+VGPNpDxfS9e2u7BbfzR1cc9+oaPazuCvbFuzWLGxjYtueZD71m3nolse7NYhqdZJcQfGyjVtcc8mc1/Fu1IP36zRrNjYxntvfoBde/YBsGvPvm45XS3P3YGxck37DdVrf7aGlZt38PxL+7jyrOTX0Xor3v7KtjWDhfespb1jf9fw+DEjux1afP7FDl439ZCKee57zli5pivuty/bxFeWPsaBY9LQI1y8rRAWzJ1F6xPP0d6xHwGvnjC2a9rCe9aycstO3jJzUsVj794HrFzTHZb5ytLHaGvvYGf7Xt4ycxJXvuO44Q7JbNAuu/Mh3vWt+2kZIVoEAax75oWuwyw+tGj91XTF/VOnH8v4MSN59cFju+6SZ9bsfrrySQB27emkM2D8mJZuh2BOmj6RBXNnsfCetdy+bBPv+96yrr8+iWqVNN1hmQtOmcai5ZtYuWUn1969mp9e+ubhDslsUFZsbOv6bsb4MS285lXjufKs2T06LqWTpg9v3Ulbe0fXX/DdIq2npinuty/bxBU/fZj9AQeMSj9wpDdVMmtmpW+gArxm8kH89KNvqtiu1Iufd/xh/OKRp7r++lCNVdI0xb1U2AHaO/bzuqmHdF0lY9bMFsydxUObdrBrzz7W/uUF3nnj77t67r39UMcFp0zr9tesXFMcc1+xsa2rsHeJZET2mKO/yGHN5n3fW8a7vnU/nfv3MwJo7+jsdoMwX79uA9UUxf2879zfY9zuvZ09Et87gjWb+9ZtB5JPo6Ur3LPXty+YO4uZrzqIhza1cfuyTcMUpTWjhi/uKza2kfleR5cDR7f0uDzMl4tZM6lUrKdOHMetF58MJL16gO0v7GHXnk6+svSxivPxJ1arpOGPuX/4h609xo1qEbvTr2hnrxLwFzmsWdy+bBOf+8nDPcbvaN8L0O13Uz91+rF8ZeljfOr0YyvOq/SJFXzVjL2s4Yv7M7v29hjX0Rms27aba3+2hoPHjvT17tZ0rl+ypuL4XXs6ee/ND9Desb/r/u0nTZ9Y9cSpbz1glTR0cb/szod6jBMwbtQI2jv28/CWHXQGPLSpjVsv9i1RrXmMHd3Crj2dFae1d+zngFEtTD/0gJrm5U+sVknDHnP/0pJHu761VzKqRQR03VypM72CZteeTv/ykjWV3S/tqzq9c/9+Vm7Z6YsDbMBqKu6S5kl6XNJ6SZdXmD5G0o/S6cskzRhsYN++b0OPcR2d3a+HbFFyAqpF+JeXbECGLLdXLYIbjoerD4Ebjuc9Bz7YV2BMPGAU844/bECLsyZUliOsWjSo2fVZ3CW1ADcCZwCzgfMllX97aD7QFhFHAzcAXx5wRKsWsfOLx7BhzAX8bvTHOXvE76o2HztyBJ0BI0fIO8IrRU47wZDl9qpFcPfHYedmIGDnZi578RvVczuCtvYOrvvZat554+/79anUV880oQo5wt0fH1SBr6XnfjKwPiI2RMRe4E7gnLI25wDfT5/fBZwmDeDeAOkKTtj7NCMEU0Zs50ujbu51J+gM2LB9N+PHtLBvf/CLR57q0caJXjD57gRDk9v3XgMdL3YbdYD28umRvce8J/2U2t6xn5Wbd/D+7y/nS0se5W/+9Rf87Vd/2yOf+/PjNdaAKuQIHS8m4weoluJ+BLA5M7wlHVexTUTsA3YCf9XvaAawE5SO1LxuyoSKVwuUEv3au1e7yBdBvjtBbrkt6RJJrZJat23b1n3izi0VF364nu0zwBEkX2pqa+/g5t/9mV17OrvdCrgkW9D9fY8m1EuO9Dq+BkN6tYykS4BLAKZNq3BpV407QcsIEGLf/mDkCLFrTycHjxtV8WqZUoI//9I+XwtcBHXYCfIQETcBNwHMmTOn+8mhCVPSTxrdPRk9+z8jgLGjWvi74/6a367dxqdOP5ZjXj2ehfesZfZhB/Pvyzby6gnjehTu7OWQvnqmCfWSI0yYMuBZ1lLctwJTM8NT0nGV2myRNBKYAPTollTdAaDXFXxu5GS+eObfcN3PVgPiirNmdyV8X3fGKyV69gZM1sTy3Qlyy+2qTrsqOXSU/cQxahxT3nE9T5zw9ppmUSrWl5/52orTXdCbXC85wmlXDXiWtRT35cBMSUeSJPp5wAVlbRYDFwJ/AN4N/CoiehbvvvSygpPe8QUuOGFajy9ylN8hrxonf0HkuxMMTW6fcG7y995rkk8YE6Yk8ZbGm9UhR/os7hGxT9KlwFKgBbglIlZLugZojYjFwPeAH0haDzxHspP0n3cC60uOOTLkue08tmpyzhENpIOdhzlz5kRra8/7xpjlQdKKiJgzHMt2bls91ZrbDfsNVTMzGzgXdzOzAnJxNzMroGE75i5pG7CxSpNJwPYhCqcax9FTo8RSLY7pETF5KIMp6SO3m2HbDbVGiaVZ4qgpt4etuPdFUutwnRBzHNU1SiyNEkd/NErMjRIHNE4sRYvDh2XMzArIxd3MrIAaubjfNNwBpBxHT40SS6PE0R+NEnOjxAGNE0uh4mjYY+5mZjZwjdxzNzOzARry4j6YnzWT9Nl0/OOSTq9zHJ+QtEbSKkn3SpqemdYpaWX6WDyYOGqM5SJJ2zLLfH9m2oWS1qWPC+scxw2ZGNZK2pGZlts2kXSLpGckPdLLdEn6ehrnKkmvz0zLbXv0l3O733EMSV7XGEvdc3vI8zoihuxBcnOmPwFHAaOBPwKzy9p8BPh2+vw84Efp89lp+zHAkel8WuoYx38FDkiff7gURzr8whBvk4uAb1R47aHAhvTvxPT5xHrFUdb+YyQ32qrHNnkL8HrgkV6mnwn8HBDwRmBZ3tvDuV2MvG6k3B7qvB7qnvtgftbsHODOiNgTEX8G1qfzq0scEfHriGhPBx8gudd3PdSyTXpzOvDLiHguItqAXwLzhiiO84E7BrisqiLiPpI7MPbmHOC2SDwAHCLpMPLdHv3l3O5nHFXk/T42RG4PdV4PdXEfzM+a1fLaPOPImk/yH7VkrJKfVHtA0jsHGEN/Y3lX+lHtLkmlH5gYlm2Sfow/EvhVZnSe26QvvcWa5/bIK6aKbV4Bud0oed2v+Q1zbuea10P6M3vNSNJ7gDnAWzOjp0fEVklHAb+S9HBE/KmOYdwN3BEReyR9kKT397Y6Lq8v5wF3RURnZtxQbxMbpAbI7UbLayhQbg91z70/P2uGuv+sWS2vzTMOJM0FPg+cHRF7SuMjYmv6dwPwG+DEAcZRUywR8Wxm+TcDJ/VnPfKKI+M8yj625rxN+tJbrHluj7xiqtjmFZDbjZLX/Z3fcOZ2vnmdx4mCfpxQGElyMuBIXj6xcVxZm4/S/aTTovT5cXQ/6bSBgZ90qiWOE0lOwswsGz8RGJM+nwSso8rJmZxiOSzz/O+BB+LlEy1/TmOamD4/tF5xpO2OBZ4g/Y5EPbZJOp8Z9H7i6e10P/H0YN7bw7k9uPexUfK60XJ7KPO67klfYQXOBNamyfX5dNw1JD0IgLHAj0lOKj0IHJV57efT1z0OnFHnOO4B/gKsTB+L0/H/GXg4TZCHgflDsE2uB1any/w1cGzmtRen22o98N/rGUc6fDXwpbLX5bpNSHpOTwEdJMcX5wMfAj6UThdwYxrnw8CcemwP5/ag38eGyOtGye2hzmt/Q9XMrID8DVUzswJycTczKyAXdzOzAnJxNzMrIBd3M7MCcnE3MysgF3czswJycTczK6D/D+U83pDEeRr/AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"with T.no_grad():\n",
" for _ in range(10):\n",
"\n",
" i = np.random.randint(bs)\n",
" doc_ = docs[i:i+1].repeat(bs,1)\n",
"\n",
" pt.figure(figsize=(6,3))\n",
" pt.subplot(121)\n",
" pt.title('sampled posterior')\n",
"\n",
" theta, logZ, logPF, logPB = sample_forward(doc_)\n",
" logR = log_reward(theta,doc_,topic_word)\n",
"\n",
" pt.scatter((theta[:,0]+theta[:,1]/2).cpu(), (theta[:,1]*np.sqrt(3)/2).cpu(),s=2)\n",
" pt.scatter([0,0.5,1],[0,np.sqrt(3)/2,0])\n",
"\n",
" pt.subplot(122)\n",
" pt.title('true posterior')\n",
"\n",
" # importance sampling\n",
" rands = T.distributions.Dirichlet(T.full((n_topics,), 1.).to(device)).sample((bs*100,))\n",
" logR = log_reward(rands,doc_.repeat(100,1),topic_word)\n",
" rands = rands[T.distributions.Categorical(logits=logR).sample((bs,))]\n",
" pt.scatter((rands[:,0]+rands[:,1]/2).cpu(), (rands[:,1]*np.sqrt(3)/2).cpu(),s=2)\n",
"\n",
" pt.scatter([0,0.5,1],[0,np.sqrt(3)/2,0])\n",
" pt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x216 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"61 43 33 29 96 40 2 6 99 77\n",
"1\n",
"33 2 29 6 99 96 43 47 88 77\n",
"2\n",
"1 58 57 65 5 77 86 50 32 52\n",
"\n",
"0\n",
"2 33 43 6 47 99 29 61 96 88\n",
"1\n",
"65 5 50 52 19 43 57 70 61 66\n",
"2\n",
"1 58 77 86 57 32 56 35 20 78\n",
"\n"
]
}
],
"source": [
"with T.no_grad():\n",
" pt.figure(figsize=(15,3), facecolor='white')\n",
"\n",
" pt.subplot(211)\n",
" pt.title('Inferred with GFN')\n",
" pt.imshow(topic_word.log_softmax(1).cpu().numpy(),vmax=-1,vmin=-5,cmap='Blues')\n",
" pt.xticks([]);pt.yticks([])\n",
" pt.xlabel('vocab');pt.ylabel('topic')\n",
"\n",
" pt.subplot(212)\n",
" pt.title('Ground truth')\n",
" pt.imshow(gt_topic_word.log_softmax(1).cpu().numpy(),vmax=-1,vmin=-5,cmap='Blues')\n",
" pt.xticks([]);pt.yticks([])\n",
" pt.xlabel('vocab');pt.ylabel('topic')\n",
" pt.show()\n",
" \n",
" for mat in [ topic_word.softmax(1), gt_topic_word.softmax(1) ]:\n",
" for i in range(n_topics):\n",
" print(i)\n",
" print(*mat[i].topk(10).indices.cpu().numpy())\n",
"# for v,n in zip(*mat[i].topk(10)):\n",
"# print(n.item(),v.item())\n",
"\n",
" print()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment