diff --git a/docs/examples/snpe.ipynb b/docs/examples/snpe.ipynb index 87007cfc..a7d492c0 100644 --- a/docs/examples/snpe.ipynb +++ b/docs/examples/snpe.ipynb @@ -119,9 +119,9 @@ "name": "stderr", "output_type": "stream", "text": [ - " 68%|██████▊ | 135/200 [00:06<00:03, 19.49it/s, train=-0.024274915, val=0.1298608 (Max patience reached)]\n", - " 26%|██▌ | 51/200 [00:14<00:41, 3.55it/s, train=-2.2658324, val=-2.151726 (Max patience reached)]\n", - " 12%|█▏ | 24/200 [00:10<01:18, 2.23it/s, train=-1.8787315, val=-1.9986621 (Max patience reached)]\n" + "100%|██████████| 100/100 [00:07<00:00, 13.26it/s, train=0.5452597, val=0.57664335]\n", + " 61%|██████ | 61/100 [00:29<00:18, 2.09it/s, train=0.5877341, val=0.61302876 (Max patience reached)]\n", + " 82%|████████▏ | 82/100 [00:47<00:10, 1.73it/s, train=0.538114, val=0.5163606 (Max patience reached)]\n" ] } ], @@ -159,7 +159,7 @@ " x=jnp.concatenate(data[\"theta\"]), # Note x is package convention for target!\n", " condition=jnp.concatenate(data[\"simulations\"]),\n", " learning_rate=1e-4,\n", - " max_epochs=200,\n", + " max_patience=20,\n", " )\n", " losses.append(losses_r)" ] @@ -192,12 +192,12 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoEAAAC7CAYAAAAaLURaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACncElEQVR4nOydd3wUZd7Av7Mlu8sGUqQlgDQhgFSRjogaREWKpyeHcMIreooFRbGjgFjw4EQRxDtFwAMRTwWiqDRFBGmigEAECR2CUpJAwibZ8rx/TJ7J7GQ3BUISyHw/Hw079Zl5Zp75Pb+qCCEEJiYmJiYmJiYmlQpLeTfAxMTExMTExMSk7DGFQBMTExMTExOTSogpBJqYmJiYmJiYVEJMIdDExMTExMTEpBJiCoEmJiYmJiYmJpUQUwg0MTExMTExMamEmEKgiYmJiYmJiUklxBQCTUxMTExMTEwqIaYQaGJiYmJiYmJSCTGFQBMTExMTE5NSZ9y4cbRt2/aCHX///v0oisKWLVsu2DkudUwh0MTExMTEpJQZNmwYiqIwceLEoOWLFi1CUZQSHatBgwa8+eabpdg6ExMVUwg0MTExMTG5ADidTl5//XXS0tLKuykmJiExhUATExMTE5MLQGJiIrVr1+a1114rdLvPPvuMK6+8EofDQYMGDfjXv/6lrevZsycHDhxg1KhRKIoSpEVcs2YN11xzDS6Xi3r16jFy5EiysrJK1MZ33nmHJk2a4HQ6qVWrFnfccYe2LhAI8M9//pMrrrgCh8PB5ZdfziuvvKKtf/rpp2natClVqlShUaNGvPDCC3i93kLP9/7779O8eXOcTifNmjXjnXfeKXT7otoAsHfvXq677jqqVKlCmzZtWLdunbbu5MmTDBo0iDp16lClShVatWrF/Pnzg/bv2bMnI0eO5KmnniI2NpbatWszbty4oG1+++03unfvjtPppEWLFqxYsQJFUVi0aJG2zaFDh7jzzjuJjo4mNjaW/v37s3//fm39qlWr6NixI263m+joaLp168aBAwcKvf4LjjAxMTExMTEpVYYOHSr69+8vPv/8c+F0OsWhQ4eEEEIsXLhQ6D+9P/30k7BYLOKll14Su3btErNmzRIul0vMmjVLCCHEyZMnRd26dcVLL70kUlNTRWpqqhBCiD179gi32y2mTJkidu/eLdauXSvatWsnhg0bph177Nixon79+mHbuGnTJmG1WsVHH30k9u/fL37++Wfx1ltvaeufeuopERMTI2bPni327NkjfvjhB/Hee+9p6ydMmCDWrl0r9u3bJ5KSkkStWrXE66+/HnT+Nm3aaL/nzp0r4uLixGeffSb27t0rPvvsMxEbGytmz54dto2FtWHfvn0CEM2aNRNffvml2LVrl7jjjjtE/fr1hdfrFUIIcfjwYTFp0iTxyy+/iJSUFDF16lRhtVrFhg0btHNce+21olq1amLcuHFi9+7dYs6cOUJRFLFs2TIhhBA+n08kJCSIXr16iS1btogffvhBdOzYUQBi4cKFQgghcnNzRfPmzcU999wjtm3bJnbu3CnuuusukZCQIHJycoTX6xVRUVFi9OjRYs+ePWLnzp1i9uzZ4sCBA2GvvSwwhUATExMTE5NSRgqBQgjRuXNncc899wghCgqBd911l+jVq1fQvk8++aRo0aKF9rt+/fpiypQpQdsMHz5c/OMf/wha9sMPPwiLxSI8Ho8QQoi3335bXH/99WHb+Nlnn4lq1aqJ06dPF1h3+vRp4XA4goS+opg0aZJo37699tsoBDZu3Fh89NFHQftMmDBBdOnSJeTximqDFALff/99bdmOHTsEIJKTk8O2s0+fPuKJJ57Qfl977bWie/fuQdt06NBBPP3000IIIb7++mths9k0AVwIIZYvXx4kBP73v/8VCQkJIhAIaNvk5OQIl8slli5dKk6ePCkAsWrVqrDtKg9Mc7CJiYmJickF5PXXX2fOnDkkJycXWJecnEy3bt2ClnXr1o3ff/8dv98f9phbt25l9uzZREZGav/17t2bQCDAvn37AHj44YdZuXJl2GP06tWL+vXr06hRI/7+978zb948zp49q7UrJyeHG264Iez+CxYsoFu3btSuXZvIyEjGjBnDwYMHQ26blZVFSkoKw4cPD2rzyy+/TEpKSsh9itMGgNatW2v/jouLA+DPP/8EwO/3M2HCBFq1akVsbCyRkZEsXbq0QDv1x5DHkcfYtWsX9erVo3bt2tr6jh07Bm2/detW9uzZQ9WqVbVri42NJTs7m5SUFGJjYxk2bBi9e/emb9++vPXWW6SmphZ6XWWBKQSamJiYmJhcQHr06EHv3r159tlnS+2YmZmZ3H///WzZskX7b+vWrfz+++80bty4WMeoWrUqP//8M/PnzycuLo4XX3yRNm3akJ6ejsvlKnTfdevWMXjwYG655Ra+/PJLfvnlF55//nlyc3PDthfgvffeC2rz9u3bWb9+fch9imqDxG63a/+WPpOBQACASZMm8dZbb/H000/z3XffsWXLFnr37l2gnfpjyOPIYxSHzMxM2rdvH3RtW7ZsYffu3dx1110AzJo1i3Xr1tG1a1cWLFhA06ZNw157WWEr17ObmJiYmJhUAiZOnEjbtm1JSEgIWt68eXPWrl0btGzt2rU0bdoUq9UKQERERAGt4FVXXcXOnTu54oorzqtdNpuNxMREEhMTGTt2LNHR0Xz77bfccsstuFwuVq5cyb333ltgvx9//JH69evz/PPPa8sKC3KoVasW8fHx7N27l8GDBxerbU2aNCm0DcVh7dq19O/fnyFDhgCqcLh7925atGhR7GMkJCRw6NAh/vjjD2rVqgXApk2bgra56qqrWLBgATVr1qRatWphj9WuXTvatWvHs88+S5cuXfjoo4/o3LnzOVxZ6WBqAk1MTExMTC4wrVq1YvDgwUydOjVo+RNPPMHKlSuZMGECu3fvZs6cOUybNo3Ro0dr2zRo0IDVq1dz5MgRTpw4AaiRuT/++CMPP/wwW7Zs4ffff2fx4sU8/PDD2n7Tpk0r1JT65ZdfMnXqVLZs2cKBAwf48MMPCQQCJCQk4HQ6efrpp3nqqaf48MMPSUlJYf369cycORNQBbSDBw/y8ccfk5KSwtSpU1m4cGGh92D8+PG89tprTJ06ld27d/Prr78ya9Ys3njjjZDbF9WG4tCkSROWL1/Ojz/+SHJyMvfffz9//PFHsfcH1WzeuHFjhg4dyrZt21i7di1jxowB8jWPgwcPpnr16vTv358ffviBffv2sWrVKkaOHMnhw4fZt28fzz77LOvWrePAgQMsW7aM33//nebNm5eoLaVOeTslmpiYmJiYXGroA0Mk+/btExEREcL46f30009FixYthN1uF5dffrmYNGlS0Pp169aJ1q1bC4fDEbTvxo0bRa9evURkZKRwu92idevW4pVXXtHWFxUd/MMPP4hrr71WxMTECJfLJVq3bi0WLFigrff7/eLll18W9evX19r26quvauuffPJJcdlll4nIyEgxcOBAMWXKFBEVFRV0fn1giBBCzJs3T7Rt21ZERESImJgY0aNHD/H555+HbWNhbZCBIb/88ou2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SHZ2NuvXr2f27NmsWbOG7du343Q6S7uNZU5mZibXXXcdGRkZPPfcc9jtdqZMmcK1117Lli1buOyyywrd3+v18tZbbzFq1CisVmuptq1+/fp4PB7sdnupHrd27dr079+fyZMn069fv1I9djgu9edo3bp1TJ06lRYtWtC8eXO2bNlS3k0qEy71fv3HP/5BfHw8Q4YM4fLLL+fXX39l2rRpfPXVV/z888+4XK7ybuIF4VLv119//ZWYmBgeffRRqlevzrFjx/jggw/o2LEj69ato02bNuXdRBOT0keUgFmzZglAbNq0KWj5008/LQCxYMGCkhyuzBk7dqwoziW//vrrAhAbN27UliUnJwur1SqeffbZIvf//PPPBSD27NlzXu3V4/V6RU5OTqkdT5KZman9+9NPPxWKooiUlJRSP4+eyvIcnTx5Upw+fVoIIcSkSZMEIPbt23eBW1d+VJZ+/e677wosmzNnjgDEe++9dwFaVr5Uln4NxbFjx4TNZhP3339/KbfKxKRiUCo+gddccw0AKSkpQcu//fZbrrnmGtxuN9HR0fTv35/k5OSgbYYNG0aDBg0KHDOUH4eiKDz88MMsWrSIli1b4nA4uPLKK/nmm28K7L9mzRo6dOiA0+mkcePG/Pvf/y729Xz66ad06NCBDh06aMuaNWvGDTfcwCeffFLk/osWLaJBgwY0btw4aPmwYcOIjIxk79699O7dG7fbTXx8PC+99BJCCG076fc3efJk3nzzTRo3bozD4WDnzp1hfQKLc6/lPd25cyd33XUXMTExdO/eXVufmJgIwOLFi4t9r0qTS+05io2NpWrVqsXe/lLlUuvXnj17Flh22223ARRo/6XMpdavoahZsyZVqlS5ZE39JibnZA42Iv2cYmJitGUrVqzg5ptvplGjRowbNw6Px8Pbb79Nt27d+Pnnn0MOAMVhzZo1fP755zz44INUrVqVqVOncvvtt3Pw4EHNTPvrr79y4403UqNGDcaNG4fP52Ps2LHUqlWryOMHAgG2bdvGPffcU2Bdx44dWbZsGWfOnCn04/7jjz9y1VVXhVzn9/u56aab6Ny5M//85z/55ptvGDt2LD6fj5deeilo21mzZpGdnc0//vEPHA4HsbGxBAKBAscs6b3+61//SpMmTXj11VeDhM+oqCgaN27M2rVrGTVqVGG36YJwKT1HJvlUhn49duwYANWrVz/nY1xsXKr9mp6ejtfr5dixY7z55pucPn2aG2644ZzabWJS4SmJ2lCaBVasWCGOHz8uDh06JD799FNRo0YN4XA4xKFDh7Rt27ZtK2rWrClOnjypLdu6dauwWCzi7rvv1pYNHTpU1K9fv8C5QqnwARERERFkZt26dasAxNtvv60tGzBggHA6neLAgQPasp07dwqr1VqkWeD48eMCEC+99FKBddOnTxeA+O2338Lu7/V6haIo4oknniiwbujQoQIQjzzyiLYsEAiIPn36iIiICHH8+HEhhBD79u0TgKhWrZr4888/g44h182aNUtbVtx7Le/poEGDwrb/xhtvFM2bNw+7vjSoDM+RkcpkDq5M/SoZPny4sFqtYvfu3ee0f0WmsvVrQkKCAAQgIiMjxZgxY4Tf7y/2/iYmFxPnZA5OTEykRo0a1KtXjzvuuAO3201SUhJ169YFIDU1lS1btjBs2DBiY2O1/Vq3bk2vXr346quvzuW02rn1ZtbWrVtTrVo1LXLX7/ezdOlSBgwYwOWXX65t17x5c3r37l3k8T0eDwAOh6PAOun8LLcJxalTpxBCBM2OjTz88MPav6WpIzc3lxUrVgRtd/vtt1OjRo1C23su9/qBBx4Ie7yYmBhOnDhR6DlLi0v5OarMVLZ+/eijj5g5cyZPPPEETZo0Oee2V3QqS7/OmjWLb775hnfeeYfmzZvj8Xjw+/3n3HYTk4rMOQmB06dPZ/ny5Xz66afccsstnDhxIkhoOnDgAAAJCQkF9m3evDknTpwgKyvrnBqsf8ElMTExpKWlAXD8+HE8Hk/IwThUe4zIyL6cnJwC67Kzs4O2KQyhM7PqsVgsNGrUKGhZ06ZNAQqkD2nYsGGR5zmXe13YcYUQZZZT61J+jiozlalff/jhB4YPH07v3r155ZVXSt7gi4jK0q9dunShd+/ejBgxgqVLlzJ37lyeffbZc2q3iUlF55x8Ajt27MjVV18NwIABA+jevTt33XUXu3btIjIyskTHCidwhJt5hUu5Ek7oKimxsbE4HA5SU1MLrJPL4uPjC91fURRtcDofLlSqicKOm5aWVmZ+TZfyc1SZqSz9unXrVvr160fLli359NNPsdlKxcW6wlJZ+lVPTEwM119/PfPmzWPy5MkX9FwmJuXBeUcHW61WXnvtNY4ePcq0adMANZcdqMlyjfz2229Ur14dt9sNqC9ZqMgrOassKTVq1MDlcvH7778XWBeqPUYsFgutWrXip59+KrBuw4YNNGrUqNCgEJvNRuPGjdm3b1/I9YFAoEDS6d27dwOck9N0Se51cdi3bx/NmzcvcTvOl0vtOTJRuVT7NSUlhZtuuomaNWvy1VdflVgIuti5VPs1FB6Ph4yMjPM6holJRaVUUsT07NmTjh078uabb5KdnU1cXBxt27Zlzpw5QS/69u3bWbZsGbfccou2rHHjxmRkZLBt2zZtWWpqKgsXLjyntlitVnr37s2iRYs4ePCgtjw5OZmlS5cW6xh33HEHmzZtChIEd+3axbfffstf//rXIvfv0qVLSCFSIgdNUGey06ZNw263n1MEWknudVFkZGSQkpJC165dS9yO0uBSe45MVC61fj127Bg33ngjFouFpUuXFum3e6lyqfXrn3/+WWDZ/v37WblypaYBNTG55ChJFEm4pKFCCPG///1PAGLGjBlCCCGWL18ubDabaNasmZg0aZJ46aWXRI0aNURMTIzYu3evtt+JEyeE2+0WjRo1Em+++aZ49dVXRb169cRVV10VMkrsoYceKnDu+vXri6FDh2q/t27dKpxOp7j88svFxIkTxcsvvyxq1aolWrduXawosdOnT4vGjRuLmjVrin/+859iypQpol69eiI+Pr5AtG4oPv30UwGIXbt2BS0fOnSocDqdokmTJuLuu+8W06dPF7feeqsAxHPPPadtJyOAJ02aVODYoaKDi3uvZeSdjEIO1+7STHIdisryHKWnp4sJEyaICRMmiJtuukkA4oknnhATJkwIimq8VKgs/dqmTRsBiKeeekr897//Dfpv2bJlxb1dFw2VpV9r1qwpBg0aJF5//XXxn//8Rzz55JMiNjZWOJ1OsXbt2uLeLhOTi4pSEwL9fr9o3LixaNy4sfD5fEIIIVasWCG6desmXC6XqFatmujbt6/YuXNngX2XLVsmWrZsKSIiIkRCQoKYO3du2FQBxRkMhBDi+++/F+3btxcRERGiUaNG4t133y1R5vhDhw6JO+64Q1SrVk1ERkaKW2+9Vfz+++/F2jcnJ0dUr15dTJgwIWj50KFDhdvtFikpKeLGG28UVapUEbVq1RJjx44NSkFQUiFQiOLd66KEwIEDB4ru3bsX6xrPh8ryHMm+CvVfqPQYFzuVpV/D9Skgrr32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", + "image/png": "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MHbsWACGDh1KaWkpH3zwgWmfadOmceWVV3Leeefx/PPP89133/HGG28Yn4dCIZ566ikuuugievfuzfPPP8+///1vPvnkE2OfyspKXnjhBXr16kWPHj1YuXIln3/+OX//+9/p3bs3F154IS+88AIffPAB69atA+DWW29lwIABjB07lnHjxtGnTx/uuOOOpN+nZ8+e3HfffZxzzjnce++9pKen07x5c26++WbOOecc/vd//5fvv/+ezZs3A3p93hkzZnDBBRfQvn17xowZw89+9jODBGZmZuL3+/H5fLRs2ZKWLVuSlpYWd92nn36aNm3a8NRTT3HuuecycuRIZsyYwR/+8Aei0aixX48ePZg2bRrnnHMON954IxdccAErV66sSZclRJ2RQCvRkjFuleGoratXRSpyMZOHdDZcx18UlRIRevycW4NhPfJMpKt3uxw0MAiotPxBFdFbtHY39y/ZYiReWAmqGs/Xu10O097cYhDOtrlN2F8a4JNdxab2y+84Z/l2U8azJICR2EIqIqAipD8AWX6vYfWUiS8q1DjCiYs30PHeAsorw6ZjGyIaIgGq6zY52dwOHNQ/GuJYVBNMff1z3vviO747HOS9L75j6uufn9Drbd++nU8++YTRo0cD4PF4GDVqFAsWLDDtd9FFFxl/5+bm0rlzZ7Zt22Zs83g89OnTx/j/3HPPJTs727RPu3btaNGihfH/tm3baNOmjakudteuXeOOe/bZZ9m8eTOfffYZCxcurFY3r0ePHsbfbreb0047jfPOO8/YdsYZZwAY5dgA5s2bR+/evWnRogWZmZn85S9/Yc+ePUmvY8W2bdu46KKLTO3r378/ZWVlfPvtt7btA70cnNqW40GdRSdKIiMxrEceyzYVkeZxGUkS1n0k7ORjerfLoTwYNuL/1GM/2VVMweYiXC6NUETw4Y4DpvOt330IAeRm+GwzO6e9uYWm6V5U47Z0VasEVV6z/6z3Dctb03QvmwtLAVi6qYj1uw9RHgybXLYlgZBxPYD7l2xBUJXVvH73IXq3y2H97kOm600e0jmuDWq7JJGMRkS9JieoFtREJNQaClCfbantNlktyImub/dMOTCjJv3nwMGxoK7GohOFDXsOEYm5YiNCsHFPvBJFbWLBggWEw2Hy8vKMbUIIfD4fTz31VK1eKyMj45iO27RpE+Xl5bhcLvbt21dt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", "text/plain": [ "
" ] @@ -231,7 +231,6 @@ " handle.set_sizes([6.0])\n", "\n", "plt.tight_layout()\n", - "plt.text(8, 6.5, \"Note: scale changes \\n between plots\")\n", "plt.show()" ] }, @@ -259,7 +258,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.12.2" }, "orig_nbformat": 4 }, diff --git a/flowjax/experimental/numpyro.py b/flowjax/experimental/numpyro.py index 465cf400..d271c2a0 100644 --- a/flowjax/experimental/numpyro.py +++ b/flowjax/experimental/numpyro.py @@ -25,11 +25,59 @@ raise from jaxtyping import PyTree +from numpyro.distributions import TransformedDistribution from numpyro.distributions.constraints import ( _IndependentConstraint, _Real, ) from numpyro.distributions.transforms import IndependentTransform, biject_to +from numpyro.distributions.util import sum_rightmost + +from flowjax.bijections import Invert + + +class _BetterTransformedDistribution(TransformedDistribution): + # In numpyro, the log_prob method seperately computes the inverse and the log + # jacobian of the forward transformation. This becomes inefficient (or causes + # errors) when the inverse computation and the forward log det share computations. + # This class avoids this for flowjax bijections. + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def log_prob(self, value, intermediates=None): + event_dim = len(self.event_shape) + log_prob = 0.0 + y = value + + for i, transform in enumerate(reversed(self.transforms)): + + if isinstance(transform, _BijectionToNumpyro) and intermediates is None: + # Compute inv and log det in one + inv_transform = _BijectionToNumpyro( + Invert(transform.bijection), + transform.condition, + domain=transform.inv.domain, + codomain=transform.inv.codomain, + ) + x, t_log_det = inv_transform.call_with_intermediates(y) + t_log_det = -t_log_det + else: + if intermediates is None: + x = transform.inv(y) + t_inter = None + else: + x = intermediates[-i - 1][0] + t_inter = intermediates[-i - 1][1] + t_log_det = transform.log_abs_det_jacobian(x, y, t_inter) + batch_ndim = event_dim - transform.codomain.event_dim + log_prob = log_prob - sum_rightmost(t_log_det, batch_ndim) + event_dim = transform.domain.event_dim + batch_ndim + y = x + + return log_prob + sum_rightmost( + self.base_dist.log_prob(y), event_dim - len(self.base_dist.event_shape) + ) class _RealNdim(_IndependentConstraint): @@ -158,7 +206,7 @@ def _transformed_to_numpyro(dist, condition=None): base_dist = _DistributionToNumpyro(dist.base_dist).expand(batch_shape) transform = _BijectionToNumpyro(dist.bijection, condition) - return numpyro.distributions.TransformedDistribution(base_dist, transform) + return _BetterTransformedDistribution(base_dist, transform) def _get_batch_shape(condition, cond_shape): diff --git a/flowjax/train/losses.py b/flowjax/train/losses.py index 02ae9453..e5e7690d 100644 --- a/flowjax/train/losses.py +++ b/flowjax/train/losses.py @@ -72,28 +72,27 @@ def __call__( condition: Array | None = None, ) -> Float[Array, ""]: """Compute the loss.""" - dist = unwrap(eqx.combine(params, static)) - contrastive = self._get_contrastive(x) - joint_log_odds = dist.log_prob(x, condition) - self.prior.log_prob(x) - contrastive_log_odds = dist.log_prob( - contrastive, - condition, - ) - self.prior.log_prob(contrastive) - contrastive_log_odds = jnp.clip( - contrastive_log_odds, -5 - ) # TODO Clip for stability - this maybe should reconsidered - return -(joint_log_odds - logsumexp(contrastive_log_odds, axis=0)).mean() - - def _get_contrastive(self, theta): - if theta.shape[0] <= self.n_contrastive: + if x.shape[0] <= self.n_contrastive: raise ValueError( f"Number of contrastive samples {self.n_contrastive} must be less than " - f"the size of theta {theta.shape}.", + f"the size of x {x.shape}.", ) - # Rolling window over theta batch to create contrastive samples. - idx = jnp.arange(len(theta))[:, None] + jnp.arange(self.n_contrastive)[None, :] - contrastive = jnp.roll(theta[idx], -1, axis=0) # Ensure mismatch with condition - return jnp.swapaxes(contrastive, 0, 1) # (contrastive, batch_size, dim) + dist = unwrap(eqx.combine(params, static)) + + def single_x_loss(x_i, condition_i, idx): + positive_logit = dist.log_prob(x_i, condition_i) - self.prior.log_prob(x_i) + contrastive = jnp.delete(x, idx, assume_unique_indices=True, axis=0)[ + : self.n_contrastive + ] + contrastive_logits = dist.log_prob( + contrastive, condition_i + ) - self.prior.log_prob(contrastive) + normalizer = logsumexp(jnp.append(contrastive_logits, positive_logit)) + return -(positive_logit - normalizer) + + return eqx.filter_vmap(single_x_loss)( + x, condition, jnp.arange(x.shape[0], dtype=int) + ).mean() class ElboLoss: diff --git a/pyproject.toml b/pyproject.toml index 63f21295..86bad95b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ license = { file = "LICENSE" } name = "flowjax" readme = "README.md" requires-python = ">=3.10" -version = "12.2.0" +version = "12.3.0" [project.urls] repository = "https://github.com/danielward27/flowjax" diff --git a/tests/test_experimental/test_numpyro.py b/tests/test_experimental/test_numpyro.py index 509ba3cb..9a941c78 100644 --- a/tests/test_experimental/test_numpyro.py +++ b/tests/test_experimental/test_numpyro.py @@ -1,4 +1,5 @@ from functools import partial +from typing import ClassVar import equinox as eqx import jax @@ -15,7 +16,7 @@ from numpyro.infer import MCMC, NUTS, SVI, Trace_ELBO from numpyro.optim import Adam -from flowjax.bijections import AdditiveCondition, Affine +from flowjax.bijections import AbstractBijection, AdditiveCondition, Affine, Invert from flowjax.distributions import ( LogNormal, Normal, @@ -391,3 +392,38 @@ def model(): assert "x_base" in trace.keys() expected_x = log_norm.bijection.transform(trace["x_base"]["value"]) assert pytest.approx(expected_x) == trace["x"]["value"] + + +class _ForwardOnly(AbstractBijection): + shape: tuple[int, ...] = () + cond_shape: ClassVar[None] = None + + def transform(self, x, condition=None): + return x + + def transform_and_log_det(self, x, condition=None): + return x, jnp.zeros(()) + + def inverse(self, y, condition=None): + raise NotImplementedError() + + def inverse_and_log_det(self, y, condition=None): + raise NotImplementedError() + + +def test_sampling_forward_only(): + dist = Transformed( + StandardNormal(), + _ForwardOnly(), + ) + dist = distribution_to_numpyro(dist) + dist.sample(jr.PRNGKey(0)) + + +def test_log_prob_inverse_only(): + dist = Transformed( + StandardNormal(), + Invert(_ForwardOnly()), + ) + dist = distribution_to_numpyro(dist) + dist.log_prob(0)