diff --git a/notebooks/compute_dream_pos.ipynb b/notebooks/compute_dream_pos.ipynb index 2525f64..3ee4aef 100644 --- a/notebooks/compute_dream_pos.ipynb +++ b/notebooks/compute_dream_pos.ipynb @@ -89,13 +89,20 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 80, "id": "80a42d2e-56f8-4489-87e0-a43b95c37e85", "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([10, 18]) torch.Size([10, 1])\n" + ] + }, { "data": { - "image/png": "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", + "image/png": "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PUVtGoVo+Ksr9M7yXaaTAACAEzG6AQCoZeHB/pozpqeG92yiRxZt1MNZG3TmnN10FgAAcAJf0wEAAHgjPx+rnujbXrFRNj2avVFFJRWaMaKr6ocEmE4DAAA1iJNuAAAMGtajieaOTdCOwxVKzcjTpv2lppMAAEANYnQDAGBY92bhyk5PUb1gPw2asUwfrz9gOgkAANQQRjcAAC7gurp1NG98knq3a6S0uav1wueFstsdprMAAMA14ppuAABcRB1/H/1jaGfFRYXquc8KteVAuV4c0kmhgX6m0wAAwFXipBsAABdisVg06eZWenVUNy3fcUQDpudr15HjprMAAMBVYnQDAOCCbolrpEVpSTpbaVdqRp5ytx02nQQAAK6C00b3X//6VyUlJSkoKEh169at0mtGjx4ti8VywePWW291ViIAAC6tVcNQZaelqFNMXY16fYVey/1BDgfXeQMA4E6cNrrPnDmjwYMHa+LEidV63a233qoDBw6cf7z33ntOKgQAwPWFBfnp9bu6aUxKcz350Wb9fv56nT5XaToLAABUkdNupPbEE09Ikt58881qvS4gIECRkZFOKAIAwD35+lj1p9vaKTbSpilZG7T9UIVmjYhXQ1ug6TQAAHAFLndN99dff62GDRuqbdu2mjhxoo4cOXLZ558+fVplZWUXPAAA8EQD4xvrw/GJ2vfjSaVm5GndnmOmkwAAwBW41Oi+9dZb9fbbb+urr77Ss88+q2+++Ua//OUvVVl56T9GN3XqVIWFhZ1/xMTE1GIxAAC1q3NMXS2enKLIsEANnrVMWWv2mk4CAACXUa3R/dBDD/3kRmf/+ygoKLjqmKFDhyo1NVUdOnRQv3799NFHH+m7777T119/fcnXTJkyRaWlpecfe/bsuervDwCAO2hkC9T74xJ0e8do/faDdXr6ky2qtHODNQAAXFG1rul+8MEHNXr06Ms+p0WLFtfS85O/V4MGDVRUVKRbbrnlos8JCAhQQEBAjX1PAADcQaCfj54f3FFxUaF6+pMtKiwu1z+GdVFYHT/TaQAA4L9Ua3RHREQoIiLCWS0/sXfvXh05ckRRUVG19j0BAHAXFotF997QQm0ahSp97mr1z8zT7FHd1KphiOk0AADwb067pnv37t1au3atdu/ercrKSq1du1Zr165VRUXF+efExsYqKytLklRRUaHf//73Wr58uXbu3KmvvvpKffv2VatWrdSnTx9nZQIA4PZubBOh7PQUWa0W9c/M09KCg6aTAADAvzltdD/66KPq0qWLHnvsMVVUVKhLly7q0qWLvv/++/PPKSwsVGlpqSTJx8dH69evV2pqqtq0aaMxY8YoPj5e//rXv/jj4wAAXEHzBsHKmpSkni3Cdc9b32nmN9vlcHCdNwAAplkcHvY7cllZmcLCwlRaWiqbzWY6BwCAWmW3O/TCF4XKXLpdfTtH69mBHRXo52M6CwAAj1PV7elSHxkGAACujdVq0e/7xGrasC76bFOxBs9cpgOlJ01nAQDgtRjdAAB4oNs7RWv+hCQdqTit26fladWuo6aTAADwSoxuAAA8VPvrwpQzOUXNGwRp6Ozl+uC73aaTAADwOoxuAAA8WIOQAL17b4IGxcfojws26PGcTTpbaTedBQCA16jW53QDAAD34+9r1dP926tdVKieWLxZW0vKlXlnV9UL9jedBgCAx+OkGwAAL2CxWDQysZnmjOmpLQfKlJqZq8LictNZAAB4PEY3AABeJLFlfeWkpyjY31cDpufps03FppMAAPBojG4AALxMTHiQFkxM0o1tIjR+ziq9/OU22e0O01kAAHgkRjcAAF4oOMBXmXd21QM/b6MXv9yqtLmrdfz0OdNZAAB4HEY3AABeymq16De3tNaskfH6dushDZyRrz1HT5jOAgDAozC6AQDwcn2uj9TCSck6fuacUjNytWz7EdNJAAB4DEY3AABQ28hQ5aSlKC7KppGvrdCcZTvlcHCdNwAA14rRDQAAJEn1gv311j09NCKhqf6cvUkPZ23UmXN201kAALg1X9MBAADAdfj5WPV46vWKiwrVI4s2quhguWaMiFeDkADTaQAAuCVOugEAwE8M6d5E749L0A+HT6hvRp427is1nQQAgFtidAMAgIuKbxqunPRkhQf7a9DMfC1et990EgAAbofRDQAALim6bh3Nm5CoPtdHavJ7a/TcZwWy27nBGgAAVcU13QAA4LIC/Xz00pDOiouy6dklBSosLteLQzorNNDPdBoAAC6Pk24AAHBFFotFE25qqdfv6q4VO46q//R8/XD4uOksAABcHqMbAABUWa/YhspKS5bd7lDfjFx9u/WQ6SQAAFwaoxsAAFRLq4YhykpLVpcm9TT6jZV69V875HBwnTcAABfD6AYAANUWVsdP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", "text/plain": [ "
" ] @@ -105,20 +112,14 @@ } ], "source": [ - "import math\n", + "%autoreload 2\n", + "from torchdrive.tasks.diff_traj import random_traj\n", "\n", - "def random_traj(BS = 1, device = \"cpu\", vel = 1):\n", - " # scale from 0.5 to 1.5\n", - " speed = (torch.rand(BS, device=device) + 0.5) * vel\n", - " \n", - " angle = torch.rand(BS, device=device)* math.pi\n", - " x = torch.sin(angle) * torch.arange(seq_len, device=device) / 2 * speed\n", - " y = torch.cos(angle) * torch.arange(seq_len, device=device) / 2 * speed\n", - " \n", - " traj = torch.stack([x, y], dim=-1)\n", - " return traj\n", + "BS = 10\n", + "vel = torch.ones(BS, 1)\n", + "traj = random_traj(BS=BS, seq_len=seq_len, device=\"cpu\", vel=vel)\n", "\n", - "traj = random_traj()\n", + "traj = traj[0]\n", "\n", "plt.plot(traj[..., 0], traj[..., 1], label=\"a\")\n", "plt.gca().set_aspect(\"equal\")" diff --git a/torchdrive/tasks/diff_traj.py b/torchdrive/tasks/diff_traj.py index 3e76c3e..d48444c 100644 --- a/torchdrive/tasks/diff_traj.py +++ b/torchdrive/tasks/diff_traj.py @@ -722,14 +722,24 @@ def forward( def random_traj( BS: int, seq_len: int, device: object, vel: torch.Tensor ) -> torch.Tensor: - """Generates a random trajectory at the specified velocity.""" + """Generates a random trajectory at the specified velocity. + + Arguments: + BS: batch size + vel: [BS, 1] + + Returns: + The random trajectory [BS, seq_len, 2] + """ # scale from 0.5 to 1.5 - speed = (torch.rand(BS, device=device) + 0.5) * vel + speed = (torch.rand(BS, device=device) + 0.5) * vel.squeeze(1) - angle = torch.rand(BS, device=device) * math.pi - x = torch.sin(angle) * torch.arange(seq_len, device=device) / 2 * speed - y = torch.cos(angle) * torch.arange(seq_len, device=device) / 2 * speed + angle = torch.rand(BS, 1, device=device) * math.pi + x = torch.arange(seq_len, device=device) / 2 * speed.unsqueeze(1) + x *= torch.sin(angle) + y = torch.arange(seq_len, device=device) / 2 * speed.unsqueeze(1) + y *= torch.cos(angle) traj = torch.stack([x, y], dim=-1) return traj diff --git a/torchdrive/tasks/test_diff_traj.py b/torchdrive/tasks/test_diff_traj.py index e3fa1dc..2a56e30 100644 --- a/torchdrive/tasks/test_diff_traj.py +++ b/torchdrive/tasks/test_diff_traj.py @@ -7,6 +7,7 @@ from torchdrive.tasks.diff_traj import ( compute_dream_pos, DiffTraj, + random_traj, square_mask, XEmbedding, XYEmbedding, @@ -218,7 +219,6 @@ def test_square_mask(self): torch.testing.assert_close(output[:2], target) def test_compute_dream_pos(self): - positions = torch.rand(2, 18, 2) mask = torch.ones(2, 18) pred_traj = torch.rand(2, 18, 2) @@ -230,3 +230,10 @@ def test_compute_dream_pos(self): self.assertEqual(dream_mask.shape, (2, 16)) self.assertEqual(dream_positions.shape, (2, 16, 2)) self.assertEqual(dream_pred.shape, (2, 16, 2)) + + def test_random_traj(self): + BS = 10 + vel = torch.ones(BS, 1) + seq_len = 18 + traj = random_traj(BS=BS, seq_len=seq_len, device="cpu", vel=vel) + self.assertEqual(traj.shape, (BS, seq_len, 2))