{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":615429464,"defaultBranch":"main","name":"torchrec","ownerLogin":"henrylhtsang","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-03-17T17:12:06.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/91030427?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1719279697.0","currentOid":""},"activityList":{"items":[{"before":"3c88aa56ac6939f7af08a4c6701e86efe7faf479","after":"a54893f12ecc64f534e84eb110da73ba440fb283","ref":"refs/heads/export-D58892592","pushedAt":"2024-06-25T23:04:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add KeyValueParams (#2168)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2168\n\nAdd KeyValueParams class, that are for params to go to SSD TBE.\n\nExpectation:\n* pass to SSD TBE only when using EmbeddingComputeKernel.KEY_VALUE. This is important to make sure we can use a mixed of FUSED and KEY_VALUE tables.\n* need to be hashable\n\nr1\n\nReviewed By: francomomo\n\nDifferential Revision: D58892592","shortMessageHtmlLink":"Add KeyValueParams (pytorch#2168)"}},{"before":"9127e30eec7dbc7bec6c31aa4dc8e176e422d517","after":"3c88aa56ac6939f7af08a4c6701e86efe7faf479","ref":"refs/heads/export-D58892592","pushedAt":"2024-06-25T23:01:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add KeyValueParams (#2168)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2168\n\nAdd KeyValueParams class, that are for params to go to SSD TBE.\n\nExpectation:\n* pass to SSD TBE only when using EmbeddingComputeKernel.KEY_VALUE. This is important to make sure we can use a mixed of FUSED and KEY_VALUE tables.\n* need to be hashable\n\nr1\n\nReviewed By: francomomo\n\nDifferential Revision: D58892592","shortMessageHtmlLink":"Add KeyValueParams (pytorch#2168)"}},{"before":"b3a4a68f179334eb41dacbbad93d88ecfee20ee9","after":"9127e30eec7dbc7bec6c31aa4dc8e176e422d517","ref":"refs/heads/export-D58892592","pushedAt":"2024-06-25T22:52:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add KeyValueParams (#2168)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2168\n\nAdd KeyValueParams class, that are for params to go to SSD TBE.\n\nExpectation:\n* pass to SSD TBE only when using EmbeddingComputeKernel.KEY_VALUE. This is important to make sure we can use a mixed of FUSED and KEY_VALUE tables.\n* need to be hashable\n\nReviewed By: francomomo\n\nDifferential Revision: D58892592","shortMessageHtmlLink":"Add KeyValueParams (pytorch#2168)"}},{"before":null,"after":"b3a4a68f179334eb41dacbbad93d88ecfee20ee9","ref":"refs/heads/export-D58892592","pushedAt":"2024-06-25T01:41:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add KeyValueParams\n\nSummary:\nAdd KeyValueParams class, that are for params to go to SSD TBE.\n\nExpectation:\n* pass to SSD TBE only when using EmbeddingComputeKernel.KEY_VALUE. This is important to make sure we can use a mixed of FUSED and KEY_VALUE tables.\n* need to be hashable\n\nDifferential Revision: D58892592","shortMessageHtmlLink":"Add KeyValueParams"}},{"before":"4345345105a95a5e06f3552c42568a3b2617c18a","after":"6d5970e4cb3ecaeb3854b7274e53d5e2390d4fd9","ref":"refs/heads/export-D58886177","pushedAt":"2024-06-21T21:05:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Refactor passing over cache params (#2155)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2155\n\nRefactor the passing over cache params from dataclass to fused_params dict a bit.\n\nMotivation:\nI am trying to add KeyValueParams.\n\nDifferential Revision: D58886177","shortMessageHtmlLink":"Refactor passing over cache params (pytorch#2155)"}},{"before":"e68c860d28587d14a243c786059e787e2d446338","after":"4345345105a95a5e06f3552c42568a3b2617c18a","ref":"refs/heads/export-D58886177","pushedAt":"2024-06-21T20:57:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Refactor passing over cache params (#2155)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2155\n\nRefactor the passing over cache params from dataclass to fused_params dict a bit.\n\nMotivation:\nI am trying to add KeyValueParams.\n\nDifferential Revision: D58886177","shortMessageHtmlLink":"Refactor passing over cache params (pytorch#2155)"}},{"before":null,"after":"e68c860d28587d14a243c786059e787e2d446338","ref":"refs/heads/export-D58886177","pushedAt":"2024-06-21T19:15:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Refactor passing over cache params\n\nSummary: Refactor the passing over cache params from dataclass to fused_params dict a bit.\n\nDifferential Revision: D58886177","shortMessageHtmlLink":"Refactor passing over cache params"}},{"before":"5902b2158fb8d83a317407ca163b51f763aa1b3e","after":"afed0afeb80d0a46b796bb4ceb2421b8b4804621","ref":"refs/heads/export-D58270549","pushedAt":"2024-06-21T01:13:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"add util function to compute rowwise adagrad updates (#2148)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2148\n\nAdded `compute_rowwise_adagrad_updates`, which is a util function to compute rowwise adagrad if we want to just pass in optim_state and grad, without paramater.\n\nIt can handle the case when grad is sparse.\n\nDifferential Revision: D58270549","shortMessageHtmlLink":"add util function to compute rowwise adagrad updates (pytorch#2148)"}},{"before":"cbb098f0db0da1f9f33a8bdd33e72b6da571f388","after":"5902b2158fb8d83a317407ca163b51f763aa1b3e","ref":"refs/heads/export-D58270549","pushedAt":"2024-06-21T00:49:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"add util function to compute rowwise adagrad updates (#2148)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2148\n\nAdded `compute_rowwise_adagrad_updates`, which is a util function to compute rowwise adagrad if we want to just pass in optim_state and grad, without paramater.\n\nIt can handle the case when grad is sparse.\n\nDifferential Revision: D58270549","shortMessageHtmlLink":"add util function to compute rowwise adagrad updates (pytorch#2148)"}},{"before":null,"after":"cbb098f0db0da1f9f33a8bdd33e72b6da571f388","ref":"refs/heads/export-D58270549","pushedAt":"2024-06-20T20:12:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"add util function to compute rowwise adagrad updates\n\nSummary:\nAdded `compute_rowwise_adagrad_updates`, which is a util function to compute rowwise adagrad if we want to just pass in optim_state and grad, without paramater.\n\nIt can handle the case when grad is sparse.\n\nDifferential Revision: D58270549","shortMessageHtmlLink":"add util function to compute rowwise adagrad updates"}},{"before":null,"after":"5d95d46d7207f8a21881c87ba099207ae74fdfd4","ref":"refs/heads/export-D58790885","pushedAt":"2024-06-20T17:52:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Back out \" [tps][api] add configs for 1) client thread num 2) max key per request 3) max local index length 4) ps hosts & ports\"\n\nSummary: backout D58372476\n\nReviewed By: sryap, francomomo\n\nDifferential Revision: D58790885","shortMessageHtmlLink":"Back out \" [tps][api] add configs for 1) client thread num 2) max key…"}},{"before":null,"after":"45e2c90057476039e2632e71bcac62de494fbb23","ref":"refs/heads/export-D58790831","pushedAt":"2024-06-20T17:17:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Back out \"Separate DDP and DMP pgs to improve T16 training QPS\"\n\nSummary:\nOriginal commit changeset: 27b5dce8fb21\n\nOriginal Phabricator Diff: D58691294\n\nDifferential Revision: D58790831","shortMessageHtmlLink":"Back out \"Separate DDP and DMP pgs to improve T16 training QPS\""}},{"before":null,"after":"bd183f6a44f27db1442ed323c1d2002100585ed9","ref":"refs/heads/export-D58681352","pushedAt":"2024-06-17T21:03:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Dim bucket for key value kernel\n\nSummary:\nEnforce emb dim bucketizing for key_value compute kernel.\n\nReasons:\n* mixed dimension support unclear (FBGEMM / PS)\n* More efficient use of cache space.\n\nOpen to come back to this issue in the future.\n\nReviewed By: sryap\n\nDifferential Revision: D58681352","shortMessageHtmlLink":"Dim bucket for key value kernel"}},{"before":"d54107a6b7f6eca7167bcb3716a5e0379d98b2e4","after":"0e758f75ce1ed294b51d8c9a3de1761e0f0a2761","ref":"refs/heads/export-D58626864","pushedAt":"2024-06-17T17:54:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Use at least one cache sets per TBE (#2116)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2116\n\nI added assertion to check for cache sets > 0, since it would fail without error when cache sets = 0.\n\nFixing in this diff to use at least one cache sets, so we don't have to worry about rounding error anymore.\n\nExample:\ntable size is 30.\nWhich means cache sets is int(30 * 0.2 / 32) = 0\n\nDifferential Revision: D58626864","shortMessageHtmlLink":"Use at least one cache sets per TBE (pytorch#2116)"}},{"before":"a08dfed40ac38a4e3f4ad37d4bf58bef098afc5f","after":"d54107a6b7f6eca7167bcb3716a5e0379d98b2e4","ref":"refs/heads/export-D58626864","pushedAt":"2024-06-15T01:03:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Use at least one cache sets per TBE (#2116)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2116\n\nI added assertion to check for cache sets > 0, since it would fail without error when cache sets = 0.\n\nFixing in this diff to use at least one cache sets, so we don't have to worry about rounding error anymore.\n\nExample:\ntable size is 30.\nWhich means cache sets is int(30 * 0.2 / 32) = 0\n\nDifferential Revision: D58626864","shortMessageHtmlLink":"Use at least one cache sets per TBE (pytorch#2116)"}},{"before":null,"after":"a08dfed40ac38a4e3f4ad37d4bf58bef098afc5f","ref":"refs/heads/export-D58626864","pushedAt":"2024-06-15T00:54:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Use at least one cache sets per TBE\n\nSummary:\nI added assertion to check for cache sets > 0, since it would fail without error when cache sets = 0.\n\nFixing in this diff to use at least one cache sets, so we don't have to worry about rounding error anymore.\n\nExample:\ntable size is 30.\nWhich means cache sets is int(30 * 0.2 / 32) = 0\n\nDifferential Revision: D58626864","shortMessageHtmlLink":"Use at least one cache sets per TBE"}},{"before":"8ac8c0eb34fb543f739cb79204c90d013d150741","after":"5570843889eaec200e3ada75ba1689505fecdd03","ref":"refs/heads/export-D57452256","pushedAt":"2024-06-11T19:52:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Integrate SSD TBE stage 1\n\nSummary:\n# Plan\nStage 1 aims to ensure that it can run, and won't break from normal operations (e.g. checkpointing).\n\nCheckpointing (i.e. state_dict and load_state_dict) are still work in progress. We also need to guarantee checkpointing for optimizer states.\n\nStage 2: save state_dict (mostly on fbgemm side)\n* current hope is we can rely on flush to save state dict\n\nStage 3: load_state_dict (need more thoughts)\n* solution should be similar to that of PS\n\nStage 4: optimizer states checkpointing (torchrec side, should be pretty standard)\n* should be straightforward\n* need fbgemm to support split_embedding_weights api\n\n# Outstanding issues:\n* init is not the same as before\n* SSD TBE doesn't support mixed dim\n\n# design doc\n\nhttps://docs.google.com/document/d/1SL1d2Os8KG46ETkCFzrIO0_QMOlFWoTrb8CJiCqGDdk/\n\n# tests should cover\n* state dict and load state dict (done)\n * should copy dense parts and not break\n* deterministics output (done)\n* numerical equivalence to normal TBE (done)\n* changing learning rate and warm up policy (done)\n* work for different sharding types (done)\n* work with mixed kernel (done)\n* work with mixed sharding types (done)\n\n# OSS\nNOTE: SSD TBE won't work in an OSS environment, due to some rocksdb problem.\n\n# ad hoc\n* SSD kernel is guarded, user must specify it in constraints to use it\n\n# Next steps\n* add multi-gpu training (todo)\n* add optimizer checkpointing support (stage 4)\n* add equivalence of CacheParams for PS and SSD configs\n* support multi dim via bucketizer\n* modify tests to check for multi dim, and remove assertion\n\nReviewed By: dstaay-fb\n\nDifferential Revision: D57452256","shortMessageHtmlLink":"Integrate SSD TBE stage 1"}},{"before":null,"after":"9c9d0fc318e0668186aae371448f17a5d0261a2c","ref":"refs/heads/export-D58259588","pushedAt":"2024-06-10T21:48:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"refactor single gpu model parallel tests\n\nSummary:\nAdding\n* _create_tables\n* _create_model\n* generate_batch\n\nwhich allow all 3 current use case to reuse the same `_generate_dmps_and_batch`\n\nMotivation is to reuse mode code in upcoming SSD TBE tests.\n\nDifferential Revision: D58259588","shortMessageHtmlLink":"refactor single gpu model parallel tests"}},{"before":null,"after":"8ac8c0eb34fb543f739cb79204c90d013d150741","ref":"refs/heads/export-D57452256","pushedAt":"2024-06-05T23:08:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Integrate SSD TBE stage 1\n\nSummary:\n# Plan\nStage 1 aims to ensure that it can run, and won't break from normal operations (e.g. checkpointing).\n\nCheckpointing (i.e. state_dict and load_state_dict) are still work in progress. We also need to guarantee checkpointing for optimizer states.\n\nStage 2: save state_dict (mostly on fbgemm side)\n* current hope is we can rely on flush to save state dict\n\nStage 3: load_state_dict (need more thoughts)\n* solution should be similar to that of PS\n\nStage 4: optimizer states checkpointing (torchrec side, should be pretty standard)\n* should be straightforward\n* need fbgemm to support split_embedding_weights api \n\n# Outstanding issues:\n* init is not the same as before\n* SSD TBE doesn't support mixed dim\n\n\n# design doc\n\nTODO: \n\n# tests should cover\n* state dict and load state dict (done)\n * should copy dense parts and not break \n* deterministics output (done)\n* numerical equivalence to normal TBE (done)\n* changing learning rate and warm up policy (done)\n* work for different sharding types (done)\n* work with mixed kernel (done)\n* work with mixed sharding types\n* multi-gpu training (todo)\n\n# OSS\nNOTE: SSD TBE won't work in an OSS environment, due to some rocksdb problem.\n\n# ad hoc\n* SSD kernel is guarded, user must specify it in constraints to use it\n\nDifferential Revision: D57452256","shortMessageHtmlLink":"Integrate SSD TBE stage 1"}},{"before":"1ded2eb504521bb587a78726650b1c1728962869","after":"063c19ecf0896e077d58ed470333e012c220d2bf","ref":"refs/heads/export-D58213342","pushedAt":"2024-06-05T22:51:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Call prefetch of underlying module when using prefetch (#2077)\n\nSummary:\n\nRight now, we can't use prefetch pipeline with a model that has a table sharded with data parallel.\n\nIt would just call lookup.prefetch, which is well guarded with `if hasattr(emb_op.emb_module, \"prefetch\"):`.\n\nDifferential Revision: D58213342","shortMessageHtmlLink":"Call prefetch of underlying module when using prefetch (pytorch#2077)"}},{"before":null,"after":"1ded2eb504521bb587a78726650b1c1728962869","ref":"refs/heads/export-D58213342","pushedAt":"2024-06-05T22:50:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Call prefetch of underlying module when using prefetch\n\nSummary:\nRight now, we can't use prefetch pipeline with a model that has a table sharded with data parallel.\n\nIt would just call lookup.prefetch, which is well guarded with `if hasattr(emb_op.emb_module, \"prefetch\"):`.\n\nDifferential Revision: D58213342","shortMessageHtmlLink":"Call prefetch of underlying module when using prefetch"}},{"before":null,"after":"9e4a6a7f05d3c07daa89f9efce9fc23aba192263","ref":"refs/heads/export-D53550851","pushedAt":"2024-06-04T18:06:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Support weighted_bwd_compute_multiplier in sharding estimators\n\nDifferential Revision: D53550851","shortMessageHtmlLink":"Support weighted_bwd_compute_multiplier in sharding estimators"}},{"before":"0d71282ef605b8de428a28b55193f6c5ed42f7d7","after":"8a8b1751c09159a754132521ca5e0e5abe1aafc3","ref":"refs/heads/export-D57921839","pushedAt":"2024-05-29T18:10:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add test for optimizer load state dict (#2056)\n\nSummary:\n\nThis test checks two things:\n* for optimizer with states, they need to be load_state_dict in order for numerical equivalence.\n* optimizer state dict and load state dict work as expected\n\nReviewed By: zainhuda\n\nDifferential Revision: D57921839","shortMessageHtmlLink":"Add test for optimizer load state dict (pytorch#2056)"}},{"before":null,"after":"0d71282ef605b8de428a28b55193f6c5ed42f7d7","ref":"refs/heads/export-D57921839","pushedAt":"2024-05-29T18:09:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add test for optimizer load state dict\n\nSummary:\nThis test checks two things:\n* for optimizer with states, they need to be load_state_dict in order for numerical equivalence.\n* optimizer state dict and load state dict work as expected\n\nDifferential Revision: D57921839","shortMessageHtmlLink":"Add test for optimizer load state dict"}},{"before":"dfadf8e396c65c5e1cb5fd1e25bee5b70f4b1736","after":"67d23d4e73425115f14f7bb20c77008bb3d15c30","ref":"refs/heads/export-D57579592","pushedAt":"2024-05-20T20:12:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Fix ParameterConstraints docstrings (#2022)\n\nSummary:\n\nFix horrible docstrings (created by me) on pytorch.org right now.\n\nReason is for dataclasses, we need to handle the docs carefully.\n\nBefore:\n {F1644093577} \nsame attribute would appear twice.\n\nAfter:\n {F1644093812}{F1644093807}\n\nDifferential Revision: D57579592","shortMessageHtmlLink":"Fix ParameterConstraints docstrings (pytorch#2022)"}},{"before":null,"after":"dfadf8e396c65c5e1cb5fd1e25bee5b70f4b1736","ref":"refs/heads/export-D57579592","pushedAt":"2024-05-20T20:11:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Fix ParameterConstraints docstrings\n\nSummary:\nFix horrible docstrings (created by me) on pytorch.org right now.\n\nReason is for dataclasses, we need to handle the docs carefully.\n\nBefore:\n {F1644093577} \nsame attribute would appear twice.\n\nAfter:\n {F1644093812}{F1644093807}\n\nDifferential Revision: D57579592","shortMessageHtmlLink":"Fix ParameterConstraints docstrings"}},{"before":"7f7792ae40c9f6bf742463575d7616be4e80be4a","after":"ba9a34318ef571f69154e51f2dcb7f54f31f0990","ref":"refs/heads/export-D57312052","pushedAt":"2024-05-20T20:11:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add test to demo how to apply optimizer to fused tables, non fused tables, and dense modules (#2021)\n\nSummary:\n\nA demo for showing how to properly apply optimizers to FUSED tables, non-fused tables, and non-tables.\n\nDifferential Revision: D57312052","shortMessageHtmlLink":"Add test to demo how to apply optimizer to fused tables, non fused ta…"}},{"before":"7dbfbe2fd55d161dcfee98447ebe8f69491b3bbb","after":"7f7792ae40c9f6bf742463575d7616be4e80be4a","ref":"refs/heads/export-D57312052","pushedAt":"2024-05-20T20:09:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add test to demo how to apply optimizer to fused tables, non fused tables, and dense modules (#2021)\n\nSummary:\n\nA demo for showing how to properly apply optimizers to FUSED tables, non-fused tables, and non-tables.\n\nDifferential Revision: D57312052","shortMessageHtmlLink":"Add test to demo how to apply optimizer to fused tables, non fused ta…"}},{"before":null,"after":"7dbfbe2fd55d161dcfee98447ebe8f69491b3bbb","ref":"refs/heads/export-D57312052","pushedAt":"2024-05-20T20:09:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Add test to demo how to apply optimizer to fused tables, non fused tables, and dense modules\n\nSummary: A demo for showing how to properly apply optimizers to FUSED tables, non-fused tables, and non-tables.\n\nDifferential Revision: D57312052","shortMessageHtmlLink":"Add test to demo how to apply optimizer to fused tables, non fused ta…"}},{"before":"f38c6f39785828e8088b6466e9962df423afbf5c","after":"a5f60b511d4194e5674d01801e1370eb5ace087a","ref":"refs/heads/export-D57307271","pushedAt":"2024-05-17T19:12:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"henrylhtsang","name":"henrylhtsang","path":"/henrylhtsang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91030427?s=80&v=4"},"commit":{"message":"Fix torchrec rowwise adagrad implementation (#2015)\n\nSummary:\n\nApparently we flipped the order of taking power 2 and taking mean.\n\nDifferential Revision: D57307271","shortMessageHtmlLink":"Fix torchrec rowwise adagrad implementation (pytorch#2015)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEbyOVNgA","startCursor":null,"endCursor":null}},"title":"Activity · henrylhtsang/torchrec"}