|
44 | 44 | ShardMetadata, |
45 | 45 | ) |
46 | 46 | from torchrec.modules.embedding_configs import BaseEmbeddingConfig, DataType |
47 | | -from torchrec.optim.apply_optimizer_in_backward import apply_optimizer_in_backward |
48 | | -from torchrec.optim.optimizers import SGD |
49 | 47 |
|
50 | | -from tzrec.optim import optimizer_builder |
51 | 48 | from tzrec.protos import feature_pb2 |
52 | | -from tzrec.protos.train_pb2 import TrainConfig |
53 | 49 |
|
54 | 50 | has_dynamicemb = False |
55 | 51 | try: |
@@ -205,29 +201,6 @@ def build_dynamicemb_constraints( |
205 | 201 | return constraints |
206 | 202 |
|
207 | 203 |
|
208 | | -def _patch_dynamicemb_eval_model(model: nn.Module, train_config: TrainConfig) -> None: |
209 | | - """Patch model with optimizer when eval. |
210 | | -
|
211 | | - because DynamicEmbedding Eval need optimizer now. |
212 | | - """ |
213 | | - if has_dynamicemb: |
214 | | - with_dynamicemb_feature = False |
215 | | - for feature in model.model._features: |
216 | | - if hasattr(feature.config, "dynamicemb") and feature.config.HasField( |
217 | | - "dynamicemb" |
218 | | - ): |
219 | | - with_dynamicemb_feature = True |
220 | | - break |
221 | | - if with_dynamicemb_feature: |
222 | | - sparse_optim_cls, _ = optimizer_builder.create_sparse_optimizer( |
223 | | - train_config.sparse_optimizer |
224 | | - ) |
225 | | - trainable_params, frozen_params = model.model.sparse_parameters() |
226 | | - apply_optimizer_in_backward(sparse_optim_cls, trainable_params, {"lr": 0.0}) |
227 | | - if len(frozen_params) > 0: |
228 | | - apply_optimizer_in_backward(SGD, frozen_params, {"lr": 0.0}) |
229 | | - |
230 | | - |
231 | 204 | if has_dynamicemb: |
232 | 205 | enumerators.GUARDED_COMPUTE_KERNELS.add(EmbeddingComputeKernel.CUSTOMIZED_KERNEL) |
233 | 206 |
|
|
0 commit comments