nni/retiarii/operation_def/torch_op_def.py (7 lines): - line 68: # TODO: refactor this part, maybe we can remove the code gen of prim::Constant - line 69: # TODO: deal with all the types - line 81: # TODO: prim::TupleIndex is not supported yet - line 231: # TODO: deal with this argument - line 419: # TODO: match with arg's type. manually choose for now - line 433: # TODO: deal with conditional ops - line 473: # TODO: match with arg's type. manually choose for now ts/nni_manager/core/nnimanager.ts (6 lines): - line 134: // TODO: NNI manager should not peek tuner's internal protocol, let's refactor this later - line 375: // FIXME: can this be undefined? - line 385: // FIXME: this can take a long time - line 400: // FIXME: unit test - line 832: sequenceId: -1, // FIXME: multi-phase tuner should use sequence ID instead of trial job ID - line 891: // TODO: test nni/retiarii/converter/graph_gen.py (6 lines): - line 105: # TODO: serialize complex data type, and output proper error message - line 180: # TODO: add scope name - line 396: # TODO: support non member functions - line 421: # TODO: check whether there could be multiple output nodes??? - line 742: # TODO: support InputChoice and ValueChoice - line 750: # TODO: Feed the exact input tensor if user provides input, nni/retiarii/experiment/pytorch.py (6 lines): - line 49: search_space: Any = '' # TODO: remove - line 119: # TODO: this logic might need to be refactored into execution engine - line 127: # FIXME: this is a workaround as full tensor is not supported in configs - line 174: # TODO: The current design of init interface of Retiarii experiment needs to be reviewed. - line 209: # TODO: find out a proper way to show no more trial message on WebUI - line 282: # TODO: the experiment should be completed, when strategy exits and there is no running job nni/compression/pytorch/speedup/compressor.py (5 lines): - line 281: # TODO what if last output is tuple/list of tensor - line 298: # TODO should use a more general way to get the input - line 308: # TODO support more kinds of value node - line 330: # TODO if we can find the corresponding relation between the value node - line 504: # TODO suppose to fix the conflict after the sparsity propagation ts/webui/src/components/trial-detail/TableList.tsx (5 lines): - line 140: // TODO: use search space and metrics space from TRIALS will cause update issues. - line 149: startTime: (trial as Trial).info.startTime, // FIXME: why do we need info here? - line 278: // FIXME: default metric is hacked as latestAccuracy currently - line 282: // TODO: add blacklist - line 342: // FIXME: this is ad-hoc ts/nni_manager/training_service/reusable/gpuScheduler.ts (4 lines): - line 68: // TODO: remove the following constraint when supporting distributed trial - line 120: //TODO: remove this constraint when supporting multi-host placement - line 132: //TODO: remove this constraint when supporting other training services - line 136: //TODO: nni/retiarii/execution/logical_optimizer/logical_plan.py (4 lines): - line 242: # FIXME: merge this rename with non-root graph, only do once. - line 258: # TODO: when copying one node to multiple devices, broadcast is more efficient than P2P communication - line 314: # TODO: currently, only support single input slot and output slot. - line 334: # TODO: it does not have duplicated edges if only supporting dedup input ts/nni_manager/rest_server/index.ts (4 lines): - line 16: * TODO: - line 68: // FIXME: We should have a global handler for critical errors. - line 82: // FIXME: Use global handler. The event can be emitted after listening. - line 101: // FIXME: Use global handler. It should be aware of shutting down event and swallow errors in this stage. nni/retiarii/graph.py (4 lines): - line 150: new_model.evaluator = self.evaluator # TODO this needs a clever copy (not deepcopy) if we need mutation - line 452: # TODO: use node copy instead - line 538: TODO: parameter of subgraph (cell) - line 577: # TODO: the operation is likely to be considered editable by end-user and it will be hard to debug ts/nni_manager/rest_server/restHandler.ts (4 lines): - line 21: // TODO: fix expressJoi - line 117: // TODO add validators for request params, query, body - line 206: '/experiment/cluster-metadata', //TODO: Fix validation expressJoi(ValidationSchemas.SETCLUSTERMETADATA), - line 309: content = `${filename} is empty.`; // FIXME: this should be handled in front-end nni/algorithms/compression/pytorch/pruning/amc/channel_pruning_env.py (3 lines): - line 301: if i == self.cur_ind - 1: # TODO: add other member in the set - line 387: if self.args.model_type == 'mobilenetv2': # TODO: to be tested! Share index for residual connection - line 431: #TODO replace this flops counter with nni.compression.torch.utils.counter.count_flops_params ts/nni_manager/training_service/reusable/trialDispatcher.ts (3 lines): - line 834: this.log.error(`TrialDispatcher: TODO: not implement to handle direct REPORT_METRIC_DATA command yet.`); - line 942: // TODO: support non shared storage - line 952: // TODO: support non shared storage nni/retiarii/nn/pytorch/api.py (3 lines): - line 60: # FIXME: prior is designed but not supported yet - line 297: # FIXME: prior is designed but not supported yet - line 362: # TODO: docstring nni/retiarii/nn/pytorch/mutator.py (3 lines): - line 54: # FIXME This is a hack to make choice align with the previous format - line 212: # FIXME This is a hack to make choice align with the previous format - line 242: # TODO: check the label of module and warn if it's auto-generated nni/retiarii/execution/benchmark.py (3 lines): - line 105: # FIXME: not tested yet - line 114: # FIXME: not tested yet - line 116: # TODO: I'm not sure of the availble datasets in this benchmark. and the docs are missing. nni/retiarii/operation.py (3 lines): - line 177: TODO: this is pytorch cell - line 198: TODO: parameters of subgraph (see `Node` class) - line 217: # TODO: ugly, think about how to refactor this part nni/tools/nnictl/nnictl_utils.py (3 lines): - line 377: ], # TODO: support remaining argument, uncomment the lines in nnictl.py - line 378: ) # TODO: emulate tee behaviors, not necessary tho. - line 516: # TODO: support all platforms pipelines/templates/cache-dependencies-template.yml (2 lines): - line 35: # FIXME: It does not stop on failure. Tried "ErrorActionPreference" with no luck. - line 48: # FIXME: nni/tuner.py (2 lines): - line 99: # FIXME: some tuners raise NoMoreTrialError when they are waiting for more trial results - line 159: # FIXME: because Tuner is designed as interface, this API should not be here ts/webui/scripts/formatWebpackMessages.js (2 lines): - line 1: // FIXME: This file is copied from react-dev-utils master branch. Waiting for its next release. - line 39: // TODO: move this to our ESLint formatter? ts/webui/src/static/function.ts (2 lines): - line 200: // TODO: use Message.txt to tooltip - line 279: // TODO: how to format NaN? nni/compression/pytorch/utils/sensitivity_analysis.py (2 lines): - line 12: # FIXME: I don't know where "utils" should be - line 182: # TODO In current L1/L2 Filter Pruner, the 'op_types' is still necessary nni/compression/pytorch/speedup/jit_translate.py (2 lines): - line 116: # TODO: what if this input is a constant tensor - line 446: TODO: support more types in the type_as, need to figure out ts/webui/src/components/trial-detail/Para.tsx (2 lines): - line 85: // FIXME: redundant update - line 311: // TODO: handle nested entries ts/webui/src/components/modals/Compare.tsx (2 lines): - line 26: // TODO: this should be refactored to the common modules - line 36: // TODO: should handle more types of metric keys ts/webui/src/components/public-child/OpenRow.tsx (2 lines): - line 81: // TODO: netron might need prefix. - line 139: // FIXME: this should not be handled in web UI side nni/compression/tensorflow/compressor.py (2 lines): - line 273: # TODO: maybe it should be able to calc on weight-granularity, beside from layer-granularity - line 331: # TODO: designed to replace `patch_optimizer` nni/algorithms/feature_engineering/gradient_selector/learnability.py (2 lines): - line 333: # TODO: consider other functions here - line 336: # TODO: could make this a user given parameter nni/algorithms/feature_engineering/gradient_selector/fginitialize.py (2 lines): - line 214: # TODO: use a passed-in RNG here - line 446: # TODO: set these, for each class? ts/nni_manager/training_service/kubernetes/kubernetesApiClient.ts (2 lines): - line 96: // TODO: change this hard coded deployment name after demo - line 196: //TODO : replace any nni/retiarii/nn/pytorch/component.py (2 lines): - line 111: # TODO: - line 140: assert merge_op in ['all'] # TODO: loose_end nni/nas/tensorflow/mutator.py (2 lines): - line 31: # TODO: status - line 32: # TODO: graph ts/webui/src/App.tsx (2 lines): - line 99: // TODO: use local storage - line 166: return null; // TODO: render a loading page nni/retiarii/utils.py (2 lines): - line 20: # TODO: refactor later - line 60: # TODO: find out all the modules that have the same requirement as LSTM pipelines/templates/install-dependencies.yml (2 lines): - line 57: # FIXME: See cache-dependencies-template.yml on why it needs rebuild. - line 64: # TODO: Delete this after upgrading to PyTorch 1.11. ts/nni_manager/training_service/pai/paiTrainingService.ts (1 line): - line 252: //TODO: use HDFS working folder instead ts/nni_manager/training_service/reusable/environments/kubernetes/kubeflowEnvironmentService.ts (1 line): - line 239: // TODO: change the name based on operator's type ts/webui/scripts/server.js (1 line): - line 99: // TODO: implement put, post, delete methods nni/algorithms/hpo/ppo_tuner/ppo_tuner.py (1 line): - line 387: # FIXME: risk, candidates might also have None nni/retiarii/execution/base.py (1 line): - line 90: # FIXME: should be a warning message here ts/nni_manager/config/dlc/dlcUtil.py (1 line): - line 70: #TODO: 1. get this url by api? 2. change this url in private dlc mode. nni/common/hpo_utils/validation.py (1 line): - line 54: # FIXME: need further check for each algorithm which types are actually supported nni/algorithms/compression/pytorch/quantization/native_quantizer.py (1 line): - line 38: orig_type = weight.type() # TODO: user layer nni/retiarii/execution/utils.py (1 line): - line 15: # FIXME: this check might be wrong ts/webui/src/static/model/trial.ts (1 line): - line 356: // TODO: this should be private nni/algorithms/compression/v2/pytorch/utils/pruning.py (1 line): - line 244: # FIXME: to avoid circular import, copy this function in this place nni/retiarii/nn/pytorch/nn.py (1 line): - line 13: 'Module', 'Sequential', 'ModuleList', # TODO: 'ModuleDict', 'ParameterList', 'ParameterDict', pipelines/fast-test.yml (1 line): - line 29: displayName: Sphinx # TODO: rstcheck nni/algorithms/compression/pytorch/pruning/iterative_pruner.py (1 line): - line 229: # TODO: need refactor nni/experiment/experiment.py (1 line): - line 458: TODO: support searchspace file. nni/algorithms/compression/pytorch/quantization/qat_quantizer.py (1 line): - line 149: # TODO: may relax this limitation? nni/experiment/config/experiment_config.py (1 line): - line 54: # TODO: ts/nni_manager/training_service/kubernetes/adl/adlTrainingService.ts (1 line): - line 33: //TODO: change the logic here when we want to support multiple tensorboard nni/tools/nnictl/nnictl.py (1 line): - line 183: #TODO:finish webui function ts/webui/src/static/style/experiment/experiment.scss (1 line): - line 8: /* TODO: here is 32 rather than $pageMargin is because experiment page `content` position */ nni/algorithms/compression/v2/pytorch/pruning/auto_compress_pruner.py (1 line): - line 36: # TODO: replace with validation here nni/algorithms/hpo/gridsearch_tuner.py (1 line): - line 225: #if spec.q is None: # TODO: comment out because of edge case UT uniform(99.9, 99.9) nni/common/nas_utils.py (1 line): - line 203: # TODO: Calculate loss ts/webui/src/static/model/searchspace.ts (1 line): - line 162: // TODO: handle more than number and object ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowTrainingService.ts (1 line): - line 431: // TODO: change the name based on operator's type nni/algorithms/compression/v2/pytorch/base/scheduler.py (1 line): - line 131: TODO: If the compact model has been speeduped, the auto infer masks maybe also need. nni/tools/gpu_tool/gpu_metrics_collector.py (1 line): - line 26: # TODO: change to sleep time configurable via arguments nni/algorithms/compression/v2/pytorch/pruning/tools/task_generator.py (1 line): - line 190: # TODO: replace with validation here nni/algorithms/nas/pytorch/proxylessnas/mutator.py (1 line): - line 342: # FIXME: return mask, to be consistent with other algorithms nni/algorithms/hpo/smac_tuner/smac_tuner.py (1 line): - line 152: # TODO: this is ugly, we put all the initialization work in this method, because initialization relies nni/compression/pytorch/quantization/settings.py (1 line): - line 107: # TODO: It is not a good idea to directly modify global settings. A better choice is nni/experiment/management.py (1 line): - line 16: # TODO: port shangning's work here, and use it in Experiment.start()/.stop() nni/common/graph_utils.py (1 line): - line 285: # TODO: scope name could be empty ts/nni_manager/training_service/common/clusterJobRestServer.ts (1 line): - line 19: * FIXME: This should be a router, not a separate REST server. nni/algorithms/hpo/hyperopt_tuner.py (1 line): - line 114: # TODO - catch exact Exception nni/runtime/msg_dispatcher.py (1 line): - line 26: TODO: move this logic to NNI manager ts/webui/src/components/NavCon.tsx (1 line): - line 126: {/* TODO: fix bug */} ts/nni_manager/common/observableTimer.ts (1 line): - line 11: // TODO: move 100 and 1000 into constants class nni/retiarii/codegen/pytorch.py (1 line): - line 188: # TODO: handle imports ts/nni_manager/core/nniDataStore.ts (1 line): - line 29: // TODO support specify database dir nni/algorithms/compression/pytorch/pruning/lottery_ticket.py (1 line): - line 137: # TODO: directly use weight_mask is not good nni/retiarii/evaluator/pytorch/cgo/evaluator.py (1 line): - line 92: # TODO: split metric of multiple models? nni/algorithms/nas/pytorch/fbnet/mutator.py (1 line): - line 183: # FIXME: return mask, to be consistent with other algorithms nni/tools/jupyter_extension/proxy.py (1 line): - line 32: # TODO: post, put, etc ts/nni_manager/training_service/pai/paiJobInfoCollector.ts (1 line): - line 63: //TODO : pass in request timeout param? nni/compression/pytorch/speedup/infer_mask.py (1 line): - line 114: # TODO support the other batch dimension in the future nni/algorithms/compression/pytorch/quantization/observer_quantizer.py (1 line): - line 32: # TODO: nni/retiarii/execution/cgo_engine.py (1 line): - line 348: # TODO: Packing multiple model in one GPU