Copy disabled (too large)
Download .txt
Showing preview only (10,209K chars total). Download the full file to get everything.
Repository: bytedance/monolith
Branch: master
Commit: 135c491a52b1
Files: 1324
Total size: 26.8 MB
Directory structure:
gitextract_ddr9m3f9/
├── .bazelrc
├── .gitignore
├── LICENSE
├── README.md
├── WORKSPACE
├── conf/
│ └── BUILD
├── deploy/
│ ├── .dockerignore
│ ├── .gitignore
│ ├── .golangci.yaml
│ ├── Dockerfile
│ ├── Makefile
│ ├── PROJECT
│ ├── README.md
│ ├── api/
│ │ └── v1/
│ │ ├── groupversion_info.go
│ │ ├── mlservice_types.go
│ │ └── zz_generated.deepcopy.go
│ ├── build.sh
│ ├── config/
│ │ ├── crd/
│ │ │ ├── bases/
│ │ │ │ └── mlplatform.volcengine.com_mlservices.yaml
│ │ │ ├── kustomization.yaml
│ │ │ ├── kustomizeconfig.yaml
│ │ │ └── patches/
│ │ │ ├── cainjection_in_mlservices.yaml
│ │ │ └── webhook_in_mlservices.yaml
│ │ ├── default/
│ │ │ ├── kustomization.yaml
│ │ │ ├── manager_auth_proxy_patch.yaml
│ │ │ └── manager_config_patch.yaml
│ │ ├── manager/
│ │ │ ├── controller_manager_config.yaml
│ │ │ ├── kustomization.yaml
│ │ │ └── manager.yaml
│ │ ├── prometheus/
│ │ │ ├── kustomization.yaml
│ │ │ └── monitor.yaml
│ │ ├── rbac/
│ │ │ ├── auth_proxy_client_clusterrole.yaml
│ │ │ ├── auth_proxy_role.yaml
│ │ │ ├── auth_proxy_role_binding.yaml
│ │ │ ├── auth_proxy_service.yaml
│ │ │ ├── kustomization.yaml
│ │ │ ├── leader_election_role.yaml
│ │ │ ├── leader_election_role_binding.yaml
│ │ │ ├── mlservice_editor_role.yaml
│ │ │ ├── mlservice_viewer_role.yaml
│ │ │ ├── role.yaml
│ │ │ ├── role_binding.yaml
│ │ │ └── service_account.yaml
│ │ └── samples/
│ │ └── mlplatform_v1_mlservice.yaml
│ ├── controllers/
│ │ ├── constants.go
│ │ ├── deployment_handler.go
│ │ ├── mlservice_controller.go
│ │ ├── service_handler.go
│ │ └── status.go
│ ├── go.mod
│ ├── go.sum
│ ├── hack/
│ │ └── boilerplate.go.txt
│ ├── main.go
│ └── serving/
│ ├── agent.conf
│ ├── docker/
│ │ ├── Dockerfile
│ │ ├── assets/
│ │ │ ├── Python-3.8.6.tar.xz
│ │ │ ├── bashrc
│ │ │ ├── build.sh
│ │ │ ├── configurator_dumpenv.service
│ │ │ ├── configurator_dumpenv.sh
│ │ │ ├── pip.conf
│ │ │ ├── rdma/
│ │ │ │ ├── ibverbs-providers_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── ibverbs-utils_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibumad3_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibverbs-dev_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibverbs1_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── librdmacm1_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ └── rdmacm-utils_50mlnx1-1.50100.0_amd64.deb
│ │ │ └── requirements.txt
│ │ └── run
│ ├── open_source_serving.sh
│ └── scripts/
│ ├── build_serving.sh
│ └── run_server
├── idl/
│ ├── BUILD
│ └── matrix/
│ ├── compression/
│ │ ├── compression.cc
│ │ ├── compression.h
│ │ ├── compression_qtz8mm.cc
│ │ ├── compression_qtz8mm.h
│ │ └── float16.h
│ └── proto/
│ ├── example.proto
│ ├── feature.proto
│ ├── line_id.proto
│ └── proto_parser.proto
├── markdown/
│ ├── demo/
│ │ ├── AWS-EKS.md
│ │ ├── BUILD
│ │ ├── Batch.md
│ │ ├── README.md
│ │ ├── Stream.md
│ │ ├── demo_local_runner.py
│ │ ├── demo_model.py
│ │ ├── kafka_producer.py
│ │ ├── kafka_receiver.py
│ │ ├── kafka_utils/
│ │ │ ├── add_data_topics.sh
│ │ │ ├── delete_topics.sh
│ │ │ ├── kafka_base.sh
│ │ │ └── start_broker.sh
│ │ └── ml_dataset.py
│ ├── input_and_model_fn.md
│ ├── primus_demo/
│ │ ├── README.md
│ │ ├── main.sh
│ │ ├── monolith.Dockerfile
│ │ └── primus_monolith.json
│ └── serving.md
├── monolith/
│ ├── BUILD
│ ├── __init__.py
│ ├── agent_service/
│ │ ├── BUILD
│ │ ├── __init__.py
│ │ ├── agent.conf
│ │ ├── agent.py
│ │ ├── agent_base.py
│ │ ├── agent_client.py
│ │ ├── agent_controller.py
│ │ ├── agent_controller_test.py
│ │ ├── agent_service.proto
│ │ ├── agent_service.py
│ │ ├── agent_service_test.py
│ │ ├── agent_v1.py
│ │ ├── agent_v3.py
│ │ ├── agent_v3_test.py
│ │ ├── backends.py
│ │ ├── backends_test.py
│ │ ├── client.py
│ │ ├── constants.py
│ │ ├── data_def.py
│ │ ├── data_def_test.py
│ │ ├── example_batch.pbtxt
│ │ ├── mocked_tfserving.py
│ │ ├── mocked_tfserving_test.py
│ │ ├── mocked_zkclient.py
│ │ ├── mocked_zkclient_test.py
│ │ ├── model_manager.py
│ │ ├── model_manager_test.py
│ │ ├── profile.sh
│ │ ├── replica_manager.py
│ │ ├── replica_manager_test.py
│ │ ├── resource_utils.py
│ │ ├── resource_utils_test.py
│ │ ├── run.py
│ │ ├── svr_client.py
│ │ ├── test_data/
│ │ │ ├── BUILD
│ │ │ ├── inst.dump
│ │ │ ├── inst.json
│ │ │ └── inst.pbtext
│ │ ├── tfs_client.py
│ │ ├── tfs_client_test.py
│ │ ├── tfs_monitor.py
│ │ ├── tfs_monitor_test.py
│ │ ├── tfs_wrapper.py
│ │ ├── utils.py
│ │ ├── utils_test.py
│ │ ├── zk_mirror.py
│ │ └── zk_mirror_test.py
│ ├── base_runner.py
│ ├── common/
│ │ └── python/
│ │ ├── BUILD
│ │ └── mem_profiling.py
│ ├── core/
│ │ ├── BUILD
│ │ ├── __init__.py
│ │ ├── auto_checkpoint_feed_hook.py
│ │ ├── base_embedding_host_call.py
│ │ ├── base_embedding_host_call_test.py
│ │ ├── base_embedding_task.py
│ │ ├── base_host_call.py
│ │ ├── base_layer.py
│ │ ├── base_layer_test.py
│ │ ├── base_model_params.py
│ │ ├── base_task.py
│ │ ├── base_tpu_test.py
│ │ ├── core_test_suite.py
│ │ ├── dense.py
│ │ ├── dense_test.py
│ │ ├── feature.py
│ │ ├── feature_test.py
│ │ ├── host_call.py
│ │ ├── hyperparams.py
│ │ ├── hyperparams_test.py
│ │ ├── mixed_emb_op_comb_nws.py
│ │ ├── model.py
│ │ ├── model_imports.py
│ │ ├── model_registry.py
│ │ ├── optimizers.py
│ │ ├── py_utils.py
│ │ ├── testing_utils.py
│ │ ├── tpu_variable.py
│ │ ├── util.py
│ │ ├── util_test.py
│ │ └── variance_scaling.py
│ ├── gpu_runner.py
│ ├── monolith_workspace.bzl
│ ├── native_training/
│ │ ├── BUILD
│ │ ├── alert/
│ │ │ ├── BUILD
│ │ │ ├── alert.proto
│ │ │ ├── alert_manager.py
│ │ │ └── alert_manager_test.py
│ │ ├── barrier_ops.py
│ │ ├── barrier_ops_test.py
│ │ ├── basic_restore_hook.py
│ │ ├── basic_restore_hook_test.py
│ │ ├── clip_ops.py
│ │ ├── clip_ops_test.py
│ │ ├── cluster_manager.py
│ │ ├── cluster_manager_test.py
│ │ ├── consul.py
│ │ ├── consul_test.py
│ │ ├── cpu_sync_training_test.py
│ │ ├── cpu_training.py
│ │ ├── cpu_training_distributed_test_binary.py
│ │ ├── cpu_training_test.py
│ │ ├── data/
│ │ │ ├── BUILD
│ │ │ ├── __init__.py
│ │ │ ├── data_op_config.proto
│ │ │ ├── data_ops_test.py
│ │ │ ├── data_service_parquet_test.py
│ │ │ ├── data_service_test.py
│ │ │ ├── datasets.py
│ │ │ ├── docker-compose.yaml
│ │ │ ├── eager_mode_test.py
│ │ │ ├── extract_fid_test.py
│ │ │ ├── feature_list.py
│ │ │ ├── feature_list_test.py
│ │ │ ├── feature_utils.py
│ │ │ ├── feature_utils_test.py
│ │ │ ├── item_pool_hook.py
│ │ │ ├── item_pool_test.py
│ │ │ ├── kafka_dataset_test.py
│ │ │ ├── kernels/
│ │ │ │ ├── add_action_kernel.cc
│ │ │ │ ├── add_label_kernel.cc
│ │ │ │ ├── cache_one_dataset_kernel.cc
│ │ │ │ ├── cache_one_dataset_kernel.h
│ │ │ │ ├── df_resource_kernel.cc
│ │ │ │ ├── df_resource_kernel.h
│ │ │ │ ├── dynamic_match_file_dataset_kernel.cc
│ │ │ │ ├── extract_fid_kernel.cc
│ │ │ │ ├── feature_hash.cc
│ │ │ │ ├── feature_name_mapper_tf_bridge.cc
│ │ │ │ ├── feature_name_mapper_tf_bridge.h
│ │ │ │ ├── fill_multi_rank_output_kernel.cc
│ │ │ │ ├── filter_by_label_kernel.cc
│ │ │ │ ├── gen_fid_mask.cc
│ │ │ │ ├── instance_reweight_dataset_kernel.cc
│ │ │ │ ├── instance_reweight_dataset_kernel.h
│ │ │ │ ├── internal/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── arrow_random_access_file.h
│ │ │ │ │ ├── cache_mgr.cc
│ │ │ │ │ ├── cache_mgr.h
│ │ │ │ │ ├── cache_mgr_test.cc
│ │ │ │ │ ├── datasource_utils.cc
│ │ │ │ │ ├── datasource_utils.h
│ │ │ │ │ ├── datasource_utils_test.cc
│ │ │ │ │ ├── file_match_split_provider.cc
│ │ │ │ │ ├── file_match_split_provider.h
│ │ │ │ │ ├── file_match_split_provider_test.cc
│ │ │ │ │ ├── label_utils.cc
│ │ │ │ │ ├── label_utils.h
│ │ │ │ │ ├── label_utils_test.cc
│ │ │ │ │ ├── parquet_column_buffer.h
│ │ │ │ │ ├── parquet_example_reader.h
│ │ │ │ │ ├── relational_utils.h
│ │ │ │ │ ├── relational_utils_test.cc
│ │ │ │ │ ├── sized_random_access_file.h
│ │ │ │ │ ├── uniq_hashtable.h
│ │ │ │ │ ├── uniq_hashtable_test.cc
│ │ │ │ │ ├── value_filter_by_feature.cc
│ │ │ │ │ ├── value_filter_by_feature.h
│ │ │ │ │ ├── value_filter_by_line_id.cc
│ │ │ │ │ ├── value_filter_by_line_id.h
│ │ │ │ │ └── value_filter_test.cc
│ │ │ │ ├── item_pool_kernels.cc
│ │ │ │ ├── item_pool_kernels.h
│ │ │ │ ├── kafka_kernels.cc
│ │ │ │ ├── label_normalization_kernel.cc
│ │ │ │ ├── label_upper_bound_kernel.cc
│ │ │ │ ├── map_id_kernels.cc
│ │ │ │ ├── merge_flow_dataset_kernel.cc
│ │ │ │ ├── multi_label_gen_kernel.cc
│ │ │ │ ├── negative_gen_dataset_kernel.cc
│ │ │ │ ├── negative_gen_dataset_kernel.h
│ │ │ │ ├── parquet_dataset_kernel.cc
│ │ │ │ ├── parse_example_lib.cc
│ │ │ │ ├── parse_example_lib.h
│ │ │ │ ├── parse_input_data_kernel.cc
│ │ │ │ ├── parse_sparse_feature.cc
│ │ │ │ ├── parse_sparse_feature.h
│ │ │ │ ├── pb_dataset_kernel.cc
│ │ │ │ ├── ragged_feature_kernel.cc
│ │ │ │ ├── scatter_label_kernel.cc
│ │ │ │ ├── split_flow_dataset_kernel.cc
│ │ │ │ ├── string_to_variant.cc
│ │ │ │ ├── tf_example_to_example_kernel.cc
│ │ │ │ ├── transform_dataset_kernel.cc
│ │ │ │ ├── transform_dataset_kernel.h
│ │ │ │ └── variant_filter_kernel.cc
│ │ │ ├── multi_flow_test.py
│ │ │ ├── negative_gen_test.py
│ │ │ ├── ops/
│ │ │ │ ├── feature_utils_ops.cc
│ │ │ │ ├── parse_input_data_ops.cc
│ │ │ │ └── pb_dataset_ops.cc
│ │ │ ├── parse_sparse_feature_test.py
│ │ │ ├── parsers.py
│ │ │ ├── test_data/
│ │ │ │ ├── BUILD
│ │ │ │ └── mhy.conf
│ │ │ ├── tf_example_to_example_test.py
│ │ │ ├── training_instance/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cc/
│ │ │ │ │ ├── cached_mem_pool.cc
│ │ │ │ │ ├── cached_mem_pool.h
│ │ │ │ │ ├── cached_mem_pool_test.cc
│ │ │ │ │ ├── data_format_options.h
│ │ │ │ │ ├── data_read_write_test.cc
│ │ │ │ │ ├── data_reader.cc
│ │ │ │ │ ├── data_reader.h
│ │ │ │ │ ├── data_writer.cc
│ │ │ │ │ ├── data_writer.h
│ │ │ │ │ ├── fid.h
│ │ │ │ │ ├── fid_test.cc
│ │ │ │ │ ├── instance_dataset_kernel.cc
│ │ │ │ │ ├── instance_dataset_ops.cc
│ │ │ │ │ ├── instance_processor.cc
│ │ │ │ │ ├── instance_reader.cc
│ │ │ │ │ ├── instance_utils.cc
│ │ │ │ │ ├── instance_utils.h
│ │ │ │ │ ├── instance_utils_test.cc
│ │ │ │ │ ├── parse_instance_kernel.cc
│ │ │ │ │ ├── parse_instance_lib.cc
│ │ │ │ │ ├── parse_instance_lib.h
│ │ │ │ │ ├── parse_instance_ops.cc
│ │ │ │ │ ├── pb_variant.cc
│ │ │ │ │ ├── pb_variant.h
│ │ │ │ │ ├── reader_util.cc
│ │ │ │ │ ├── reader_util.h
│ │ │ │ │ ├── reader_util_test.cc
│ │ │ │ │ ├── snappy_inputbuffer.cc
│ │ │ │ │ ├── snappy_inputbuffer.h
│ │ │ │ │ ├── ue_compress.cc
│ │ │ │ │ ├── ue_compress.h
│ │ │ │ │ ├── ue_compress_test.cc
│ │ │ │ │ ├── zstd_inputbuffer.cc
│ │ │ │ │ └── zstd_inputbuffer.h
│ │ │ │ └── python/
│ │ │ │ ├── instance_dataset_op.py
│ │ │ │ ├── instance_dataset_op_test_stdin.py
│ │ │ │ ├── instance_negative_gen_dataset_op_test.py
│ │ │ │ ├── parse_instance_ops.py
│ │ │ │ ├── parse_instance_ops_test.py
│ │ │ │ ├── parser_utils.py
│ │ │ │ ├── pb_datasource_ops.py
│ │ │ │ └── test_data_utils.py
│ │ │ ├── transform/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cc/
│ │ │ │ │ ├── transforms.cc
│ │ │ │ │ └── transforms.h
│ │ │ │ ├── transform_config.proto
│ │ │ │ ├── transforms.py
│ │ │ │ └── transforms_test.py
│ │ │ ├── transform_dataset_test.py
│ │ │ └── utils.py
│ │ ├── debugging/
│ │ │ ├── BUILD
│ │ │ ├── README.md
│ │ │ ├── debugging_client.py
│ │ │ └── debugging_server.py
│ │ ├── demo.py
│ │ ├── dense_reload_utils.py
│ │ ├── dense_reload_utils_test.py
│ │ ├── device_utils.py
│ │ ├── device_utils_test.py
│ │ ├── distribute/
│ │ │ ├── BUILD
│ │ │ ├── distributed_dataset.py
│ │ │ ├── distributed_dataset_test.py
│ │ │ ├── str_queue.py
│ │ │ └── str_queue_test.py
│ │ ├── distributed_ps.py
│ │ ├── distributed_ps_benchmark.py
│ │ ├── distributed_ps_factory.py
│ │ ├── distributed_ps_factory_test.py
│ │ ├── distributed_ps_sync.py
│ │ ├── distributed_ps_sync_test.py
│ │ ├── distributed_ps_test.py
│ │ ├── distributed_serving_ops.py
│ │ ├── distributed_serving_ops_test.py
│ │ ├── distribution_ops.py
│ │ ├── distribution_ops_benchmark.py
│ │ ├── distribution_ops_fused_benchmark.py
│ │ ├── distribution_ops_fused_test.py
│ │ ├── distribution_ops_test.py
│ │ ├── distribution_utils.py
│ │ ├── embedding_combiners.py
│ │ ├── embedding_combiners_test.py
│ │ ├── entry.py
│ │ ├── entry_test.py
│ │ ├── env_utils.py
│ │ ├── env_utils_test.py
│ │ ├── estimator.py
│ │ ├── estimator_dist_test.py
│ │ ├── estimator_mode_test.py
│ │ ├── estimator_test.py
│ │ ├── feature.py
│ │ ├── feature_test.py
│ │ ├── feature_utils.py
│ │ ├── feature_utils_test.py
│ │ ├── file_ops.py
│ │ ├── file_ops_test.py
│ │ ├── fountain/
│ │ │ ├── BUILD
│ │ │ └── README.md
│ │ ├── fused_embedding_to_layout_test.py
│ │ ├── gen_seq_mask.py
│ │ ├── gen_seq_mask_test.py
│ │ ├── gflags_utils.py
│ │ ├── gflags_utils_test.py
│ │ ├── graph_meta.py
│ │ ├── graph_utils.py
│ │ ├── hash_filter_ops.py
│ │ ├── hash_filter_ops_test.py
│ │ ├── hash_table_ops.proto
│ │ ├── hash_table_ops.py
│ │ ├── hash_table_ops_benchmark.py
│ │ ├── hash_table_ops_test.py
│ │ ├── hash_table_utils.py
│ │ ├── hash_table_utils_test.py
│ │ ├── hooks/
│ │ │ ├── BUILD
│ │ │ ├── ckpt_hooks.proto
│ │ │ ├── ckpt_hooks.py
│ │ │ ├── ckpt_hooks_test.py
│ │ │ ├── ckpt_info.py
│ │ │ ├── ckpt_info_test.py
│ │ │ ├── controller_hooks.proto
│ │ │ ├── controller_hooks.py
│ │ │ ├── controller_hooks_test.py
│ │ │ ├── feature_engineering_hooks.py
│ │ │ ├── hook_utils.py
│ │ │ ├── hook_utils_test.py
│ │ │ ├── ps_check_hooks.py
│ │ │ ├── ps_check_hooks_test.py
│ │ │ ├── server/
│ │ │ │ ├── BUILD
│ │ │ │ ├── client_lib.py
│ │ │ │ ├── constants.py
│ │ │ │ ├── server_lib.py
│ │ │ │ ├── server_lib_test.py
│ │ │ │ └── service.proto
│ │ │ ├── session_hooks.py
│ │ │ └── session_hooks_test.py
│ │ ├── hvd_lib.py
│ │ ├── input.py
│ │ ├── layers/
│ │ │ ├── BUILD
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── add_bias.py
│ │ │ ├── add_bias_test.py
│ │ │ ├── advanced_activations.py
│ │ │ ├── advanced_activations_test.py
│ │ │ ├── agru.py
│ │ │ ├── agru_test.py
│ │ │ ├── dense.py
│ │ │ ├── dense_test.py
│ │ │ ├── feature_cross.py
│ │ │ ├── feature_cross_test.py
│ │ │ ├── feature_seq.py
│ │ │ ├── feature_seq_test.py
│ │ │ ├── feature_trans.py
│ │ │ ├── feature_trans_test.py
│ │ │ ├── kernels/
│ │ │ │ ├── feature_insight_kernels.cc
│ │ │ │ ├── ffm_kernels.cc
│ │ │ │ ├── ffm_kernels.cu.cc
│ │ │ │ ├── ffm_kernels.h
│ │ │ │ └── fid_counter_kernel.cc
│ │ │ ├── layer_ops.py
│ │ │ ├── layer_ops_test.py
│ │ │ ├── lhuc.py
│ │ │ ├── lhuc_test.py
│ │ │ ├── logit_correction.py
│ │ │ ├── logit_correction_test.py
│ │ │ ├── mlp.py
│ │ │ ├── mlp_test.py
│ │ │ ├── multi_task.py
│ │ │ ├── multi_task_test.py
│ │ │ ├── norms.py
│ │ │ ├── norms_test.py
│ │ │ ├── ops/
│ │ │ │ ├── feature_insight_ops.cc
│ │ │ │ ├── ffm_ops.cc
│ │ │ │ ├── fid_counter_op.cc
│ │ │ │ └── nas_ops.cc
│ │ │ ├── pooling.py
│ │ │ ├── pooling_test.py
│ │ │ ├── sparse_nas.py
│ │ │ ├── sparse_nas_test.py
│ │ │ └── utils.py
│ │ ├── learning_rate_functions.py
│ │ ├── learning_rate_functions_test.py
│ │ ├── logging_ops.py
│ │ ├── logging_ops_test.py
│ │ ├── losses/
│ │ │ ├── BUILD
│ │ │ ├── batch_softmax_loss.py
│ │ │ ├── batch_softmax_loss_test.py
│ │ │ ├── inbatch_auc_loss.py
│ │ │ ├── inbatch_auc_loss_test.py
│ │ │ └── ltr_losses.py
│ │ ├── metric/
│ │ │ ├── BUILD
│ │ │ ├── cli.py
│ │ │ ├── deep_insight_ops.py
│ │ │ ├── deep_insight_ops_test.py
│ │ │ ├── exit_hook.py
│ │ │ ├── kafka_utils.py
│ │ │ ├── metric_hook.py
│ │ │ ├── metric_hook_test.py
│ │ │ ├── utils.py
│ │ │ └── utils_test.py
│ │ ├── mlp_utils.py
│ │ ├── model.py
│ │ ├── model_comp_test.py
│ │ ├── model_dump/
│ │ │ ├── BUILD
│ │ │ ├── dump_utils.py
│ │ │ ├── graph_utils.py
│ │ │ ├── graph_utils_test.py
│ │ │ └── monolith_model.proto
│ │ ├── model_export/
│ │ │ ├── BUILD
│ │ │ ├── __init__.py
│ │ │ ├── data_gen_utils.py
│ │ │ ├── data_gen_utils_test.py
│ │ │ ├── demo_export.py
│ │ │ ├── demo_export_test.py
│ │ │ ├── demo_predictor.py
│ │ │ ├── demo_predictor_client.py
│ │ │ ├── export.proto
│ │ │ ├── export_context.py
│ │ │ ├── export_hooks.py
│ │ │ ├── export_hooks_test.py
│ │ │ ├── export_state_utils.py
│ │ │ ├── export_state_utils_test.py
│ │ │ ├── export_utils.py
│ │ │ ├── export_utils_test.py
│ │ │ ├── saved_model_exporters.py
│ │ │ ├── saved_model_exporters_test.py
│ │ │ ├── saved_model_visulizer.py
│ │ │ ├── testdata/
│ │ │ │ ├── BUILD
│ │ │ │ └── saved_model/
│ │ │ │ ├── entry/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_0/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_1/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_2/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_3/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ └── ps_4/
│ │ │ │ └── 1622716114/
│ │ │ │ ├── assets/
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ └── variables/
│ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ └── variables.index
│ │ │ ├── warmup_data_decoder.py
│ │ │ ├── warmup_data_gen.py
│ │ │ └── warmup_example_batch.py
│ │ ├── monolith_checkpoint_state.proto
│ │ ├── monolith_export.py
│ │ ├── multi_hash_table_ops.proto
│ │ ├── multi_hash_table_ops.py
│ │ ├── multi_hash_table_ops_test.py
│ │ ├── multi_type_hash_table.py
│ │ ├── multi_type_hash_table_test.py
│ │ ├── native_model.py
│ │ ├── native_task.py
│ │ ├── native_task_context.py
│ │ ├── nested_tensors.py
│ │ ├── nested_tensors_test.py
│ │ ├── net_utils.py
│ │ ├── net_utils_test.py
│ │ ├── optimizers/
│ │ │ ├── BUILD
│ │ │ ├── adamom.py
│ │ │ ├── adamom_test.py
│ │ │ ├── cc/
│ │ │ │ ├── kernels/
│ │ │ │ │ ├── training_op_helpers.h
│ │ │ │ │ ├── training_ops.cc
│ │ │ │ │ ├── training_ops.h
│ │ │ │ │ └── training_ops_gpu.cu.cc
│ │ │ │ └── training_ops.cc
│ │ │ ├── rmsprop.py
│ │ │ ├── rmsprop_test.py
│ │ │ ├── rmspropv2_test.py
│ │ │ └── shampoo.py
│ │ ├── prefetch_queue.py
│ │ ├── prefetch_queue_test.py
│ │ ├── proto/
│ │ │ ├── BUILD
│ │ │ ├── ckpt_info.proto
│ │ │ ├── debugging_info.proto
│ │ │ └── primus_am_service.proto
│ │ ├── ps_benchmark.py
│ │ ├── ps_benchmark_test.py
│ │ ├── ragged_utils.py
│ │ ├── ragged_utils_test.py
│ │ ├── remote_predict_ops.py
│ │ ├── restore_test.py
│ │ ├── runner_utils.py
│ │ ├── runner_utils_test.py
│ │ ├── runtime/
│ │ │ ├── allocator/
│ │ │ │ ├── BUILD
│ │ │ │ ├── block_allocator.cc
│ │ │ │ ├── block_allocator.h
│ │ │ │ └── block_allocator_test.cc
│ │ │ ├── common/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cpu_info.cc
│ │ │ │ ├── cpu_info.h
│ │ │ │ ├── linalg_utils.h
│ │ │ │ ├── linalg_utils_test.cc
│ │ │ │ ├── metrics.cc
│ │ │ │ ├── metrics.h
│ │ │ │ └── metrics_test.cc
│ │ │ ├── concurrency/
│ │ │ │ ├── BUILD
│ │ │ │ ├── micro_one_bit_spin_lock.h
│ │ │ │ ├── queue.h
│ │ │ │ ├── queue_test.cc
│ │ │ │ ├── random_number_generator_benchmark.cc
│ │ │ │ ├── sleeper.h
│ │ │ │ ├── thread_pool.cc
│ │ │ │ ├── thread_pool.h
│ │ │ │ ├── xorshift.cc
│ │ │ │ ├── xorshift.h
│ │ │ │ └── xorshift_test.cc
│ │ │ ├── deep_insight/
│ │ │ │ ├── BUILD
│ │ │ │ ├── deep_insight.cc
│ │ │ │ ├── deep_insight.h
│ │ │ │ └── deep_insight_test.cc
│ │ │ ├── hash_filter/
│ │ │ │ ├── BUILD
│ │ │ │ ├── dummy_hash_filter.h
│ │ │ │ ├── filter.h
│ │ │ │ ├── hash_filter.cc
│ │ │ │ ├── hash_filter.h
│ │ │ │ ├── hash_filter_test.cc
│ │ │ │ ├── probabilistic_filter.cc
│ │ │ │ ├── probabilistic_filter.h
│ │ │ │ ├── probabilistic_filter_test.cc
│ │ │ │ ├── sliding_hash_filter.cc
│ │ │ │ ├── sliding_hash_filter.h
│ │ │ │ ├── sliding_hash_filter_test.cc
│ │ │ │ └── types.h
│ │ │ ├── hash_table/
│ │ │ │ ├── BUILD
│ │ │ │ ├── compressor/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── fake_quantizer.h
│ │ │ │ │ ├── fake_quantizer_test.cc
│ │ │ │ │ ├── float_compressor.cc
│ │ │ │ │ ├── float_compressor.h
│ │ │ │ │ ├── float_compressor.proto
│ │ │ │ │ ├── float_compressor_test.cc
│ │ │ │ │ ├── hash_net_quantizer.h
│ │ │ │ │ └── hash_net_quantizer_test.cc
│ │ │ │ ├── cuckoohash/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── CUCKOO_ORIGINAL_LICENSE
│ │ │ │ │ ├── bucket_container.hpp
│ │ │ │ │ ├── cuckoo_embedding_hash_table.cc
│ │ │ │ │ ├── cuckoo_embedding_hash_table.h
│ │ │ │ │ ├── cuckoo_embedding_hash_table_benchmark.cc
│ │ │ │ │ ├── cuckoo_embedding_hash_table_test.cc
│ │ │ │ │ ├── cuckoohash_config.hpp
│ │ │ │ │ ├── cuckoohash_map.hpp
│ │ │ │ │ └── cuckoohash_util.hpp
│ │ │ │ ├── embedding_hash_table.proto
│ │ │ │ ├── embedding_hash_table_factory.cc
│ │ │ │ ├── embedding_hash_table_factory.h
│ │ │ │ ├── embedding_hash_table_interface.h
│ │ │ │ ├── embedding_hash_table_test.h
│ │ │ │ ├── entry_accessor.cc
│ │ │ │ ├── entry_accessor.h
│ │ │ │ ├── entry_accessor_decorator.h
│ │ │ │ ├── entry_accessor_test.cc
│ │ │ │ ├── entry_defs.h
│ │ │ │ ├── entry_defs_test.cc
│ │ │ │ ├── hash_table_benchmark.cc
│ │ │ │ ├── initializer/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── constants_initializer.cc
│ │ │ │ │ ├── constants_initializer.h
│ │ │ │ │ ├── initializer_combination.cc
│ │ │ │ │ ├── initializer_combination.h
│ │ │ │ │ ├── initializer_combination_test.cc
│ │ │ │ │ ├── initializer_config.proto
│ │ │ │ │ ├── initializer_factory.cc
│ │ │ │ │ ├── initializer_factory.h
│ │ │ │ │ ├── initializer_interface.h
│ │ │ │ │ ├── random_uniform_initializer.cc
│ │ │ │ │ ├── random_uniform_initializer.h
│ │ │ │ │ └── random_uniform_initializer_test.cc
│ │ │ │ ├── optimizer/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── adadelta_optimizer.cc
│ │ │ │ │ ├── adadelta_optimizer.h
│ │ │ │ │ ├── adadelta_optimizer_test.cc
│ │ │ │ │ ├── adagrad_optimizer.cc
│ │ │ │ │ ├── adagrad_optimizer.h
│ │ │ │ │ ├── adagrad_optimizer_test.cc
│ │ │ │ │ ├── adam_optimizer.cc
│ │ │ │ │ ├── adam_optimizer.h
│ │ │ │ │ ├── adam_optimizer_test.cc
│ │ │ │ │ ├── amsgrad_optimizer.cc
│ │ │ │ │ ├── amsgrad_optimizer.h
│ │ │ │ │ ├── amsgrad_optimizer_test.cc
│ │ │ │ │ ├── avx_benchmark.cc
│ │ │ │ │ ├── avx_test.cc
│ │ │ │ │ ├── avx_utils.h
│ │ │ │ │ ├── batch_softmax_optimizer.cc
│ │ │ │ │ ├── batch_softmax_optimizer.h
│ │ │ │ │ ├── batch_softmax_optimizer_test.cc
│ │ │ │ │ ├── dc_optimizer.cc
│ │ │ │ │ ├── dc_optimizer.h
│ │ │ │ │ ├── dc_optimizer_test.cc
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer.cc
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer.h
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer_test.cc
│ │ │ │ │ ├── dynamic_wd_avx_test.cc
│ │ │ │ │ ├── dynamic_wd_avx_utils.h
│ │ │ │ │ ├── ftrl_optimizer.cc
│ │ │ │ │ ├── ftrl_optimizer.h
│ │ │ │ │ ├── ftrl_optimizer_test.cc
│ │ │ │ │ ├── group_adagrad_optimizer.cc
│ │ │ │ │ ├── group_adagrad_optimizer.h
│ │ │ │ │ ├── group_adagrad_optimizer_test.cc
│ │ │ │ │ ├── group_ftrl_optimizer.cc
│ │ │ │ │ ├── group_ftrl_optimizer.h
│ │ │ │ │ ├── group_ftrl_optimizer_test.cc
│ │ │ │ │ ├── momentum_optimizer.cc
│ │ │ │ │ ├── momentum_optimizer.h
│ │ │ │ │ ├── momentum_optimizer_test.cc
│ │ │ │ │ ├── moving_average_optimizer.cc
│ │ │ │ │ ├── moving_average_optimizer.h
│ │ │ │ │ ├── moving_average_optimizer_test.cc
│ │ │ │ │ ├── optimizer.proto
│ │ │ │ │ ├── optimizer_combination.cc
│ │ │ │ │ ├── optimizer_combination.h
│ │ │ │ │ ├── optimizer_combination_test.cc
│ │ │ │ │ ├── optimizer_decorator.h
│ │ │ │ │ ├── optimizer_factory.cc
│ │ │ │ │ ├── optimizer_factory.h
│ │ │ │ │ ├── optimizer_interface.h
│ │ │ │ │ ├── rmsprop_optimizer.cc
│ │ │ │ │ ├── rmsprop_optimizer.h
│ │ │ │ │ ├── rmsprop_optimizer_test.cc
│ │ │ │ │ ├── sgd_optimizer.cc
│ │ │ │ │ ├── sgd_optimizer.h
│ │ │ │ │ ├── sgd_optimizer_test.cc
│ │ │ │ │ ├── stochastic_rounding.cc
│ │ │ │ │ ├── stochastic_rounding.h
│ │ │ │ │ ├── stochastic_rounding_test.cc
│ │ │ │ │ └── test_utils.h
│ │ │ │ ├── quantized_entry_accessor.h
│ │ │ │ ├── quantized_entry_accessor_test.cc
│ │ │ │ ├── retriever/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── fake_quant_retriever.cc
│ │ │ │ │ ├── fake_quant_retriever.h
│ │ │ │ │ ├── fake_quant_retriever_test.cc
│ │ │ │ │ ├── hash_net_retriever.cc
│ │ │ │ │ ├── hash_net_retriever.h
│ │ │ │ │ ├── hash_net_retriever_test.cc
│ │ │ │ │ ├── raw_retriever.cc
│ │ │ │ │ ├── raw_retriever.h
│ │ │ │ │ ├── raw_retriever_test.cc
│ │ │ │ │ ├── retriever_base.h
│ │ │ │ │ ├── retriever_combination.cc
│ │ │ │ │ ├── retriever_combination.h
│ │ │ │ │ ├── retriever_combination_test.cc
│ │ │ │ │ └── retriever_interface.h
│ │ │ │ ├── utils.h
│ │ │ │ └── workspace.bzl
│ │ │ ├── hopscotch/
│ │ │ │ ├── BUILD
│ │ │ │ ├── hopscotch_hash_set.cc
│ │ │ │ ├── hopscotch_hash_set.h
│ │ │ │ └── hopscotch_hash_set_test.cc
│ │ │ ├── ops/
│ │ │ │ ├── BUILD
│ │ │ │ ├── agent_heartbeat.cc
│ │ │ │ ├── agent_heartbeat.h
│ │ │ │ ├── agent_heartbeat_test.cc
│ │ │ │ ├── aligned_concat_split.cu.cc
│ │ │ │ ├── alloc_utils.h
│ │ │ │ ├── clip_by_global_norm.cu.cc
│ │ │ │ ├── clip_by_global_norm.h
│ │ │ │ ├── clip_by_global_norm_fused.cu.cc
│ │ │ │ ├── clip_by_global_norm_op.cc
│ │ │ │ ├── deep_insight_client_tf_bridge.h
│ │ │ │ ├── deep_insight_ops.cc
│ │ │ │ ├── embedding_hash_table_tf_bridge.cc
│ │ │ │ ├── embedding_hash_table_tf_bridge.h
│ │ │ │ ├── file_metric_writer.cc
│ │ │ │ ├── file_metric_writer.h
│ │ │ │ ├── file_metric_writer_test.cc
│ │ │ │ ├── file_ops.cc
│ │ │ │ ├── file_utils.cc
│ │ │ │ ├── file_utils.h
│ │ │ │ ├── file_utils_test.cc
│ │ │ │ ├── fused_embedding_to_layout.cc
│ │ │ │ ├── fused_embedding_to_layout.cu.cc
│ │ │ │ ├── fused_embedding_to_layout.h
│ │ │ │ ├── fused_reorder_by_indices.cc
│ │ │ │ ├── gen_monolith_ops.py
│ │ │ │ ├── gen_seq_mask.cc
│ │ │ │ ├── global_norm.cu.cc
│ │ │ │ ├── gpu_multi_hash_table.h
│ │ │ │ ├── hash_filter_intercept_gradient_op.cc
│ │ │ │ ├── hash_filter_op.cc
│ │ │ │ ├── hash_filter_restore_op.cc
│ │ │ │ ├── hash_filter_save_op.cc
│ │ │ │ ├── hash_filter_tf_bridge.cc
│ │ │ │ ├── hash_filter_tf_bridge.h
│ │ │ │ ├── hash_table/
│ │ │ │ │ └── misc_ops.cc
│ │ │ │ ├── hash_table_lookup_op.cc
│ │ │ │ ├── hash_table_op.cc
│ │ │ │ ├── hash_table_restore_op.cc
│ │ │ │ ├── hash_table_save_op.cc
│ │ │ │ ├── hash_table_update_op.cc
│ │ │ │ ├── inbatch_auc_loss.cc
│ │ │ │ ├── logging_ops.cc
│ │ │ │ ├── logging_ops.proto
│ │ │ │ ├── map_id_to_embedding.cu.cc
│ │ │ │ ├── map_id_to_embedding_op.cc
│ │ │ │ ├── multi_hash_table.h
│ │ │ │ ├── multi_hash_table_lookup_op.cc
│ │ │ │ ├── multi_hash_table_op.cc
│ │ │ │ ├── multi_hash_table_save_restore_ops.cc
│ │ │ │ ├── multi_hash_table_update_op.cc
│ │ │ │ ├── net_utils.cc
│ │ │ │ ├── net_utils.h
│ │ │ │ ├── net_utils_test.cc
│ │ │ │ ├── normalize_merged_split_op.cc
│ │ │ │ ├── parameter_sync_ops.cc
│ │ │ │ ├── parameter_sync_tf_bridge.cc
│ │ │ │ ├── parameter_sync_tf_bridge.h
│ │ │ │ ├── prediction_service_grpc.cc
│ │ │ │ ├── prediction_service_grpc.h
│ │ │ │ ├── reduce_op.cc
│ │ │ │ ├── reduce_op.cu.cc
│ │ │ │ ├── remote_predict_op.h
│ │ │ │ ├── remote_predict_op_grpc.cc
│ │ │ │ ├── split_by_indices_op.cc
│ │ │ │ ├── static_reshape_op.cc
│ │ │ │ ├── touched_key_set_insert_op.cc
│ │ │ │ ├── touched_key_set_op.cc
│ │ │ │ ├── touched_key_set_steal_op.cc
│ │ │ │ ├── touched_key_set_tf_bridge.h
│ │ │ │ └── unique_mapping_ops.cc
│ │ │ └── parameter_sync/
│ │ │ ├── BUILD
│ │ │ ├── dummy_sync_client.h
│ │ │ ├── dummy_sync_server.cc
│ │ │ ├── dummy_sync_server.h
│ │ │ ├── parameter_sync.proto
│ │ │ ├── parameter_sync_client.cc
│ │ │ ├── parameter_sync_client.h
│ │ │ ├── parameter_sync_client_test.cc
│ │ │ ├── request_splitter.cc
│ │ │ ├── request_splitter.h
│ │ │ ├── request_splitter_test.cc
│ │ │ ├── sync_client_interface.h
│ │ │ ├── sync_client_manager.cc
│ │ │ └── sync_client_manager.h
│ │ ├── save_utils.py
│ │ ├── save_utils_test.py
│ │ ├── service_discovery.py
│ │ ├── service_discovery_test.py
│ │ ├── serving_ps_test.py
│ │ ├── session_run_hooks.py
│ │ ├── session_run_hooks_test.py
│ │ ├── signal_utils.py
│ │ ├── signal_utils_test.py
│ │ ├── static_reshape_op.py
│ │ ├── static_reshape_op_test.py
│ │ ├── summary/
│ │ │ ├── BUILD
│ │ │ ├── summary_ops.py
│ │ │ ├── summary_ops_test.py
│ │ │ ├── utils.py
│ │ │ └── utils_test.py
│ │ ├── sync_hooks.py
│ │ ├── sync_hooks_test.py
│ │ ├── sync_training_hooks.py
│ │ ├── sync_training_hooks_test.py
│ │ ├── tensor_utils.py
│ │ ├── tensor_utils_test.py
│ │ ├── test_utils.py
│ │ ├── touched_key_set_ops.py
│ │ ├── touched_key_set_ops_test.py
│ │ ├── utils.py
│ │ ├── utils_test.py
│ │ ├── variables.py
│ │ ├── variables_test.py
│ │ ├── yarn_runtime.py
│ │ ├── yarn_runtime_test.py
│ │ └── zk_utils.py
│ ├── path_utils.py
│ ├── tf_serving_workspace.bzl
│ ├── tpu_runner.py
│ ├── utils.py
│ └── utils_test.py
└── third_party/
├── BUILD
├── arrow.BUILD
├── brotli.BUILD
├── bzip2.BUILD
├── cli11/
│ ├── BUILD
│ ├── CLI11.hpp
│ └── current_version
├── cuCollections.patch
├── cuco.BUILD
├── dpssdk.BUILD
├── eigen3/
│ ├── README.txt
│ └── eigen_gcc6.patch
├── gperftools/
│ ├── gperftools.BUILD
│ └── gperftools.patch
├── half_sourceforge_net/
│ ├── BUILD
│ └── half.hpp
├── jemalloc/
│ ├── VERSION
│ └── jeprof
├── kafka.BUILD
├── libdata_java_model_training.BUILD
├── lz4.BUILD
├── msgpack/
│ └── msgpack.BUILD
├── nlohmann/
│ ├── BUILD
│ └── json.hpp
├── org_apache_zookeeper/
│ ├── BUILD
│ ├── Makefile.in
│ ├── config.guess
│ ├── config.h.in
│ ├── config.sub
│ ├── configure
│ ├── generated/
│ │ ├── zookeeper.jute.c
│ │ └── zookeeper.jute.h
│ ├── install-sh
│ ├── ltmain.sh
│ ├── missing
│ ├── zookeeper-client-c.BUILD
│ └── zookeeper.bzl
├── org_tensorflow/
│ ├── README.md
│ └── tf.patch
├── org_tensorflow_serving/
│ ├── public_tf_serving.patch
│ └── support_diff_dim_size_inputs.patch
├── pip_deps/
│ ├── BUILD
│ └── requirements.txt
├── rapidjson.BUILD
├── repo.bzl
├── tcmalloc/
│ └── libtcmalloc_minimal.so.4.3.0
├── thrift.BUILD
├── tlearner_arch.BUILD
├── upb.patch
├── xsimd.BUILD
└── zstd.BUILD
================================================
FILE CONTENTS
================================================
================================================
FILE: .bazelrc
================================================
# Copied from https://github.com/tensorflow/serving/blob/master/.bazelrc
# Some entries are commented to fit to ByteDance environment
# Options used to build with CUDA.
build:cuda --repo_env TF_NEED_CUDA=1
build:cuda --crosstool_top=@local_config_cuda//crosstool:toolchain
build:cuda --define=using_cuda=true --define=using_cuda_nvcc=true
# build:cuda --action_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_50,sm_60,sm_70,sm_75,compute_80"
# Just compile for V100 and T4 and A100 for development:
build:cuda --action_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_70,sm_75,compute_80"
# Explicitly specify "local" here to avoid sandboxed for local.
# Use ./configure to create .monolith_configure.bazelrc to enable build from remote buildfarm.
build --spawn_strategy=local
build --define=grpc_no_ares=true
# Sets the default Apple platform to macOS.
build --apple_platform_type=macos
build -c opt
# LLVM, MLIR and TF require C++14.
build --cxxopt=-std=c++14
build --host_cxxopt=-std=c++14
# preventing relocation overflow error
build:dbg --copt=-gsplit-dwarf
# dbg config, copied from tensorflow v2.4.0
build:dbg -c dbg
# for now, disable arm_neon. see: https://github.com/tensorflow/tensorflow/issues/33360
build:dbg --cxxopt -DTF_LITE_DISABLE_X86_NEON
# AWS SDK must be compiled in release mode. see: https://github.com/tensorflow/tensorflow/issues/37498
build:dbg --copt -DDEBUG_BUILD
# Adding "--cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0" creates parity with TF
# compilation options. It also addresses memory use due to
# copy-on-write semantics of std::strings of the older ABI.
build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0
build --experimental_repo_remote_exec
### end ###
fetch --experimental_repo_remote_exec
query --experimental_repo_remote_exec
build --genrule_strategy=local
# Make it default to TF2
build --define=tf_api_version=2
build --action_env=TF2_BEHAVIOR=1
# Horovod requires dynamic load on shared object.
build --define=framework_shared_object=true
# Some optimization config.
build --define=open_source_build=true
build --define=use_fast_cpp_protos=true
build --define=allow_oversize_protos=true
build --define=with_xla_support=true
# Some native optimizations
build --copt=-O3
build --copt=-mavx
build --copt=-mavx2
build --copt=-mfma
build --copt=-msse4.1
build --copt=-msse4.2
# TF currently relies on some bazel deprecated behavior, removes theses options
# once TF fixes bugs.
build --noincompatible_remove_legacy_whole_archive --noincompatible_prohibit_aapt1
# Import user configured options (e.g., like building cluster)
try-import %workspace%/.monolith_configure.bazelrc
# Import bazel 4 compatible options
try-import %workspace%/.bazel4-compatible.bazelrc
================================================
FILE: .gitignore
================================================
# Ignore .DS_Store
.DS_Store
fid_mapping/.DS_Store
fid_analysis/.DS_Store
# Ignore some test data files
fid_mapping/test_data.gz
fid_mapping/downloaded/*
fid_analysis/downloaded/*
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
# C extensions
*.so
# Distribution / packaging
.Python
.env
venv/
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Bazel binary folders
/bazel-*
/.vscode
# Jupyter noteobok
.ipynb_checkpoints
# go
vendor/
================================================
FILE: LICENSE
================================================
Copyright 2022 ByteDance and/or its affiliates
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
======
Monolith project incorporates components or files from the following third project:
===
alibaba/x-deeplearning (https://github.com/alibaba/x-deeplearning)
SPDX-License-Identifier: Apache-2.0
===
Apache ZooKeeper
Copyright: Copyright 2009-2022 The Apache Software Foundation
SPDX-License-Identifier: Apache-2.0
===
apache/singa
Copyright: Copyright 2017 The Apache Software Foundation
SPDX-License-Identifier: Apache-2.0
===
Folly (https://github.com/facebook/folly)
SPDX-License-Identifier: Apache-2.0
===
Libcuckoo
Copyright:
SPDX-License-Identifier: Apache-2.0
===
Lingvo
Copyright:
SPDX-License-Identifier: Apache-2.0
===
TensorFlow
Copyright:
SPDX-License-Identifier: Apache-2.0
===
tiny-dnn
Copyright:
All contributions by Taiga Nomi
Copyright (c) 2013, Taiga Nomi
All rights reserved.
All other contributions:
Copyright (c) 2013-2016, the respective contributors.
All rights reserved.
Each contributor holds copyright over their respective contributions.
The project versioning (Git) records all such contribution source information.
SPDX-License-Identifier: BSD 3-Clause
===
brotli
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
SPDX-License-Identifier: MIT
===
================================================
FILE: README.md
================================================
Monolith
## What is it?
[Monolith](https://arxiv.org/abs/2209.07663) is a deep learning framework for large scale recommendation modeling. It introduces two important features which are crucial for advanced recommendation system:
* collisionless embedding tables guarantees unique represeantion for different id features
* real time training captures the latest hotspots and help users to discover new intersts rapidly
Monolith is built on the top of TensorFlow and supports batch/real-time training and serving.
## Discussion Group
### Join us at Discord
https://discord.gg/QYTDeKxGMX
## Quick start
### Build from source
Currently, we only support compilation on the Linux.
First, download bazel 3.1.0
```bash
wget https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-installer-linux-x86_64.sh && \
chmod +x bazel-3.1.0-installer-linux-x86_64.sh && \
./bazel-3.1.0-installer-linux-x86_64.sh && \
rm bazel-3.1.0-installer-linux-x86_64.sh
```
Then, prepare a python environment
```bash
pip install -U --user pip numpy wheel packaging requests opt_einsum
pip install -U --user keras_preprocessing --no-deps
```
Finally, you can build any target in the monolith.
For example,
```bash
bazel run //monolith/native_training:demo --output_filter=IGNORE_LOGS
```
### Demo and tutorials
There are a tutorial in [markdown/demo](markdown/demo) on how to run distributed async training, and few guides on how to use the `MonolithModel` API [here](markdown).
================================================
FILE: WORKSPACE
================================================
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_python",
sha256 = "b6d46438523a3ec0f3cead544190ee13223a52f6a6765a29eae7b7cc24cc83a0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.1.0/rules_python-0.1.0.tar.gz",
)
http_archive(
name = "rules_foreign_cc",
sha256 = "c2cdcf55ffaf49366725639e45dedd449b8c3fe22b54e31625eb80ce3a240f1e",
strip_prefix = "rules_foreign_cc-0.1.0",
url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.1.0.zip",
)
load("@rules_foreign_cc//:workspace_definitions.bzl", "rules_foreign_cc_dependencies")
# This sets up some common toolchains for building targets. For more details, please see
# https://bazelbuild.github.io/rules_foreign_cc/0.1.0/#rules_foreign_cc_dependencies
rules_foreign_cc_dependencies()
load("//monolith:monolith_workspace.bzl", "monolith_workspace")
monolith_workspace()
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
# This is an unofficial boost build but it is useful.
git_repository(
name = "com_github_nelhage_rules_boost",
commit = "1e3a69bf2d5cd10c34b74f066054cd335d033d71",
remote = "https://github.com/nelhage/rules_boost",
shallow_since = "1591047380 -0700",
)
load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps")
boost_deps()
http_archive(
name = "org_tensorflow_serving",
patch_args = ["-p1"],
patches = [
"//third_party:org_tensorflow_serving/public_tf_serving.patch",
"//third_party:org_tensorflow_serving/support_diff_dim_size_inputs.patch",
],
sha256 = "8c1a4d31ec7ab041b9302348a01422e21349507c7a6f0974639386c8901b721b",
strip_prefix = "serving-2.4.0",
url = "https://github.com/tensorflow/serving/archive/2.4.0.tar.gz",
)
# To update TensorFlow to a new revision.
# 1. Update the 'git_commit' args below to include the new git hash.
# 2. Get the sha256 hash of the archive with a command such as...
# curl -L https://github.com/tensorflow/tensorflow/archive/<git hash>.tar.gz | sha256sum
# and update the 'sha256' arg with the result.
# 3. Request the new archive to be mirrored on mirror.bazel.build for more
# reliable downloads.
load("@org_tensorflow_serving//tensorflow_serving:repo.bzl", "tensorflow_http_archive")
# Tensorflow 2.4.0
tensorflow_http_archive(
name = "org_tensorflow",
git_commit = "582c8d236cb079023657287c318ff26adb239002",
patch = "//third_party:org_tensorflow/tf.patch",
sha256 = "9c94bfec7214853750c7cacebd079348046f246ec0174d01cd36eda375117628",
)
http_archive(
name = "rules_pkg",
sha256 = "352c090cc3d3f9a6b4e676cf42a6047c16824959b438895a76c2989c6d7c246a",
url = "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.5/rules_pkg-0.2.5.tar.gz",
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
load(
"@org_tensorflow//third_party/toolchains/preconfig/generate:archives.bzl",
"bazel_toolchains_archive",
)
bazel_toolchains_archive()
load(
"@bazel_toolchains//repositories:repositories.bzl",
bazel_toolchains_repositories = "repositories",
)
bazel_toolchains_repositories()
# START: Upstream TensorFlow dependencies
# TensorFlow build depends on these dependencies.
# Needs to be in-sync with TensorFlow sources.
http_archive(
name = "io_bazel_rules_closure",
sha256 = "5b00383d08dd71f28503736db0500b6fb4dda47489ff5fc6bed42557c07c6ba9",
strip_prefix = "rules_closure-308b05b2419edb5c8ee0471b67a40403df940149",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz",
"https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz", # 2019-06-13
],
)
http_archive(
name = "bazel_skylib",
sha256 = "1dde365491125a3db70731e25658dfdd3bc5dbdfd11b840b3e987ecf043c7ca0",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/0.9.0/bazel_skylib-0.9.0.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/0.9.0/bazel_skylib-0.9.0.tar.gz",
],
) # https://github.com/bazelbuild/bazel-skylib/releases
# END: Upstream TensorFlow dependencies
# Please add all new TensorFlow Serving and Archon dependencies in workspace.bzl.
load("//monolith:tf_serving_workspace.bzl", "tf_serving_workspace")
tf_serving_workspace()
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()
# Specify the minimum required bazel version.
load("@org_tensorflow//tensorflow:version_check.bzl", "check_bazel_version_at_least")
check_bazel_version_at_least("3.0.0")
# GPRC deps, required to match TF's. Only after calling tf_serving_workspace()
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
http_archive(
name = "upb",
patch_args = ["-p1"],
patches = ["//third_party:upb.patch"],
sha256 = "61d0417abd60e65ed589c9deee7c124fe76a4106831f6ad39464e1525cef1454",
strip_prefix = "upb-9effcbcb27f0a665f9f345030188c0b291e32482",
url = "https://github.com/protocolbuffers/upb/archive/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz",
)
load("@upb//bazel:repository_defs.bzl", "bazel_version_repository")
bazel_version_repository(name = "bazel_version")
# Hedron's Compile Commands Extractor for Bazel
# https://github.com/hedronvision/bazel-compile-commands-extractor
http_archive(
name = "hedron_compile_commands",
strip_prefix = "bazel-compile-commands-extractor-79f8dcae6b451abb97fe76853c867792ac9ac703",
# Replace the commit hash in both places (below) with the latest, rather than using the stale one here.
# Even better, set up Renovate and let it do the work for you (see "Suggestion: Updates" in the README).
url = "https://github.com/hedronvision/bazel-compile-commands-extractor/archive/79f8dcae6b451abb97fe76853c867792ac9ac703.tar.gz",
# When you first run this tool, it'll recommend a sha256 hash to put here with a message like: "DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = ..."
)
load("@hedron_compile_commands//:workspace_setup.bzl", "hedron_compile_commands_setup")
hedron_compile_commands_setup()
http_archive(
name = "zstd",
build_file = "//third_party:zstd.BUILD",
sha256 = "a364f5162c7d1a455cc915e8e3cf5f4bd8b75d09bc0f53965b0c9ca1383c52c8",
strip_prefix = "zstd-1.4.4",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/facebook/zstd/archive/v1.4.4.tar.gz",
"https://github.com/facebook/zstd/archive/v1.4.4.tar.gz",
],
)
http_archive(
name = "lz4",
build_file = "//third_party:lz4.BUILD",
sha256 = "658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc",
strip_prefix = "lz4-1.9.2",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/lz4/lz4/archive/v1.9.2.tar.gz",
"https://github.com/lz4/lz4/archive/v1.9.2.tar.gz",
],
)
http_archive(
name = "kafka",
build_file = "//third_party:kafka.BUILD",
patch_cmds = [
"rm -f src/win32_config.h",
# TODO: Remove the fowllowing once librdkafka issue is resolved.
"""sed -i.bak '\\|rd_kafka_log(rk,|,/ exceeded);/ s/^/\\/\\//' src/rdkafka_cgrp.c""",
],
sha256 = "f7fee59fdbf1286ec23ef0b35b2dfb41031c8727c90ced6435b8cf576f23a656",
strip_prefix = "librdkafka-1.5.0",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/edenhill/librdkafka/archive/v1.5.0.tar.gz",
"https://github.com/edenhill/librdkafka/archive/v1.5.0.tar.gz",
],
)
load("//third_party:repo.bzl", "tf_http_archive")
tf_http_archive(
name = "cuCollections",
build_file = "//third_party:cuco.BUILD",
patch_file = "//third_party:cuCollections.patch",
sha256 = "2e059ea1ae18173c5cc3f00989b114c431af78c674f92e35bed56367a9b8b186",
strip_prefix = "cuCollections-1e3c5842c6e212e0bd7de9802af583e53009f4a6",
urls = [
"https://github.com/NVIDIA/cuCollections/archive/1e3c5842c6e212e0bd7de9802af583e53009f4a6.zip",
"https://github.com/NVIDIA/cuCollections/archive/1e3c5842c6e212e0bd7de9802af583e53009f4a6.zip",
],
)
http_archive(
name = "arrow",
build_file = "//third_party:arrow.BUILD",
sha256 = "57e13c62f27b710e1de54fd30faed612aefa22aa41fa2c0c3bacd204dd18a8f3",
strip_prefix = "arrow-apache-arrow-7.0.0",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/apache/arrow/archive/apache-arrow-7.0.0.tar.gz",
"https://github.com/apache/arrow/archive/apache-arrow-7.0.0.tar.gz",
],
)
# extra dependencies of arrow begin
http_archive(
name = "rapidjson",
build_file = "//third_party:rapidjson.BUILD",
sha256 = "30bd2c428216e50400d493b38ca33a25efb1dd65f79dfc614ab0c957a3ac2c28",
strip_prefix = "rapidjson-418331e99f859f00bdc8306f69eba67e8693c55e",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/miloyip/rapidjson/archive/418331e99f859f00bdc8306f69eba67e8693c55e.tar.gz",
"https://github.com/miloyip/rapidjson/archive/418331e99f859f00bdc8306f69eba67e8693c55e.tar.gz",
],
)
http_archive(
name = "xsimd",
build_file = "//third_party:xsimd.BUILD",
sha256 = "21b4700e9ef70f6c9a86952047efd8272317df4e6fee35963de9394fd9c5677f",
strip_prefix = "xsimd-8.0.1",
urls = [
"https://github.com/xtensor-stack/xsimd/archive/refs/tags/8.0.1.tar.gz",
],
)
http_archive(
name = "brotli",
build_file = "//third_party:brotli.BUILD",
sha256 = "4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c",
strip_prefix = "brotli-1.0.7",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/brotli/archive/v1.0.7.tar.gz",
"https://github.com/google/brotli/archive/v1.0.7.tar.gz",
],
)
http_archive(
name = "bzip2",
build_file = "//third_party:bzip2.BUILD",
sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269",
strip_prefix = "bzip2-1.0.8",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz",
"https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz",
],
)
http_archive(
name = "thrift",
build_file = "//third_party:thrift.BUILD",
sha256 = "5da60088e60984f4f0801deeea628d193c33cec621e78c8a43a5d8c4055f7ad9",
strip_prefix = "thrift-0.13.0",
urls = [
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/apache/thrift/archive/v0.13.0.tar.gz",
"https://github.com/apache/thrift/archive/v0.13.0.tar.gz",
],
)
# extra dependencies of arrow end
================================================
FILE: conf/BUILD
================================================
package(
default_visibility = ["//visibility:public"],
)
filegroup(
name = "serving",
srcs = glob([
"*.properties",
"*.conf",
"*.cfg",
]),
)
================================================
FILE: deploy/.dockerignore
================================================
# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file
# Ignore all files which are not go type
!**/*.go
!**/*.mod
!**/*.sum
================================================
FILE: deploy/.gitignore
================================================
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
bin
testbin/*
# Test binary, build with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Kubernetes Generated files - skip generated files, except for vendored files
!vendor/**/zz_generated.*
# editor and IDE paraphernalia
.idea
*.swp
*.swo
*~
================================================
FILE: deploy/.golangci.yaml
================================================
# This file contains all available configuration options
# with their default values.
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# include test files or not, default is true
tests: false
# list of build tags, all linters use it. Default is empty list.
build-tags: []
# which dirs to skip: issues from them won't be reported;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but default dirs are skipped independently
# from this option's value (see skip-dirs-use-default).
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
skip-dirs:
- common/model/api
- test
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
# no need to include all autogenerated files, we confidently recognize
# autogenerated files. If it's not please let us know.
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
skip-files:
- ".*_gen.go"
- "k-*.go"
# Allow multiple parallel golangci-lint instances running.
# If false (default) - golangci-lint acquires file lock on start.
allow-parallel-runners: false
# output configuration options
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions
# default is "colored-line-number"
format: colored-line-number
# print lines of code with issue, default is true
print-issued-lines: true
# print linter name in the end of issue text, default is true
print-linter-name: true
# make issues output unique by line, default is true
uniq-by-line: true
# add a prefix to the output file references; default is no prefix
path-prefix: ""
# sorts results by: filepath, line and column
sort-results: false
linters-settings:
dupl:
threshold: 100
funlen:
lines: 120
statements: 70
goconst:
min-len: 2
min-occurrences: 2
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- dupImport # https://github.com/go-critic/go-critic/issues/845
- ifElseChain
- octalLiteral
- whyNoLint
- wrapperFunc
gocognit:
min-complexity: 15
gomnd:
settings:
mnd:
# don't include the "operation" and "assign"
checks: [argument, case, condition, return]
govet:
check-shadowing: true
lll:
line-length: 120
misspell:
locale: US
nolintlint:
allow-leading-space: true # don't require machine-readable nolint directives (i.e. with no leading space)
allow-unused: false # report any unused nolint directives
require-explanation: false # don't require an explanation for nolint directives
linters:
# please, do not use `enable-all`: it's deprecated and will be removed soon.
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
disable-all: true
enable:
- bodyclose
- deadcode
- dogsled
- dupl
- errcheck
- exportloopref
- exhaustive
- funlen
- gochecknoinits
- goconst
- gocritic
- gofmt
- goimports
- gomnd
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- lll
- misspell
- nakedret
- noctx
- nolintlint
- rowserrcheck
- staticcheck
- structcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- varcheck
- whitespace
- wrapcheck
- gocognit
- asciicheck
- nestif
- sqlclosecheck
- prealloc
# don't enable:
# - scopelint
# - gochecknoglobals
# - godot
# - godox
# - goerr113
# - golint
# - interfacer
# - maligned
# - testpackage
# - revive
# - wsl
issues:
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
- path: _test\.go
linters:
- gomnd
# https://github.com/go-critic/go-critic/issues/926
- linters:
- gocritic
text: "unnecessaryDefer:"
- linters:
- stylecheck
text: "ST1003:"
================================================
FILE: deploy/Dockerfile
================================================
# Build the manager binary
FROM golang:1.15 as builder
WORKDIR /workspace
# Copy the Go Modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
# and so that source changes don't invalidate our downloaded layer
RUN go mod download
# Copy the go source
COPY main.go main.go
COPY api/ api/
COPY controllers/ controllers/
# Build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
FROM gcr.io/distroless/static:nonroot
WORKDIR /
COPY --from=builder /workspace/manager .
USER 65532:65532
ENTRYPOINT ["/manager"]
================================================
FILE: deploy/Makefile
================================================
# Image URL to use all building/pushing image targets
REGISTRY ?= ml-platform-cn-guilin-boe.cr.volces.com/ml-platform
NAME ?= data.monolith.controller-manager
# TAG ?= $(shell git describe --always --dirty)
TAG ?= b85906ce01ef40a75ba48779efdd4e3f
# IMG ?= controller:latest
IMG ?= ${REGISTRY}/${NAME}:${TAG}
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd:trivialVersions=true,preserveUnknownFields=false,generateEmbeddedObjectMeta=true"
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
GOBIN=$(shell go env GOPATH)/bin
else
GOBIN=$(shell go env GOBIN)
endif
# Setting SHELL to bash allows bash commands to be executed by recipes.
# This is a requirement for 'setup-envtest.sh' in the test target.
# Options are set to exit when a recipe line exits non-zero or a piped command fails.
SHELL = /usr/bin/env bash -o pipefail
.SHELLFLAGS = -ec
all: build
##@ General
# The help target prints out all targets with their descriptions organized
# beneath their categories. The categories are represented by '##@' and the
# target descriptions by '##'. The awk commands is responsible for reading the
# entire set of makefiles included in this invocation, looking for lines of the
# file as xyz: ## something, and then pretty-format the target and help. Then,
# if there's a line with ##@ something, that gets pretty-printed as a category.
# More info on the usage of ANSI control characters for terminal formatting:
# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters
# More info on the awk command:
# http://linuxcommand.org/lc3_adv_awk.php
help: ## Display this help.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
##@ Development
manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..."
fmt: ## Run go fmt against code.
go fmt ./...
vet: ## Run go vet against code.
go vet ./...
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
test: manifests generate fmt vet ## Run tests.
mkdir -p ${ENVTEST_ASSETS_DIR}
test -f ${ENVTEST_ASSETS_DIR}/setup-envtest.sh || curl -sSLo ${ENVTEST_ASSETS_DIR}/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.7.2/hack/setup-envtest.sh
source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR); go test ./... -coverprofile cover.out
##@ Build
build: generate fmt vet ## Build manager binary.
go build -o bin/manager main.go
run: manifests generate fmt vet ## Run a controller from your host.
go run ./main.go
docker-build: test ## Build docker image with the manager.
docker build -t ${IMG} .
docker-push: ## Push docker image with the manager.
docker push ${IMG}
##@ Deployment
install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config.
$(KUSTOMIZE) build config/crd | kubectl apply -f -
uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config.
$(KUSTOMIZE) build config/crd | kubectl delete -f -
deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
$(KUSTOMIZE) build config/default | kubectl apply -f -
undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config.
$(KUSTOMIZE) build config/default | kubectl delete -f -
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
controller-gen: ## Download controller-gen locally if necessary.
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.6.1)
KUSTOMIZE = $(shell pwd)/bin/kustomize
kustomize: ## Download kustomize locally if necessary.
$(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7)
# go-get-tool will 'go get' any package $2 and install it to $1.
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
define go-get-tool
@[ -f $(1) ] || { \
set -e ;\
TMP_DIR=$$(mktemp -d) ;\
cd $$TMP_DIR ;\
go mod init tmp ;\
echo "Downloading $(2)" ;\
GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\
rm -rf $$TMP_DIR ;\
}
endef
================================================
FILE: deploy/PROJECT
================================================
domain: volcengine.com
layout:
- go.kubebuilder.io/v3
projectName: deploy
repo: code.byted.org/data/monolith/deploy
resources:
- api:
crdVersion: v1
namespaced: true
controller: true
domain: volcengine.com
group: mlplatform
kind: MLService
path: code.byted.org/data/monolith/deploy/api/v1
version: v1
version: "3"
================================================
FILE: deploy/README.md
================================================
# 项目介绍
项目初始结构通过kubebuilder(https://github.com/kubernetes-sigs/kubebuilder) 生成
kubebuilder使用文档:https://book.kubebuilder.io/cronjob-tutorial/cronjob-tutorial.html
```
kubebuilder init --domain volcengine.com --repo https://github.com/bytedance/monolith/blob/master/deploy --skip-go-version-check
kubebuilder create api --group mlplatform --version v1 --kind MLService --controller --resource
```
# 安装部署
配置好集群kubeconfig后执行以下命令:
```
make deploy # 安装CRD,部署controller
```
================================================
FILE: deploy/api/v1/groupversion_info.go
================================================
/*
Copyright 2023.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package v1 contains API Schema definitions for the mlplatform v1 API group
//+kubebuilder:object:generate=true
//+groupName=mlplatform.volcengine.com
package v1
import (
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)
var (
// GroupVersion is group version used to register these objects
GroupVersion = schema.GroupVersion{Group: "mlplatform.volcengine.com", Version: "v1"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
// AddToScheme adds the types in this group-version to the given scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
================================================
FILE: deploy/api/v1/mlservice_types.go
================================================
/*
Copyright 2023.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
// ServicePortType is the data type of ServicePort Type
type ServicePortType string
const (
ServicePortTypeHttp ServicePortType = "HTTP"
ServicePortTypeRpc ServicePortType = "RPC"
ServicePortTypeMetrics ServicePortType = "Metrics"
ServicePortTypeOther ServicePortType = "Other"
)
// DeploymentTemplateSpec defines the metadata and spec of a Deployment
type DeploymentTemplateSpec struct {
// Standard object metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired behavior of the Deployment.
Spec appsv1.DeploymentSpec `json:"spec"`
}
// ServicePort contains information on service's port.
type ServicePort struct {
// The type of this port within the service.
Type ServicePortType `json:"type,omitempty"`
// The port that will be exposed by this service.
Port int32 `json:"port"`
}
// ServiceSpec describes the attributes that a user creates on a service.
type ServiceSpec struct {
// ServiceType defines which type of service need to be created
ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
// The list of ports that are exposed by this service.
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
Ports []ServicePort `json:"ports,omitempty"`
}
// RoleSpec defines the desired state of a role in MLService
type RoleSpec struct {
// Name of the role
Name string `json:"name"`
// Number of shards for the role, each shard associated with a Deployment
ShardNum int32 `json:"shardNum,omitempty"`
// Template of the DeploymentSpec
Template DeploymentTemplateSpec `json:"template"`
ServiceSpec *ServiceSpec `json:"serviceSpec,omitempty"`
}
// MLServiceSpec defines the desired state of MLService
type MLServiceSpec struct {
// selector is a label query over deployment.
// It must match the deployment template's labels.
Selector *metav1.LabelSelector `json:"selector"`
// Roles defines desired state for each role in the service
Roles []RoleSpec `json:"roles"`
}
// ServicePhase is a label for the condition of a MLService at the current time.
type ServicePhase string
const (
// ServiceQueuing means the service is queuing, waiting to be scheduled
ServiceQueuing ServicePhase = "Queuing"
// ServiceDeploying means pods of the service are scheduled and being initializing
ServiceDeploying ServicePhase = "Deploying"
// ServiceRunning means all pods of the service are running
ServiceRunning ServicePhase = "Running"
// ServiceAbnormal means some pods of the service are abnormal
ServiceAbnormal ServicePhase = "Abnormal"
// ServiceDeleting means the service is being deleted
ServiceDeleting ServicePhase = "Deleting"
// ServiceStopping means replicas of the service is being scaled down to 0
ServiceStopping ServicePhase = "Stopping"
// ServiceStopped means replicas of the service has been scaled down to 0
ServiceStopped ServicePhase = "Stopped"
)
// MLServiceStatus defines the observed state of MLService
type MLServiceStatus struct {
// Phase is a simple, high-level summary of where the Service is in its lifecycle.
// +optional
Phase ServicePhase `json:"phase,omitempty"`
// RoleShardStatusMap shows the current status for all Deployments.
// The key is Deployment name, value is its status info
RoleShardStatusMap map[string]appsv1.DeploymentStatus `json:"roleShardStatusMap,omitempty"`
// RoleShardStatusMap shows the current status for all Services.
// The key is Service name, value is its status info
RoleServiceStatusMap map[string]corev1.ServiceStatus `json:"roleServiceStatusMap,omitempty"`
// RoleServiceClusterIps shows the cluster ip for all Services.
// The key is Service name, value is its clusterIP
RoleServiceClusterIps map[string]string `json:"roleServiceClusterIps,omitempty"`
// LastTransitionTime is time the last Phase transitioned to current one.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Unique, one-word, CamelCase reason for the phase's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// Human-readable message indicating details about last transition.
// +optional
Message string `json:"message,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
// +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`
// +kubebuilder:resource:path=mlservices,shortName=mlsvc
// MLService is the Schema for the mlservices API
type MLService struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MLServiceSpec `json:"spec,omitempty"`
Status MLServiceStatus `json:"status,omitempty"`
}
//+kubebuilder:object:root=true
// MLServiceList contains a list of MLService
type MLServiceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MLService `json:"items"`
}
func init() {
SchemeBuilder.Register(&MLService{}, &MLServiceList{})
}
================================================
FILE: deploy/api/v1/zz_generated.deepcopy.go
================================================
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
/*
Copyright 2023.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by controller-gen. DO NOT EDIT.
package v1
import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeploymentTemplateSpec) DeepCopyInto(out *DeploymentTemplateSpec) {
*out = *in
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTemplateSpec.
func (in *DeploymentTemplateSpec) DeepCopy() *DeploymentTemplateSpec {
if in == nil {
return nil
}
out := new(DeploymentTemplateSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MLService) DeepCopyInto(out *MLService) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
in.Status.DeepCopyInto(&out.Status)
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLService.
func (in *MLService) DeepCopy() *MLService {
if in == nil {
return nil
}
out := new(MLService)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MLService) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
return nil
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MLServiceList) DeepCopyInto(out *MLServiceList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]MLService, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLServiceList.
func (in *MLServiceList) DeepCopy() *MLServiceList {
if in == nil {
return nil
}
out := new(MLServiceList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MLServiceList) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
return nil
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MLServiceSpec) DeepCopyInto(out *MLServiceSpec) {
*out = *in
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(metav1.LabelSelector)
(*in).DeepCopyInto(*out)
}
if in.Roles != nil {
in, out := &in.Roles, &out.Roles
*out = make([]RoleSpec, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLServiceSpec.
func (in *MLServiceSpec) DeepCopy() *MLServiceSpec {
if in == nil {
return nil
}
out := new(MLServiceSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MLServiceStatus) DeepCopyInto(out *MLServiceStatus) {
*out = *in
if in.RoleShardStatusMap != nil {
in, out := &in.RoleShardStatusMap, &out.RoleShardStatusMap
*out = make(map[string]appsv1.DeploymentStatus, len(*in))
for key, val := range *in {
(*out)[key] = *val.DeepCopy()
}
}
if in.RoleServiceStatusMap != nil {
in, out := &in.RoleServiceStatusMap, &out.RoleServiceStatusMap
*out = make(map[string]corev1.ServiceStatus, len(*in))
for key, val := range *in {
(*out)[key] = *val.DeepCopy()
}
}
if in.RoleServiceClusterIps != nil {
in, out := &in.RoleServiceClusterIps, &out.RoleServiceClusterIps
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLServiceStatus.
func (in *MLServiceStatus) DeepCopy() *MLServiceStatus {
if in == nil {
return nil
}
out := new(MLServiceStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RoleSpec) DeepCopyInto(out *RoleSpec) {
*out = *in
in.Template.DeepCopyInto(&out.Template)
if in.ServiceSpec != nil {
in, out := &in.ServiceSpec, &out.ServiceSpec
*out = new(ServiceSpec)
(*in).DeepCopyInto(*out)
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.
func (in *RoleSpec) DeepCopy() *RoleSpec {
if in == nil {
return nil
}
out := new(RoleSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServicePort) DeepCopyInto(out *ServicePort) {
*out = *in
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (in *ServicePort) DeepCopy() *ServicePort {
if in == nil {
return nil
}
out := new(ServicePort)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
*out = *in
if in.Ports != nil {
in, out := &in.Ports, &out.Ports
*out = make([]ServicePort, len(*in))
copy(*out, *in)
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (in *ServiceSpec) DeepCopy() *ServiceSpec {
if in == nil {
return nil
}
out := new(ServiceSpec)
in.DeepCopyInto(out)
return out
}
================================================
FILE: deploy/build.sh
================================================
#!/bin/bash
mkdir output
cd deploy && make build
cp bin/manager ../output
================================================
FILE: deploy/config/crd/bases/mlplatform.volcengine.com_mlservices.yaml
================================================
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: mlservices.mlplatform.volcengine.com
spec:
group: mlplatform.volcengine.com
names:
kind: MLService
listKind: MLServiceList
plural: mlservices
shortNames:
- mlsvc
singular: mlservice
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: MLService is the Schema for the mlservices API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: MLServiceSpec defines the desired state of MLService
properties:
roles:
description: Roles defines desired state for each role in the service
items:
description: RoleSpec defines the desired state of a role in MLService
properties:
name:
description: Name of the role
type: string
serviceSpec:
description: ServiceSpec describes the attributes that a user
creates on a service.
properties:
ports:
description: 'The list of ports that are exposed by this
service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
items:
description: ServicePort contains information on service's
port.
properties:
port:
description: The port that will be exposed by this
service.
format: int32
type: integer
type:
description: The type of this port within the service.
type: string
required:
- port
type: object
type: array
serviceType:
description: ServiceType defines which type of service need
to be created
type: string
type: object
shardNum:
description: Number of shards for the role, each shard associated
with a Deployment
format: int32
type: integer
template:
description: Template of the DeploymentSpec
properties:
metadata:
description: Standard object metadata.
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: Specification of the desired behavior of the
Deployment.
properties:
minReadySeconds:
description: Minimum number of seconds for which a newly
created pod should be ready without any of its container
crashing, for it to be considered available. Defaults
to 0 (pod will be considered available as soon as
it is ready)
format: int32
type: integer
paused:
description: Indicates that the deployment is paused.
type: boolean
progressDeadlineSeconds:
description: The maximum time in seconds for a deployment
to make progress before it is considered to be failed.
The deployment controller will continue to process
failed deployments and a condition with a ProgressDeadlineExceeded
reason will be surfaced in the deployment status.
Note that progress will not be estimated during the
time a deployment is paused. Defaults to 600s.
format: int32
type: integer
replicas:
description: Number of desired pods. This is a pointer
to distinguish between explicit zero and not specified.
Defaults to 1.
format: int32
type: integer
revisionHistoryLimit:
description: The number of old ReplicaSets to retain
to allow rollback. This is a pointer to distinguish
between explicit zero and not specified. Defaults
to 10.
format: int32
type: integer
selector:
description: Label selector for pods. Existing ReplicaSets
whose pods are selected by this will be the ones affected
by this deployment. It must match the pod template's
labels.
properties:
matchExpressions:
description: matchExpressions is a list of label
selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a
selector that contains values, a key, and an
operator that relates the key and values.
properties:
key:
description: key is the label key that the
selector applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are
In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty. If the
operator is Exists or DoesNotExist, the
values array must be empty. This array is
replaced during a strategic merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is "In",
and the values array contains only "value". The
requirements are ANDed.
type: object
type: object
strategy:
description: The deployment strategy to use to replace
existing pods with new ones.
properties:
rollingUpdate:
description: 'Rolling update config params. Present
only if DeploymentStrategyType = RollingUpdate.
--- TODO: Update this to follow our convention
for oneOf, whatever we decide it to be.'
properties:
maxSurge:
anyOf:
- type: integer
- type: string
description: 'The maximum number of pods that
can be scheduled above the desired number
of pods. Value can be an absolute number (ex:
5) or a percentage of desired pods (ex: 10%).
This can not be 0 if MaxUnavailable is 0.
Absolute number is calculated from percentage
by rounding up. Defaults to 25%. Example:
when this is set to 30%, the new ReplicaSet
can be scaled up immediately when the rolling
update starts, such that the total number
of old and new pods do not exceed 130% of
desired pods. Once old pods have been killed,
new ReplicaSet can be scaled up further, ensuring
that total number of pods running at any time
during the update is at most 130% of desired
pods.'
x-kubernetes-int-or-string: true
maxUnavailable:
anyOf:
- type: integer
- type: string
description: 'The maximum number of pods that
can be unavailable during the update. Value
can be an absolute number (ex: 5) or a percentage
of desired pods (ex: 10%). Absolute number
is calculated from percentage by rounding
down. This can not be 0 if MaxSurge is 0.
Defaults to 25%. Example: when this is set
to 30%, the old ReplicaSet can be scaled down
to 70% of desired pods immediately when the
rolling update starts. Once new pods are ready,
old ReplicaSet can be scaled down further,
followed by scaling up the new ReplicaSet,
ensuring that the total number of pods available
at all times during the update is at least
70% of desired pods.'
x-kubernetes-int-or-string: true
type: object
type:
description: Type of deployment. Can be "Recreate"
or "RollingUpdate". Default is RollingUpdate.
type: string
type: object
template:
description: Template describes the pods that will be
created.
properties:
metadata:
description: 'Standard object''s metadata. More
info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: 'Specification of the desired behavior
of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
properties:
activeDeadlineSeconds:
description: Optional duration in seconds the
pod may be active on the node relative to
StartTime before the system will actively
try to mark it failed and kill associated
containers. Value must be a positive integer.
format: int64
type: integer
affinity:
description: If specified, the pod's scheduling
constraints
properties:
nodeAffinity:
description: Describes node affinity scheduling
rules for the pod.
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer
to schedule pods to nodes that satisfy
the affinity expressions specified
by this field, but it may choose a
node that violates one or more of
the expressions. The node that is
most preferred is the one with the
greatest sum of weights, i.e. for
each node that meets all of the scheduling
requirements (resource request, requiredDuringScheduling
affinity expressions, etc.), compute
a sum by iterating through the elements
of this field and adding "weight"
to the sum if the node matches the
corresponding matchExpressions; the
node(s) with the highest sum are the
most preferred.
items:
description: An empty preferred scheduling
term matches all objects with implicit
weight 0 (i.e. it's a no-op). A
null preferred scheduling term matches
no objects (i.e. is also a no-op).
properties:
preference:
description: A node selector term,
associated with the corresponding
weight.
properties:
matchExpressions:
description: A list of node
selector requirements by
node's labels.
items:
description: A node selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: The label
key that the selector
applies to.
type: string
operator:
description: Represents
a key's relationship
to a set of values.
Valid operators are
In, NotIn, Exists,
DoesNotExist. Gt,
and Lt.
type: string
values:
description: An array
of string values.
If the operator is
In or NotIn, the values
array must be non-empty.
If the operator is
Exists or DoesNotExist,
the values array must
be empty. If the operator
is Gt or Lt, the values
array must have a
single element, which
will be interpreted
as an integer. This
array is replaced
during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node
selector requirements by
node's fields.
items:
description: A node selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: The label
key that the selector
applies to.
type: string
operator:
description: Represents
a key's relationship
to a set of values.
Valid operators are
In, NotIn, Exists,
DoesNotExist. Gt,
and Lt.
type: string
values:
description: An array
of string values.
If the operator is
In or NotIn, the values
array must be non-empty.
If the operator is
Exists or DoesNotExist,
the values array must
be empty. If the operator
is Gt or Lt, the values
array must have a
single element, which
will be interpreted
as an integer. This
array is replaced
during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
weight:
description: Weight associated
with matching the corresponding
nodeSelectorTerm, in the range
1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements
specified by this field are not met
at scheduling time, the pod will not
be scheduled onto the node. If the
affinity requirements specified by
this field cease to be met at some
point during pod execution (e.g. due
to an update), the system may or may
not try to eventually evict the pod
from its node.
properties:
nodeSelectorTerms:
description: Required. A list of
node selector terms. The terms
are ORed.
items:
description: A null or empty node
selector term matches no objects.
The requirements of them are
ANDed. The TopologySelectorTerm
type implements a subset of
the NodeSelectorTerm.
properties:
matchExpressions:
description: A list of node
selector requirements by
node's labels.
items:
description: A node selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: The label
key that the selector
applies to.
type: string
operator:
description: Represents
a key's relationship
to a set of values.
Valid operators are
In, NotIn, Exists,
DoesNotExist. Gt,
and Lt.
type: string
values:
description: An array
of string values.
If the operator is
In or NotIn, the values
array must be non-empty.
If the operator is
Exists or DoesNotExist,
the values array must
be empty. If the operator
is Gt or Lt, the values
array must have a
single element, which
will be interpreted
as an integer. This
array is replaced
during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node
selector requirements by
node's fields.
items:
description: A node selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: The label
key that the selector
applies to.
type: string
operator:
description: Represents
a key's relationship
to a set of values.
Valid operators are
In, NotIn, Exists,
DoesNotExist. Gt,
and Lt.
type: string
values:
description: An array
of string values.
If the operator is
In or NotIn, the values
array must be non-empty.
If the operator is
Exists or DoesNotExist,
the values array must
be empty. If the operator
is Gt or Lt, the values
array must have a
single element, which
will be interpreted
as an integer. This
array is replaced
during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
type: array
required:
- nodeSelectorTerms
type: object
type: object
podAffinity:
description: Describes pod affinity scheduling
rules (e.g. co-locate this pod in the
same node, zone, etc. as some other pod(s)).
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer
to schedule pods to nodes that satisfy
the affinity expressions specified
by this field, but it may choose a
node that violates one or more of
the expressions. The node that is
most preferred is the one with the
greatest sum of weights, i.e. for
each node that meets all of the scheduling
requirements (resource request, requiredDuringScheduling
affinity expressions, etc.), compute
a sum by iterating through the elements
of this field and adding "weight"
to the sum if the node has pods which
matches the corresponding podAffinityTerm;
the node(s) with the highest sum are
the most preferred.
items:
description: The weights of all of
the matched WeightedPodAffinityTerm
fields are added per-node to find
the most preferred node(s)
properties:
podAffinityTerm:
description: Required. A pod affinity
term, associated with the corresponding
weight.
properties:
labelSelector:
description: A label query
over a set of resources,
in this case pods.
properties:
matchExpressions:
description: matchExpressions
is a list of label selector
requirements. The requirements
are ANDed.
items:
description: A label
selector requirement
is a selector that
contains values, a
key, and an operator
that relates the key
and values.
properties:
key:
description: key
is the label key
that the selector
applies to.
type: string
operator:
description: operator
represents a key's
relationship to
a set of values.
Valid operators
are In, NotIn,
Exists and DoesNotExist.
type: string
values:
description: values
is an array of
string values.
If the operator
is In or NotIn,
the values array
must be non-empty.
If the operator
is Exists or DoesNotExist,
the values array
must be empty.
This array is
replaced during
a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels
is a map of {key,value}
pairs. A single {key,value}
in the matchLabels map
is equivalent to an
element of matchExpressions,
whose key field is "key",
the operator is "In",
and the values array
contains only "value".
The requirements are
ANDed.
type: object
type: object
namespaces:
description: namespaces specifies
which namespaces the labelSelector
applies to (matches against);
null or empty list means
"this pod's namespace"
items:
type: string
type: array
topologyKey:
description: This pod should
be co-located (affinity)
or not co-located (anti-affinity)
with the pods matching the
labelSelector in the specified
namespaces, where co-located
is defined as running on
a node whose value of the
label with key topologyKey
matches that of any node
on which any of the selected
pods is running. Empty topologyKey
is not allowed.
type: string
required:
- topologyKey
type: object
weight:
description: weight associated
with matching the corresponding
podAffinityTerm, in the range
1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements
specified by this field are not met
at scheduling time, the pod will not
be scheduled onto the node. If the
affinity requirements specified by
this field cease to be met at some
point during pod execution (e.g. due
to a pod label update), the system
may or may not try to eventually evict
the pod from its node. When there
are multiple elements, the lists of
nodes corresponding to each podAffinityTerm
are intersected, i.e. all terms must
be satisfied.
items:
description: Defines a set of pods
(namely those matching the labelSelector
relative to the given namespace(s))
that this pod should be co-located
(affinity) or not co-located (anti-affinity)
with, where co-located is defined
as running on a node whose value
of the label with key <topologyKey>
matches that of any node on which
a pod of the set of pods is running
properties:
labelSelector:
description: A label query over
a set of resources, in this
case pods.
properties:
matchExpressions:
description: matchExpressions
is a list of label selector
requirements. The requirements
are ANDed.
items:
description: A label selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: key is
the label key that
the selector applies
to.
type: string
operator:
description: operator
represents a key's
relationship to a
set of values. Valid
operators are In,
NotIn, Exists and
DoesNotExist.
type: string
values:
description: values
is an array of string
values. If the operator
is In or NotIn, the
values array must
be non-empty. If the
operator is Exists
or DoesNotExist, the
values array must
be empty. This array
is replaced during
a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is
a map of {key,value} pairs.
A single {key,value} in
the matchLabels map is equivalent
to an element of matchExpressions,
whose key field is "key",
the operator is "In", and
the values array contains
only "value". The requirements
are ANDed.
type: object
type: object
namespaces:
description: namespaces specifies
which namespaces the labelSelector
applies to (matches against);
null or empty list means "this
pod's namespace"
items:
type: string
type: array
topologyKey:
description: This pod should be
co-located (affinity) or not
co-located (anti-affinity) with
the pods matching the labelSelector
in the specified namespaces,
where co-located is defined
as running on a node whose value
of the label with key topologyKey
matches that of any node on
which any of the selected pods
is running. Empty topologyKey
is not allowed.
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: Describes pod anti-affinity
scheduling rules (e.g. avoid putting this
pod in the same node, zone, etc. as some
other pod(s)).
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer
to schedule pods to nodes that satisfy
the anti-affinity expressions specified
by this field, but it may choose a
node that violates one or more of
the expressions. The node that is
most preferred is the one with the
greatest sum of weights, i.e. for
each node that meets all of the scheduling
requirements (resource request, requiredDuringScheduling
anti-affinity expressions, etc.),
compute a sum by iterating through
the elements of this field and adding
"weight" to the sum if the node has
pods which matches the corresponding
podAffinityTerm; the node(s) with
the highest sum are the most preferred.
items:
description: The weights of all of
the matched WeightedPodAffinityTerm
fields are added per-node to find
the most preferred node(s)
properties:
podAffinityTerm:
description: Required. A pod affinity
term, associated with the corresponding
weight.
properties:
labelSelector:
description: A label query
over a set of resources,
in this case pods.
properties:
matchExpressions:
description: matchExpressions
is a list of label selector
requirements. The requirements
are ANDed.
items:
description: A label
selector requirement
is a selector that
contains values, a
key, and an operator
that relates the key
and values.
properties:
key:
description: key
is the label key
that the selector
applies to.
type: string
operator:
description: operator
represents a key's
relationship to
a set of values.
Valid operators
are In, NotIn,
Exists and DoesNotExist.
type: string
values:
description: values
is an array of
string values.
If the operator
is In or NotIn,
the values array
must be non-empty.
If the operator
is Exists or DoesNotExist,
the values array
must be empty.
This array is
replaced during
a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels
is a map of {key,value}
pairs. A single {key,value}
in the matchLabels map
is equivalent to an
element of matchExpressions,
whose key field is "key",
the operator is "In",
and the values array
contains only "value".
The requirements are
ANDed.
type: object
type: object
namespaces:
description: namespaces specifies
which namespaces the labelSelector
applies to (matches against);
null or empty list means
"this pod's namespace"
items:
type: string
type: array
topologyKey:
description: This pod should
be co-located (affinity)
or not co-located (anti-affinity)
with the pods matching the
labelSelector in the specified
namespaces, where co-located
is defined as running on
a node whose value of the
label with key topologyKey
matches that of any node
on which any of the selected
pods is running. Empty topologyKey
is not allowed.
type: string
required:
- topologyKey
type: object
weight:
description: weight associated
with matching the corresponding
podAffinityTerm, in the range
1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements
specified by this field are not met
at scheduling time, the pod will not
be scheduled onto the node. If the
anti-affinity requirements specified
by this field cease to be met at some
point during pod execution (e.g. due
to a pod label update), the system
may or may not try to eventually evict
the pod from its node. When there
are multiple elements, the lists of
nodes corresponding to each podAffinityTerm
are intersected, i.e. all terms must
be satisfied.
items:
description: Defines a set of pods
(namely those matching the labelSelector
relative to the given namespace(s))
that this pod should be co-located
(affinity) or not co-located (anti-affinity)
with, where co-located is defined
as running on a node whose value
of the label with key <topologyKey>
matches that of any node on which
a pod of the set of pods is running
properties:
labelSelector:
description: A label query over
a set of resources, in this
case pods.
properties:
matchExpressions:
description: matchExpressions
is a list of label selector
requirements. The requirements
are ANDed.
items:
description: A label selector
requirement is a selector
that contains values,
a key, and an operator
that relates the key and
values.
properties:
key:
description: key is
the label key that
the selector applies
to.
type: string
operator:
description: operator
represents a key's
relationship to a
set of values. Valid
operators are In,
NotIn, Exists and
DoesNotExist.
type: string
values:
description: values
is an array of string
values. If the operator
is In or NotIn, the
values array must
be non-empty. If the
operator is Exists
or DoesNotExist, the
values array must
be empty. This array
is replaced during
a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is
a map of {key,value} pairs.
A single {key,value} in
the matchLabels map is equivalent
to an element of matchExpressions,
whose key field is "key",
the operator is "In", and
the values array contains
only "value". The requirements
are ANDed.
type: object
type: object
namespaces:
description: namespaces specifies
which namespaces the labelSelector
applies to (matches against);
null or empty list means "this
pod's namespace"
items:
type: string
type: array
topologyKey:
description: This pod should be
co-located (affinity) or not
co-located (anti-affinity) with
the pods matching the labelSelector
in the specified namespaces,
where co-located is defined
as running on a node whose value
of the label with key topologyKey
matches that of any node on
which any of the selected pods
is running. Empty topologyKey
is not allowed.
type: string
required:
- topologyKey
type: object
type: array
type: object
type: object
automountServiceAccountToken:
description: AutomountServiceAccountToken indicates
whether a service account token should be
automatically mounted.
type: boolean
containers:
description: List of containers belonging to
the pod. Containers cannot currently be added
or removed. There must be at least one container
in a Pod. Cannot be updated.
items:
description: A single application container
that you want to run within a pod.
properties:
args:
description: 'Arguments to the entrypoint.
The docker image''s CMD is used if this
is not provided. Variable references
$(VAR_NAME) are expanded using the container''s
environment. If a variable cannot be
resolved, the reference in the input
string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double
$$, ie: $$(VAR_NAME). Escaped references
will never be expanded, regardless of
whether the variable exists or not.
Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
items:
type: string
type: array
command:
description: 'Entrypoint array. Not executed
within a shell. The docker image''s
ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are
expanded using the container''s environment.
If a variable cannot be resolved, the
reference in the input string will be
unchanged. The $(VAR_NAME) syntax can
be escaped with a double $$, ie: $$(VAR_NAME).
Escaped references will never be expanded,
regardless of whether the variable exists
or not. Cannot be updated. More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
items:
type: string
type: array
env:
description: List of environment variables
to set in the container. Cannot be updated.
items:
description: EnvVar represents an environment
variable present in a Container.
properties:
name:
description: Name of the environment
variable. Must be a C_IDENTIFIER.
type: string
value:
description: 'Variable references
$(VAR_NAME) are expanded using
the previous defined environment
variables in the container and
any service environment variables.
If a variable cannot be resolved,
the reference in the input string
will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double
$$, ie: $$(VAR_NAME). Escaped
references will never be expanded,
regardless of whether the variable
exists or not. Defaults to "".'
type: string
valueFrom:
description: Source for the environment
variable's value. Cannot be used
if value is not empty.
properties:
configMapKeyRef:
description: Selects a key of
a ConfigMap.
properties:
key:
description: The key to
select.
type: string
name:
description: 'Name of the
referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful
fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether
the ConfigMap or its key
must be defined
type: boolean
required:
- key
type: object
fieldRef:
description: 'Selects a field
of the pod: supports metadata.name,
metadata.namespace, `metadata.labels[''<KEY>'']`,
`metadata.annotations[''<KEY>'']`,
spec.nodeName, spec.serviceAccountName,
status.hostIP, status.podIP,
status.podIPs.'
properties:
apiVersion:
description: Version of
the schema the FieldPath
is written in terms of,
defaults to "v1".
type: string
fieldPath:
description: Path of the
field to select in the
specified API version.
type: string
required:
- fieldPath
type: object
resourceFieldRef:
description: 'Selects a resource
of the container: only resources
limits and requests (limits.cpu,
limits.memory, limits.ephemeral-storage,
requests.cpu, requests.memory
and requests.ephemeral-storage)
are currently supported.'
properties:
containerName:
description: 'Container
name: required for volumes,
optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the
output format of the exposed
resources, defaults to
"1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required:
resource to select'
type: string
required:
- resource
type: object
secretKeyRef:
description: Selects a key of
a secret in the pod's namespace
properties:
key:
description: The key of
the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the
referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful
fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether
the Secret or its key
must be defined
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
envFrom:
description: List of sources to populate
environment variables in the container.
The keys defined within a source must
be a C_IDENTIFIER. All invalid keys
will be reported as an event when the
container is starting. When a key exists
in multiple sources, the value associated
with the last source will take precedence.
Values defined by an Env with a duplicate
key will take precedence. Cannot be
updated.
items:
description: EnvFromSource represents
the source of a set of ConfigMaps
properties:
configMapRef:
description: The ConfigMap to select
from
properties:
name:
description: 'Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields.
apiVersion, kind, uid?'
type: string
optional:
description: Specify whether
the ConfigMap must be defined
type: boolean
type: object
prefix:
description: An optional identifier
to prepend to each key in the
ConfigMap. Must be a C_IDENTIFIER.
type: string
secretRef:
description: The Secret to select
from
properties:
name:
description: 'Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields.
apiVersion, kind, uid?'
type: string
optional:
description: Specify whether
the Secret must be defined
type: boolean
type: object
type: object
type: array
image:
description: 'Docker image name. More
info: https://kubernetes.io/docs/concepts/containers/images
This field is optional to allow higher
level config management to default or
override container images in workload
controllers like Deployments and StatefulSets.'
type: string
imagePullPolicy:
description: 'Image pull policy. One of
Always, Never, IfNotPresent. Defaults
to Always if :latest tag is specified,
or IfNotPresent otherwise. Cannot be
updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
type: string
lifecycle:
description: Actions that the management
system should take in response to container
lifecycle events. Cannot be updated.
properties:
postStart:
description: 'PostStart is called
immediately after a container is
created. If the handler fails, the
container is terminated and restarted
according to its restart policy.
Other management of the container
blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
properties:
exec:
description: One and only one
of the following should be specified.
Exec specifies the action to
take.
properties:
command:
description: Command is the
command line to execute
inside the container, the
working directory for the
command is root ('/') in
the container's filesystem.
The command is simply exec'd,
it is not run inside a shell,
so traditional shell instructions
('|', etc) won't work. To
use a shell, you need to
explicitly call out to that
shell. Exit status of 0
is treated as live/healthy
and non-zero is unhealthy.
items:
type: string
type: array
type: object
httpGet:
description: HTTPGet specifies
the http request to perform.
properties:
host:
description: Host name to
connect to, defaults to
the pod IP. You probably
want to set "Host" in httpHeaders
instead.
type: string
httpHeaders:
description: Custom headers
to set in the request. HTTP
allows repeated headers.
items:
description: HTTPHeader
describes a custom header
to be used in HTTP probes
properties:
name:
description: The header
field name
type: string
value:
description: The header
field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access
on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number
of the port to access on
the container. Number must
be in the range 1 to 65535.
Name must be an IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use
for connecting to the host.
Defaults to HTTP.
type: string
required:
- port
type: object
tcpSocket:
description: 'TCPSocket specifies
an action involving a TCP port.
TCP hooks not yet supported
TODO: implement a realistic
TCP lifecycle hook'
properties:
host:
description: 'Optional: Host
name to connect to, defaults
to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name
of the port to access on
the container. Number must
be in the range 1 to 65535.
Name must be an IANA_SVC_NAME.
x-kubernetes-int-or-string: true
required:
- port
type: object
type: object
preStop:
description: 'PreStop is called immediately
before a container is terminated
due to an API request or management
event such as liveness/startup probe
failure, preemption, resource contention,
etc. The handler is not called if
the container crashes or exits.
The reason for termination is passed
to the handler. The Pod''s termination
grace period countdown begins before
the PreStop hooked is executed.
Regardless of the outcome of the
handler, the container will eventually
terminate within the Pod''s termination
grace period. Other management of
the container blocks until the hook
completes or until the termination
grace period is reached. More info:
https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
properties:
exec:
description: One and only one
of the following should be specified.
Exec specifies the action to
take.
properties:
command:
description: Command is the
command line to execute
inside the container, the
working directory for the
command is root ('/') in
the container's filesystem.
The command is simply exec'd,
it is not run inside a shell,
so traditional shell instructions
('|', etc) won't work. To
use a shell, you need to
explicitly call out to that
shell. Exit status of 0
is treated as live/healthy
and non-zero is unhealthy.
items:
type: string
type: array
type: object
httpGet:
description: HTTPGet specifies
the http request to perform.
properties:
host:
description: Host name to
connect to, defaults to
the pod IP. You probably
want to set "Host" in httpHeaders
instead.
type: string
httpHeaders:
description: Custom headers
to set in the request. HTTP
allows repeated headers.
items:
description: HTTPHeader
describes a custom header
to be used in HTTP probes
properties:
name:
description: The header
field name
type: string
value:
description: The header
field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access
on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number
of the port to access on
the container. Number must
be in the range 1 to 65535.
Name must be an IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use
for connecting to the host.
Defaults to HTTP.
type: string
required:
- port
type: object
tcpSocket:
description: 'TCPSocket specifies
an action involving a TCP port.
TCP hooks not yet supported
TODO: implement a realistic
TCP lifecycle hook'
properties:
host:
description: 'Optional: Host
name to connect to, defaults
to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name
of the port to access on
the container. Number must
be in the range 1 to 65535.
Name must be an IANA_SVC_NAME.
x-kubernetes-int-or-string: true
required:
- port
type: object
type: object
type: object
livenessProbe:
description: 'Periodic probe of container
liveness. Container will be restarted
if the probe fails. Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
properties:
exec:
description: One and only one of the
following should be specified. Exec
specifies the action to take.
properties:
command:
description: Command is the command
line to execute inside the container,
the working directory for the
command is root ('/') in the
container's filesystem. The
command is simply exec'd, it
is not run inside a shell, so
traditional shell instructions
('|', etc) won't work. To use
a shell, you need to explicitly
call out to that shell. Exit
status of 0 is treated as live/healthy
and non-zero is unhealthy.
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures
for the probe to be considered failed
after having succeeded. Defaults
to 3. Minimum value is 1.
format: int32
type: integer
httpGet:
description: HTTPGet specifies the
http request to perform.
properties:
host:
description: Host name to connect
to, defaults to the pod IP.
You probably want to set "Host"
in httpHeaders instead.
type: string
httpHeaders:
description: Custom headers to
set in the request. HTTP allows
repeated headers.
items:
description: HTTPHeader describes
a custom header to be used
in HTTP probes
properties:
name:
description: The header
field name
type: string
value:
description: The header
field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on
the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of
the port to access on the container.
Number must be in the range
1 to 65535. Name must be an
IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for
connecting to the host. Defaults
to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: 'Number of seconds after
the container has started before
liveness probes are initiated. More
info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
format: int32
type: integer
periodSeconds:
description: How often (in seconds)
to perform the probe. Default to
10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes
for the probe to be considered successful
after having failed. Defaults to
1. Must be 1 for liveness and startup.
Minimum value is 1.
format: int32
type: integer
tcpSocket:
description: 'TCPSocket specifies
an action involving a TCP port.
TCP hooks not yet supported TODO:
implement a realistic TCP lifecycle
hook'
properties:
host:
description: 'Optional: Host name
to connect to, defaults to the
pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of
the port to access on the container.
Number must be in the range
1 to 65535. Name must be an
IANA_SVC_NAME.
x-kubernetes-int-or-string: true
required:
- port
type: object
timeoutSeconds:
description: 'Number of seconds after
which the probe times out. Defaults
to 1 second. Minimum value is 1.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
format: int32
type: integer
type: object
name:
description: Name of the container specified
as a DNS_LABEL. Each container in a
pod must have a unique name (DNS_LABEL).
Cannot be updated.
type: string
ports:
description: List of ports to expose from
the container. Exposing a port here
gives the system additional information
about the network connections a container
uses, but is primarily informational.
Not specifying a port here DOES NOT
prevent that port from being exposed.
Any port which is listening on the default
"0.0.0.0" address inside a container
will be accessible from the network.
Cannot be updated.
items:
description: ContainerPort represents
a network port in a single container.
properties:
containerPort:
description: Number of port to expose
on the pod's IP address. This
must be a valid port number, 0
< x < 65536.
format: int32
type: integer
hostIP:
description: What host IP to bind
the external port to.
type: string
hostPort:
description: Number of port to expose
on the host. If specified, this
must be a valid port number, 0
< x < 65536. If HostNetwork is
specified, this must match ContainerPort.
Most containers do not need this.
format: int32
type: integer
name:
description: If specified, this
must be an IANA_SVC_NAME and unique
within the pod. Each named port
in a pod must have a unique name.
Name for the port that can be
referred to by services.
type: string
protocol:
default: TCP
description: Protocol for port.
Must be UDP, TCP, or SCTP. Defaults
to "TCP".
type: string
required:
- containerPort
type: object
type: array
x-kubernetes-list-map-keys:
- containerPort
- protocol
x-kubernetes-list-type: map
readinessProbe:
description: 'Periodic probe of container
service readiness. Container will be
removed from service endpoints if the
probe fails. Cannot be updated. More
info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
properties:
exec:
description: One and only one of the
following should be specified. Exec
specifies the action to take.
properties:
command:
description: Command is the command
line to execute inside the container,
the working directory for the
command is root ('/') in the
container's filesystem. The
command is simply exec'd, it
is not run inside a shell, so
traditional shell instructions
('|', etc) won't work. To use
a shell, you need to explicitly
call out to that shell. Exit
status of 0 is treated as live/healthy
and non-zero is unhealthy.
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures
for the probe to be considered failed
after having succeeded. Defaults
to 3. Minimum value is 1.
format: int32
type: integer
httpGet:
description: HTTPGet specifies the
http request to perform.
properties:
host:
description: Host name to connect
to, defaults to the pod IP.
You probably want to set "Host"
in httpHeaders instead.
type: string
httpHeaders:
description: Custom headers to
set in the request. HTTP allows
repeated headers.
items:
description: HTTPHeader describes
a custom header to be used
in HTTP probes
properties:
name:
description: The header
field name
type: string
value:
description: The header
field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on
the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of
the port to access on the container.
Number must be in the range
1 to 65535. Name must be an
IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for
connecting to the host. Defaults
to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: 'Number of seconds after
the container has started before
liveness probes are initiated. More
gitextract_ddr9m3f9/
├── .bazelrc
├── .gitignore
├── LICENSE
├── README.md
├── WORKSPACE
├── conf/
│ └── BUILD
├── deploy/
│ ├── .dockerignore
│ ├── .gitignore
│ ├── .golangci.yaml
│ ├── Dockerfile
│ ├── Makefile
│ ├── PROJECT
│ ├── README.md
│ ├── api/
│ │ └── v1/
│ │ ├── groupversion_info.go
│ │ ├── mlservice_types.go
│ │ └── zz_generated.deepcopy.go
│ ├── build.sh
│ ├── config/
│ │ ├── crd/
│ │ │ ├── bases/
│ │ │ │ └── mlplatform.volcengine.com_mlservices.yaml
│ │ │ ├── kustomization.yaml
│ │ │ ├── kustomizeconfig.yaml
│ │ │ └── patches/
│ │ │ ├── cainjection_in_mlservices.yaml
│ │ │ └── webhook_in_mlservices.yaml
│ │ ├── default/
│ │ │ ├── kustomization.yaml
│ │ │ ├── manager_auth_proxy_patch.yaml
│ │ │ └── manager_config_patch.yaml
│ │ ├── manager/
│ │ │ ├── controller_manager_config.yaml
│ │ │ ├── kustomization.yaml
│ │ │ └── manager.yaml
│ │ ├── prometheus/
│ │ │ ├── kustomization.yaml
│ │ │ └── monitor.yaml
│ │ ├── rbac/
│ │ │ ├── auth_proxy_client_clusterrole.yaml
│ │ │ ├── auth_proxy_role.yaml
│ │ │ ├── auth_proxy_role_binding.yaml
│ │ │ ├── auth_proxy_service.yaml
│ │ │ ├── kustomization.yaml
│ │ │ ├── leader_election_role.yaml
│ │ │ ├── leader_election_role_binding.yaml
│ │ │ ├── mlservice_editor_role.yaml
│ │ │ ├── mlservice_viewer_role.yaml
│ │ │ ├── role.yaml
│ │ │ ├── role_binding.yaml
│ │ │ └── service_account.yaml
│ │ └── samples/
│ │ └── mlplatform_v1_mlservice.yaml
│ ├── controllers/
│ │ ├── constants.go
│ │ ├── deployment_handler.go
│ │ ├── mlservice_controller.go
│ │ ├── service_handler.go
│ │ └── status.go
│ ├── go.mod
│ ├── go.sum
│ ├── hack/
│ │ └── boilerplate.go.txt
│ ├── main.go
│ └── serving/
│ ├── agent.conf
│ ├── docker/
│ │ ├── Dockerfile
│ │ ├── assets/
│ │ │ ├── Python-3.8.6.tar.xz
│ │ │ ├── bashrc
│ │ │ ├── build.sh
│ │ │ ├── configurator_dumpenv.service
│ │ │ ├── configurator_dumpenv.sh
│ │ │ ├── pip.conf
│ │ │ ├── rdma/
│ │ │ │ ├── ibverbs-providers_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── ibverbs-utils_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibumad3_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibverbs-dev_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── libibverbs1_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ ├── librdmacm1_50mlnx1-1.50100.0_amd64.deb
│ │ │ │ └── rdmacm-utils_50mlnx1-1.50100.0_amd64.deb
│ │ │ └── requirements.txt
│ │ └── run
│ ├── open_source_serving.sh
│ └── scripts/
│ ├── build_serving.sh
│ └── run_server
├── idl/
│ ├── BUILD
│ └── matrix/
│ ├── compression/
│ │ ├── compression.cc
│ │ ├── compression.h
│ │ ├── compression_qtz8mm.cc
│ │ ├── compression_qtz8mm.h
│ │ └── float16.h
│ └── proto/
│ ├── example.proto
│ ├── feature.proto
│ ├── line_id.proto
│ └── proto_parser.proto
├── markdown/
│ ├── demo/
│ │ ├── AWS-EKS.md
│ │ ├── BUILD
│ │ ├── Batch.md
│ │ ├── README.md
│ │ ├── Stream.md
│ │ ├── demo_local_runner.py
│ │ ├── demo_model.py
│ │ ├── kafka_producer.py
│ │ ├── kafka_receiver.py
│ │ ├── kafka_utils/
│ │ │ ├── add_data_topics.sh
│ │ │ ├── delete_topics.sh
│ │ │ ├── kafka_base.sh
│ │ │ └── start_broker.sh
│ │ └── ml_dataset.py
│ ├── input_and_model_fn.md
│ ├── primus_demo/
│ │ ├── README.md
│ │ ├── main.sh
│ │ ├── monolith.Dockerfile
│ │ └── primus_monolith.json
│ └── serving.md
├── monolith/
│ ├── BUILD
│ ├── __init__.py
│ ├── agent_service/
│ │ ├── BUILD
│ │ ├── __init__.py
│ │ ├── agent.conf
│ │ ├── agent.py
│ │ ├── agent_base.py
│ │ ├── agent_client.py
│ │ ├── agent_controller.py
│ │ ├── agent_controller_test.py
│ │ ├── agent_service.proto
│ │ ├── agent_service.py
│ │ ├── agent_service_test.py
│ │ ├── agent_v1.py
│ │ ├── agent_v3.py
│ │ ├── agent_v3_test.py
│ │ ├── backends.py
│ │ ├── backends_test.py
│ │ ├── client.py
│ │ ├── constants.py
│ │ ├── data_def.py
│ │ ├── data_def_test.py
│ │ ├── example_batch.pbtxt
│ │ ├── mocked_tfserving.py
│ │ ├── mocked_tfserving_test.py
│ │ ├── mocked_zkclient.py
│ │ ├── mocked_zkclient_test.py
│ │ ├── model_manager.py
│ │ ├── model_manager_test.py
│ │ ├── profile.sh
│ │ ├── replica_manager.py
│ │ ├── replica_manager_test.py
│ │ ├── resource_utils.py
│ │ ├── resource_utils_test.py
│ │ ├── run.py
│ │ ├── svr_client.py
│ │ ├── test_data/
│ │ │ ├── BUILD
│ │ │ ├── inst.dump
│ │ │ ├── inst.json
│ │ │ └── inst.pbtext
│ │ ├── tfs_client.py
│ │ ├── tfs_client_test.py
│ │ ├── tfs_monitor.py
│ │ ├── tfs_monitor_test.py
│ │ ├── tfs_wrapper.py
│ │ ├── utils.py
│ │ ├── utils_test.py
│ │ ├── zk_mirror.py
│ │ └── zk_mirror_test.py
│ ├── base_runner.py
│ ├── common/
│ │ └── python/
│ │ ├── BUILD
│ │ └── mem_profiling.py
│ ├── core/
│ │ ├── BUILD
│ │ ├── __init__.py
│ │ ├── auto_checkpoint_feed_hook.py
│ │ ├── base_embedding_host_call.py
│ │ ├── base_embedding_host_call_test.py
│ │ ├── base_embedding_task.py
│ │ ├── base_host_call.py
│ │ ├── base_layer.py
│ │ ├── base_layer_test.py
│ │ ├── base_model_params.py
│ │ ├── base_task.py
│ │ ├── base_tpu_test.py
│ │ ├── core_test_suite.py
│ │ ├── dense.py
│ │ ├── dense_test.py
│ │ ├── feature.py
│ │ ├── feature_test.py
│ │ ├── host_call.py
│ │ ├── hyperparams.py
│ │ ├── hyperparams_test.py
│ │ ├── mixed_emb_op_comb_nws.py
│ │ ├── model.py
│ │ ├── model_imports.py
│ │ ├── model_registry.py
│ │ ├── optimizers.py
│ │ ├── py_utils.py
│ │ ├── testing_utils.py
│ │ ├── tpu_variable.py
│ │ ├── util.py
│ │ ├── util_test.py
│ │ └── variance_scaling.py
│ ├── gpu_runner.py
│ ├── monolith_workspace.bzl
│ ├── native_training/
│ │ ├── BUILD
│ │ ├── alert/
│ │ │ ├── BUILD
│ │ │ ├── alert.proto
│ │ │ ├── alert_manager.py
│ │ │ └── alert_manager_test.py
│ │ ├── barrier_ops.py
│ │ ├── barrier_ops_test.py
│ │ ├── basic_restore_hook.py
│ │ ├── basic_restore_hook_test.py
│ │ ├── clip_ops.py
│ │ ├── clip_ops_test.py
│ │ ├── cluster_manager.py
│ │ ├── cluster_manager_test.py
│ │ ├── consul.py
│ │ ├── consul_test.py
│ │ ├── cpu_sync_training_test.py
│ │ ├── cpu_training.py
│ │ ├── cpu_training_distributed_test_binary.py
│ │ ├── cpu_training_test.py
│ │ ├── data/
│ │ │ ├── BUILD
│ │ │ ├── __init__.py
│ │ │ ├── data_op_config.proto
│ │ │ ├── data_ops_test.py
│ │ │ ├── data_service_parquet_test.py
│ │ │ ├── data_service_test.py
│ │ │ ├── datasets.py
│ │ │ ├── docker-compose.yaml
│ │ │ ├── eager_mode_test.py
│ │ │ ├── extract_fid_test.py
│ │ │ ├── feature_list.py
│ │ │ ├── feature_list_test.py
│ │ │ ├── feature_utils.py
│ │ │ ├── feature_utils_test.py
│ │ │ ├── item_pool_hook.py
│ │ │ ├── item_pool_test.py
│ │ │ ├── kafka_dataset_test.py
│ │ │ ├── kernels/
│ │ │ │ ├── add_action_kernel.cc
│ │ │ │ ├── add_label_kernel.cc
│ │ │ │ ├── cache_one_dataset_kernel.cc
│ │ │ │ ├── cache_one_dataset_kernel.h
│ │ │ │ ├── df_resource_kernel.cc
│ │ │ │ ├── df_resource_kernel.h
│ │ │ │ ├── dynamic_match_file_dataset_kernel.cc
│ │ │ │ ├── extract_fid_kernel.cc
│ │ │ │ ├── feature_hash.cc
│ │ │ │ ├── feature_name_mapper_tf_bridge.cc
│ │ │ │ ├── feature_name_mapper_tf_bridge.h
│ │ │ │ ├── fill_multi_rank_output_kernel.cc
│ │ │ │ ├── filter_by_label_kernel.cc
│ │ │ │ ├── gen_fid_mask.cc
│ │ │ │ ├── instance_reweight_dataset_kernel.cc
│ │ │ │ ├── instance_reweight_dataset_kernel.h
│ │ │ │ ├── internal/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── arrow_random_access_file.h
│ │ │ │ │ ├── cache_mgr.cc
│ │ │ │ │ ├── cache_mgr.h
│ │ │ │ │ ├── cache_mgr_test.cc
│ │ │ │ │ ├── datasource_utils.cc
│ │ │ │ │ ├── datasource_utils.h
│ │ │ │ │ ├── datasource_utils_test.cc
│ │ │ │ │ ├── file_match_split_provider.cc
│ │ │ │ │ ├── file_match_split_provider.h
│ │ │ │ │ ├── file_match_split_provider_test.cc
│ │ │ │ │ ├── label_utils.cc
│ │ │ │ │ ├── label_utils.h
│ │ │ │ │ ├── label_utils_test.cc
│ │ │ │ │ ├── parquet_column_buffer.h
│ │ │ │ │ ├── parquet_example_reader.h
│ │ │ │ │ ├── relational_utils.h
│ │ │ │ │ ├── relational_utils_test.cc
│ │ │ │ │ ├── sized_random_access_file.h
│ │ │ │ │ ├── uniq_hashtable.h
│ │ │ │ │ ├── uniq_hashtable_test.cc
│ │ │ │ │ ├── value_filter_by_feature.cc
│ │ │ │ │ ├── value_filter_by_feature.h
│ │ │ │ │ ├── value_filter_by_line_id.cc
│ │ │ │ │ ├── value_filter_by_line_id.h
│ │ │ │ │ └── value_filter_test.cc
│ │ │ │ ├── item_pool_kernels.cc
│ │ │ │ ├── item_pool_kernels.h
│ │ │ │ ├── kafka_kernels.cc
│ │ │ │ ├── label_normalization_kernel.cc
│ │ │ │ ├── label_upper_bound_kernel.cc
│ │ │ │ ├── map_id_kernels.cc
│ │ │ │ ├── merge_flow_dataset_kernel.cc
│ │ │ │ ├── multi_label_gen_kernel.cc
│ │ │ │ ├── negative_gen_dataset_kernel.cc
│ │ │ │ ├── negative_gen_dataset_kernel.h
│ │ │ │ ├── parquet_dataset_kernel.cc
│ │ │ │ ├── parse_example_lib.cc
│ │ │ │ ├── parse_example_lib.h
│ │ │ │ ├── parse_input_data_kernel.cc
│ │ │ │ ├── parse_sparse_feature.cc
│ │ │ │ ├── parse_sparse_feature.h
│ │ │ │ ├── pb_dataset_kernel.cc
│ │ │ │ ├── ragged_feature_kernel.cc
│ │ │ │ ├── scatter_label_kernel.cc
│ │ │ │ ├── split_flow_dataset_kernel.cc
│ │ │ │ ├── string_to_variant.cc
│ │ │ │ ├── tf_example_to_example_kernel.cc
│ │ │ │ ├── transform_dataset_kernel.cc
│ │ │ │ ├── transform_dataset_kernel.h
│ │ │ │ └── variant_filter_kernel.cc
│ │ │ ├── multi_flow_test.py
│ │ │ ├── negative_gen_test.py
│ │ │ ├── ops/
│ │ │ │ ├── feature_utils_ops.cc
│ │ │ │ ├── parse_input_data_ops.cc
│ │ │ │ └── pb_dataset_ops.cc
│ │ │ ├── parse_sparse_feature_test.py
│ │ │ ├── parsers.py
│ │ │ ├── test_data/
│ │ │ │ ├── BUILD
│ │ │ │ └── mhy.conf
│ │ │ ├── tf_example_to_example_test.py
│ │ │ ├── training_instance/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cc/
│ │ │ │ │ ├── cached_mem_pool.cc
│ │ │ │ │ ├── cached_mem_pool.h
│ │ │ │ │ ├── cached_mem_pool_test.cc
│ │ │ │ │ ├── data_format_options.h
│ │ │ │ │ ├── data_read_write_test.cc
│ │ │ │ │ ├── data_reader.cc
│ │ │ │ │ ├── data_reader.h
│ │ │ │ │ ├── data_writer.cc
│ │ │ │ │ ├── data_writer.h
│ │ │ │ │ ├── fid.h
│ │ │ │ │ ├── fid_test.cc
│ │ │ │ │ ├── instance_dataset_kernel.cc
│ │ │ │ │ ├── instance_dataset_ops.cc
│ │ │ │ │ ├── instance_processor.cc
│ │ │ │ │ ├── instance_reader.cc
│ │ │ │ │ ├── instance_utils.cc
│ │ │ │ │ ├── instance_utils.h
│ │ │ │ │ ├── instance_utils_test.cc
│ │ │ │ │ ├── parse_instance_kernel.cc
│ │ │ │ │ ├── parse_instance_lib.cc
│ │ │ │ │ ├── parse_instance_lib.h
│ │ │ │ │ ├── parse_instance_ops.cc
│ │ │ │ │ ├── pb_variant.cc
│ │ │ │ │ ├── pb_variant.h
│ │ │ │ │ ├── reader_util.cc
│ │ │ │ │ ├── reader_util.h
│ │ │ │ │ ├── reader_util_test.cc
│ │ │ │ │ ├── snappy_inputbuffer.cc
│ │ │ │ │ ├── snappy_inputbuffer.h
│ │ │ │ │ ├── ue_compress.cc
│ │ │ │ │ ├── ue_compress.h
│ │ │ │ │ ├── ue_compress_test.cc
│ │ │ │ │ ├── zstd_inputbuffer.cc
│ │ │ │ │ └── zstd_inputbuffer.h
│ │ │ │ └── python/
│ │ │ │ ├── instance_dataset_op.py
│ │ │ │ ├── instance_dataset_op_test_stdin.py
│ │ │ │ ├── instance_negative_gen_dataset_op_test.py
│ │ │ │ ├── parse_instance_ops.py
│ │ │ │ ├── parse_instance_ops_test.py
│ │ │ │ ├── parser_utils.py
│ │ │ │ ├── pb_datasource_ops.py
│ │ │ │ └── test_data_utils.py
│ │ │ ├── transform/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cc/
│ │ │ │ │ ├── transforms.cc
│ │ │ │ │ └── transforms.h
│ │ │ │ ├── transform_config.proto
│ │ │ │ ├── transforms.py
│ │ │ │ └── transforms_test.py
│ │ │ ├── transform_dataset_test.py
│ │ │ └── utils.py
│ │ ├── debugging/
│ │ │ ├── BUILD
│ │ │ ├── README.md
│ │ │ ├── debugging_client.py
│ │ │ └── debugging_server.py
│ │ ├── demo.py
│ │ ├── dense_reload_utils.py
│ │ ├── dense_reload_utils_test.py
│ │ ├── device_utils.py
│ │ ├── device_utils_test.py
│ │ ├── distribute/
│ │ │ ├── BUILD
│ │ │ ├── distributed_dataset.py
│ │ │ ├── distributed_dataset_test.py
│ │ │ ├── str_queue.py
│ │ │ └── str_queue_test.py
│ │ ├── distributed_ps.py
│ │ ├── distributed_ps_benchmark.py
│ │ ├── distributed_ps_factory.py
│ │ ├── distributed_ps_factory_test.py
│ │ ├── distributed_ps_sync.py
│ │ ├── distributed_ps_sync_test.py
│ │ ├── distributed_ps_test.py
│ │ ├── distributed_serving_ops.py
│ │ ├── distributed_serving_ops_test.py
│ │ ├── distribution_ops.py
│ │ ├── distribution_ops_benchmark.py
│ │ ├── distribution_ops_fused_benchmark.py
│ │ ├── distribution_ops_fused_test.py
│ │ ├── distribution_ops_test.py
│ │ ├── distribution_utils.py
│ │ ├── embedding_combiners.py
│ │ ├── embedding_combiners_test.py
│ │ ├── entry.py
│ │ ├── entry_test.py
│ │ ├── env_utils.py
│ │ ├── env_utils_test.py
│ │ ├── estimator.py
│ │ ├── estimator_dist_test.py
│ │ ├── estimator_mode_test.py
│ │ ├── estimator_test.py
│ │ ├── feature.py
│ │ ├── feature_test.py
│ │ ├── feature_utils.py
│ │ ├── feature_utils_test.py
│ │ ├── file_ops.py
│ │ ├── file_ops_test.py
│ │ ├── fountain/
│ │ │ ├── BUILD
│ │ │ └── README.md
│ │ ├── fused_embedding_to_layout_test.py
│ │ ├── gen_seq_mask.py
│ │ ├── gen_seq_mask_test.py
│ │ ├── gflags_utils.py
│ │ ├── gflags_utils_test.py
│ │ ├── graph_meta.py
│ │ ├── graph_utils.py
│ │ ├── hash_filter_ops.py
│ │ ├── hash_filter_ops_test.py
│ │ ├── hash_table_ops.proto
│ │ ├── hash_table_ops.py
│ │ ├── hash_table_ops_benchmark.py
│ │ ├── hash_table_ops_test.py
│ │ ├── hash_table_utils.py
│ │ ├── hash_table_utils_test.py
│ │ ├── hooks/
│ │ │ ├── BUILD
│ │ │ ├── ckpt_hooks.proto
│ │ │ ├── ckpt_hooks.py
│ │ │ ├── ckpt_hooks_test.py
│ │ │ ├── ckpt_info.py
│ │ │ ├── ckpt_info_test.py
│ │ │ ├── controller_hooks.proto
│ │ │ ├── controller_hooks.py
│ │ │ ├── controller_hooks_test.py
│ │ │ ├── feature_engineering_hooks.py
│ │ │ ├── hook_utils.py
│ │ │ ├── hook_utils_test.py
│ │ │ ├── ps_check_hooks.py
│ │ │ ├── ps_check_hooks_test.py
│ │ │ ├── server/
│ │ │ │ ├── BUILD
│ │ │ │ ├── client_lib.py
│ │ │ │ ├── constants.py
│ │ │ │ ├── server_lib.py
│ │ │ │ ├── server_lib_test.py
│ │ │ │ └── service.proto
│ │ │ ├── session_hooks.py
│ │ │ └── session_hooks_test.py
│ │ ├── hvd_lib.py
│ │ ├── input.py
│ │ ├── layers/
│ │ │ ├── BUILD
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── add_bias.py
│ │ │ ├── add_bias_test.py
│ │ │ ├── advanced_activations.py
│ │ │ ├── advanced_activations_test.py
│ │ │ ├── agru.py
│ │ │ ├── agru_test.py
│ │ │ ├── dense.py
│ │ │ ├── dense_test.py
│ │ │ ├── feature_cross.py
│ │ │ ├── feature_cross_test.py
│ │ │ ├── feature_seq.py
│ │ │ ├── feature_seq_test.py
│ │ │ ├── feature_trans.py
│ │ │ ├── feature_trans_test.py
│ │ │ ├── kernels/
│ │ │ │ ├── feature_insight_kernels.cc
│ │ │ │ ├── ffm_kernels.cc
│ │ │ │ ├── ffm_kernels.cu.cc
│ │ │ │ ├── ffm_kernels.h
│ │ │ │ └── fid_counter_kernel.cc
│ │ │ ├── layer_ops.py
│ │ │ ├── layer_ops_test.py
│ │ │ ├── lhuc.py
│ │ │ ├── lhuc_test.py
│ │ │ ├── logit_correction.py
│ │ │ ├── logit_correction_test.py
│ │ │ ├── mlp.py
│ │ │ ├── mlp_test.py
│ │ │ ├── multi_task.py
│ │ │ ├── multi_task_test.py
│ │ │ ├── norms.py
│ │ │ ├── norms_test.py
│ │ │ ├── ops/
│ │ │ │ ├── feature_insight_ops.cc
│ │ │ │ ├── ffm_ops.cc
│ │ │ │ ├── fid_counter_op.cc
│ │ │ │ └── nas_ops.cc
│ │ │ ├── pooling.py
│ │ │ ├── pooling_test.py
│ │ │ ├── sparse_nas.py
│ │ │ ├── sparse_nas_test.py
│ │ │ └── utils.py
│ │ ├── learning_rate_functions.py
│ │ ├── learning_rate_functions_test.py
│ │ ├── logging_ops.py
│ │ ├── logging_ops_test.py
│ │ ├── losses/
│ │ │ ├── BUILD
│ │ │ ├── batch_softmax_loss.py
│ │ │ ├── batch_softmax_loss_test.py
│ │ │ ├── inbatch_auc_loss.py
│ │ │ ├── inbatch_auc_loss_test.py
│ │ │ └── ltr_losses.py
│ │ ├── metric/
│ │ │ ├── BUILD
│ │ │ ├── cli.py
│ │ │ ├── deep_insight_ops.py
│ │ │ ├── deep_insight_ops_test.py
│ │ │ ├── exit_hook.py
│ │ │ ├── kafka_utils.py
│ │ │ ├── metric_hook.py
│ │ │ ├── metric_hook_test.py
│ │ │ ├── utils.py
│ │ │ └── utils_test.py
│ │ ├── mlp_utils.py
│ │ ├── model.py
│ │ ├── model_comp_test.py
│ │ ├── model_dump/
│ │ │ ├── BUILD
│ │ │ ├── dump_utils.py
│ │ │ ├── graph_utils.py
│ │ │ ├── graph_utils_test.py
│ │ │ └── monolith_model.proto
│ │ ├── model_export/
│ │ │ ├── BUILD
│ │ │ ├── __init__.py
│ │ │ ├── data_gen_utils.py
│ │ │ ├── data_gen_utils_test.py
│ │ │ ├── demo_export.py
│ │ │ ├── demo_export_test.py
│ │ │ ├── demo_predictor.py
│ │ │ ├── demo_predictor_client.py
│ │ │ ├── export.proto
│ │ │ ├── export_context.py
│ │ │ ├── export_hooks.py
│ │ │ ├── export_hooks_test.py
│ │ │ ├── export_state_utils.py
│ │ │ ├── export_state_utils_test.py
│ │ │ ├── export_utils.py
│ │ │ ├── export_utils_test.py
│ │ │ ├── saved_model_exporters.py
│ │ │ ├── saved_model_exporters_test.py
│ │ │ ├── saved_model_visulizer.py
│ │ │ ├── testdata/
│ │ │ │ ├── BUILD
│ │ │ │ └── saved_model/
│ │ │ │ ├── entry/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_0/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_1/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_2/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ ├── ps_3/
│ │ │ │ │ └── 1622716114/
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ │ └── variables/
│ │ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ │ └── variables.index
│ │ │ │ └── ps_4/
│ │ │ │ └── 1622716114/
│ │ │ │ ├── assets/
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_0b9721ec6fc5396c38499b5be394b722_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_3fc25c64637605aa3983374cc61db982_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_e3997af6324e55640d4611001fa3a15b_4-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_0-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_1-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_2-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00002-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_3-00003-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00000-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00001-of-00004
│ │ │ │ │ ├── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00002-of-00004
│ │ │ │ │ └── MonolithHashTable_f6962510869b682fd764009be0e4e9c3_4-00003-of-00004
│ │ │ │ └── variables/
│ │ │ │ ├── variables.data-00000-of-00001
│ │ │ │ └── variables.index
│ │ │ ├── warmup_data_decoder.py
│ │ │ ├── warmup_data_gen.py
│ │ │ └── warmup_example_batch.py
│ │ ├── monolith_checkpoint_state.proto
│ │ ├── monolith_export.py
│ │ ├── multi_hash_table_ops.proto
│ │ ├── multi_hash_table_ops.py
│ │ ├── multi_hash_table_ops_test.py
│ │ ├── multi_type_hash_table.py
│ │ ├── multi_type_hash_table_test.py
│ │ ├── native_model.py
│ │ ├── native_task.py
│ │ ├── native_task_context.py
│ │ ├── nested_tensors.py
│ │ ├── nested_tensors_test.py
│ │ ├── net_utils.py
│ │ ├── net_utils_test.py
│ │ ├── optimizers/
│ │ │ ├── BUILD
│ │ │ ├── adamom.py
│ │ │ ├── adamom_test.py
│ │ │ ├── cc/
│ │ │ │ ├── kernels/
│ │ │ │ │ ├── training_op_helpers.h
│ │ │ │ │ ├── training_ops.cc
│ │ │ │ │ ├── training_ops.h
│ │ │ │ │ └── training_ops_gpu.cu.cc
│ │ │ │ └── training_ops.cc
│ │ │ ├── rmsprop.py
│ │ │ ├── rmsprop_test.py
│ │ │ ├── rmspropv2_test.py
│ │ │ └── shampoo.py
│ │ ├── prefetch_queue.py
│ │ ├── prefetch_queue_test.py
│ │ ├── proto/
│ │ │ ├── BUILD
│ │ │ ├── ckpt_info.proto
│ │ │ ├── debugging_info.proto
│ │ │ └── primus_am_service.proto
│ │ ├── ps_benchmark.py
│ │ ├── ps_benchmark_test.py
│ │ ├── ragged_utils.py
│ │ ├── ragged_utils_test.py
│ │ ├── remote_predict_ops.py
│ │ ├── restore_test.py
│ │ ├── runner_utils.py
│ │ ├── runner_utils_test.py
│ │ ├── runtime/
│ │ │ ├── allocator/
│ │ │ │ ├── BUILD
│ │ │ │ ├── block_allocator.cc
│ │ │ │ ├── block_allocator.h
│ │ │ │ └── block_allocator_test.cc
│ │ │ ├── common/
│ │ │ │ ├── BUILD
│ │ │ │ ├── cpu_info.cc
│ │ │ │ ├── cpu_info.h
│ │ │ │ ├── linalg_utils.h
│ │ │ │ ├── linalg_utils_test.cc
│ │ │ │ ├── metrics.cc
│ │ │ │ ├── metrics.h
│ │ │ │ └── metrics_test.cc
│ │ │ ├── concurrency/
│ │ │ │ ├── BUILD
│ │ │ │ ├── micro_one_bit_spin_lock.h
│ │ │ │ ├── queue.h
│ │ │ │ ├── queue_test.cc
│ │ │ │ ├── random_number_generator_benchmark.cc
│ │ │ │ ├── sleeper.h
│ │ │ │ ├── thread_pool.cc
│ │ │ │ ├── thread_pool.h
│ │ │ │ ├── xorshift.cc
│ │ │ │ ├── xorshift.h
│ │ │ │ └── xorshift_test.cc
│ │ │ ├── deep_insight/
│ │ │ │ ├── BUILD
│ │ │ │ ├── deep_insight.cc
│ │ │ │ ├── deep_insight.h
│ │ │ │ └── deep_insight_test.cc
│ │ │ ├── hash_filter/
│ │ │ │ ├── BUILD
│ │ │ │ ├── dummy_hash_filter.h
│ │ │ │ ├── filter.h
│ │ │ │ ├── hash_filter.cc
│ │ │ │ ├── hash_filter.h
│ │ │ │ ├── hash_filter_test.cc
│ │ │ │ ├── probabilistic_filter.cc
│ │ │ │ ├── probabilistic_filter.h
│ │ │ │ ├── probabilistic_filter_test.cc
│ │ │ │ ├── sliding_hash_filter.cc
│ │ │ │ ├── sliding_hash_filter.h
│ │ │ │ ├── sliding_hash_filter_test.cc
│ │ │ │ └── types.h
│ │ │ ├── hash_table/
│ │ │ │ ├── BUILD
│ │ │ │ ├── compressor/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── fake_quantizer.h
│ │ │ │ │ ├── fake_quantizer_test.cc
│ │ │ │ │ ├── float_compressor.cc
│ │ │ │ │ ├── float_compressor.h
│ │ │ │ │ ├── float_compressor.proto
│ │ │ │ │ ├── float_compressor_test.cc
│ │ │ │ │ ├── hash_net_quantizer.h
│ │ │ │ │ └── hash_net_quantizer_test.cc
│ │ │ │ ├── cuckoohash/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── CUCKOO_ORIGINAL_LICENSE
│ │ │ │ │ ├── bucket_container.hpp
│ │ │ │ │ ├── cuckoo_embedding_hash_table.cc
│ │ │ │ │ ├── cuckoo_embedding_hash_table.h
│ │ │ │ │ ├── cuckoo_embedding_hash_table_benchmark.cc
│ │ │ │ │ ├── cuckoo_embedding_hash_table_test.cc
│ │ │ │ │ ├── cuckoohash_config.hpp
│ │ │ │ │ ├── cuckoohash_map.hpp
│ │ │ │ │ └── cuckoohash_util.hpp
│ │ │ │ ├── embedding_hash_table.proto
│ │ │ │ ├── embedding_hash_table_factory.cc
│ │ │ │ ├── embedding_hash_table_factory.h
│ │ │ │ ├── embedding_hash_table_interface.h
│ │ │ │ ├── embedding_hash_table_test.h
│ │ │ │ ├── entry_accessor.cc
│ │ │ │ ├── entry_accessor.h
│ │ │ │ ├── entry_accessor_decorator.h
│ │ │ │ ├── entry_accessor_test.cc
│ │ │ │ ├── entry_defs.h
│ │ │ │ ├── entry_defs_test.cc
│ │ │ │ ├── hash_table_benchmark.cc
│ │ │ │ ├── initializer/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── constants_initializer.cc
│ │ │ │ │ ├── constants_initializer.h
│ │ │ │ │ ├── initializer_combination.cc
│ │ │ │ │ ├── initializer_combination.h
│ │ │ │ │ ├── initializer_combination_test.cc
│ │ │ │ │ ├── initializer_config.proto
│ │ │ │ │ ├── initializer_factory.cc
│ │ │ │ │ ├── initializer_factory.h
│ │ │ │ │ ├── initializer_interface.h
│ │ │ │ │ ├── random_uniform_initializer.cc
│ │ │ │ │ ├── random_uniform_initializer.h
│ │ │ │ │ └── random_uniform_initializer_test.cc
│ │ │ │ ├── optimizer/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── adadelta_optimizer.cc
│ │ │ │ │ ├── adadelta_optimizer.h
│ │ │ │ │ ├── adadelta_optimizer_test.cc
│ │ │ │ │ ├── adagrad_optimizer.cc
│ │ │ │ │ ├── adagrad_optimizer.h
│ │ │ │ │ ├── adagrad_optimizer_test.cc
│ │ │ │ │ ├── adam_optimizer.cc
│ │ │ │ │ ├── adam_optimizer.h
│ │ │ │ │ ├── adam_optimizer_test.cc
│ │ │ │ │ ├── amsgrad_optimizer.cc
│ │ │ │ │ ├── amsgrad_optimizer.h
│ │ │ │ │ ├── amsgrad_optimizer_test.cc
│ │ │ │ │ ├── avx_benchmark.cc
│ │ │ │ │ ├── avx_test.cc
│ │ │ │ │ ├── avx_utils.h
│ │ │ │ │ ├── batch_softmax_optimizer.cc
│ │ │ │ │ ├── batch_softmax_optimizer.h
│ │ │ │ │ ├── batch_softmax_optimizer_test.cc
│ │ │ │ │ ├── dc_optimizer.cc
│ │ │ │ │ ├── dc_optimizer.h
│ │ │ │ │ ├── dc_optimizer_test.cc
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer.cc
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer.h
│ │ │ │ │ ├── dynamic_wd_adagrad_optimizer_test.cc
│ │ │ │ │ ├── dynamic_wd_avx_test.cc
│ │ │ │ │ ├── dynamic_wd_avx_utils.h
│ │ │ │ │ ├── ftrl_optimizer.cc
│ │ │ │ │ ├── ftrl_optimizer.h
│ │ │ │ │ ├── ftrl_optimizer_test.cc
│ │ │ │ │ ├── group_adagrad_optimizer.cc
│ │ │ │ │ ├── group_adagrad_optimizer.h
│ │ │ │ │ ├── group_adagrad_optimizer_test.cc
│ │ │ │ │ ├── group_ftrl_optimizer.cc
│ │ │ │ │ ├── group_ftrl_optimizer.h
│ │ │ │ │ ├── group_ftrl_optimizer_test.cc
│ │ │ │ │ ├── momentum_optimizer.cc
│ │ │ │ │ ├── momentum_optimizer.h
│ │ │ │ │ ├── momentum_optimizer_test.cc
│ │ │ │ │ ├── moving_average_optimizer.cc
│ │ │ │ │ ├── moving_average_optimizer.h
│ │ │ │ │ ├── moving_average_optimizer_test.cc
│ │ │ │ │ ├── optimizer.proto
│ │ │ │ │ ├── optimizer_combination.cc
│ │ │ │ │ ├── optimizer_combination.h
│ │ │ │ │ ├── optimizer_combination_test.cc
│ │ │ │ │ ├── optimizer_decorator.h
│ │ │ │ │ ├── optimizer_factory.cc
│ │ │ │ │ ├── optimizer_factory.h
│ │ │ │ │ ├── optimizer_interface.h
│ │ │ │ │ ├── rmsprop_optimizer.cc
│ │ │ │ │ ├── rmsprop_optimizer.h
│ │ │ │ │ ├── rmsprop_optimizer_test.cc
│ │ │ │ │ ├── sgd_optimizer.cc
│ │ │ │ │ ├── sgd_optimizer.h
│ │ │ │ │ ├── sgd_optimizer_test.cc
│ │ │ │ │ ├── stochastic_rounding.cc
│ │ │ │ │ ├── stochastic_rounding.h
│ │ │ │ │ ├── stochastic_rounding_test.cc
│ │ │ │ │ └── test_utils.h
│ │ │ │ ├── quantized_entry_accessor.h
│ │ │ │ ├── quantized_entry_accessor_test.cc
│ │ │ │ ├── retriever/
│ │ │ │ │ ├── BUILD
│ │ │ │ │ ├── fake_quant_retriever.cc
│ │ │ │ │ ├── fake_quant_retriever.h
│ │ │ │ │ ├── fake_quant_retriever_test.cc
│ │ │ │ │ ├── hash_net_retriever.cc
│ │ │ │ │ ├── hash_net_retriever.h
│ │ │ │ │ ├── hash_net_retriever_test.cc
│ │ │ │ │ ├── raw_retriever.cc
│ │ │ │ │ ├── raw_retriever.h
│ │ │ │ │ ├── raw_retriever_test.cc
│ │ │ │ │ ├── retriever_base.h
│ │ │ │ │ ├── retriever_combination.cc
│ │ │ │ │ ├── retriever_combination.h
│ │ │ │ │ ├── retriever_combination_test.cc
│ │ │ │ │ └── retriever_interface.h
│ │ │ │ ├── utils.h
│ │ │ │ └── workspace.bzl
│ │ │ ├── hopscotch/
│ │ │ │ ├── BUILD
│ │ │ │ ├── hopscotch_hash_set.cc
│ │ │ │ ├── hopscotch_hash_set.h
│ │ │ │ └── hopscotch_hash_set_test.cc
│ │ │ ├── ops/
│ │ │ │ ├── BUILD
│ │ │ │ ├── agent_heartbeat.cc
│ │ │ │ ├── agent_heartbeat.h
│ │ │ │ ├── agent_heartbeat_test.cc
│ │ │ │ ├── aligned_concat_split.cu.cc
│ │ │ │ ├── alloc_utils.h
│ │ │ │ ├── clip_by_global_norm.cu.cc
│ │ │ │ ├── clip_by_global_norm.h
│ │ │ │ ├── clip_by_global_norm_fused.cu.cc
│ │ │ │ ├── clip_by_global_norm_op.cc
│ │ │ │ ├── deep_insight_client_tf_bridge.h
│ │ │ │ ├── deep_insight_ops.cc
│ │ │ │ ├── embedding_hash_table_tf_bridge.cc
│ │ │ │ ├── embedding_hash_table_tf_bridge.h
│ │ │ │ ├── file_metric_writer.cc
│ │ │ │ ├── file_metric_writer.h
│ │ │ │ ├── file_metric_writer_test.cc
│ │ │ │ ├── file_ops.cc
│ │ │ │ ├── file_utils.cc
│ │ │ │ ├── file_utils.h
│ │ │ │ ├── file_utils_test.cc
│ │ │ │ ├── fused_embedding_to_layout.cc
│ │ │ │ ├── fused_embedding_to_layout.cu.cc
│ │ │ │ ├── fused_embedding_to_layout.h
│ │ │ │ ├── fused_reorder_by_indices.cc
│ │ │ │ ├── gen_monolith_ops.py
│ │ │ │ ├── gen_seq_mask.cc
│ │ │ │ ├── global_norm.cu.cc
│ │ │ │ ├── gpu_multi_hash_table.h
│ │ │ │ ├── hash_filter_intercept_gradient_op.cc
│ │ │ │ ├── hash_filter_op.cc
│ │ │ │ ├── hash_filter_restore_op.cc
│ │ │ │ ├── hash_filter_save_op.cc
│ │ │ │ ├── hash_filter_tf_bridge.cc
│ │ │ │ ├── hash_filter_tf_bridge.h
│ │ │ │ ├── hash_table/
│ │ │ │ │ └── misc_ops.cc
│ │ │ │ ├── hash_table_lookup_op.cc
│ │ │ │ ├── hash_table_op.cc
│ │ │ │ ├── hash_table_restore_op.cc
│ │ │ │ ├── hash_table_save_op.cc
│ │ │ │ ├── hash_table_update_op.cc
│ │ │ │ ├── inbatch_auc_loss.cc
│ │ │ │ ├── logging_ops.cc
│ │ │ │ ├── logging_ops.proto
│ │ │ │ ├── map_id_to_embedding.cu.cc
│ │ │ │ ├── map_id_to_embedding_op.cc
│ │ │ │ ├── multi_hash_table.h
│ │ │ │ ├── multi_hash_table_lookup_op.cc
│ │ │ │ ├── multi_hash_table_op.cc
│ │ │ │ ├── multi_hash_table_save_restore_ops.cc
│ │ │ │ ├── multi_hash_table_update_op.cc
│ │ │ │ ├── net_utils.cc
│ │ │ │ ├── net_utils.h
│ │ │ │ ├── net_utils_test.cc
│ │ │ │ ├── normalize_merged_split_op.cc
│ │ │ │ ├── parameter_sync_ops.cc
│ │ │ │ ├── parameter_sync_tf_bridge.cc
│ │ │ │ ├── parameter_sync_tf_bridge.h
│ │ │ │ ├── prediction_service_grpc.cc
│ │ │ │ ├── prediction_service_grpc.h
│ │ │ │ ├── reduce_op.cc
│ │ │ │ ├── reduce_op.cu.cc
│ │ │ │ ├── remote_predict_op.h
│ │ │ │ ├── remote_predict_op_grpc.cc
│ │ │ │ ├── split_by_indices_op.cc
│ │ │ │ ├── static_reshape_op.cc
│ │ │ │ ├── touched_key_set_insert_op.cc
│ │ │ │ ├── touched_key_set_op.cc
│ │ │ │ ├── touched_key_set_steal_op.cc
│ │ │ │ ├── touched_key_set_tf_bridge.h
│ │ │ │ └── unique_mapping_ops.cc
│ │ │ └── parameter_sync/
│ │ │ ├── BUILD
│ │ │ ├── dummy_sync_client.h
│ │ │ ├── dummy_sync_server.cc
│ │ │ ├── dummy_sync_server.h
│ │ │ ├── parameter_sync.proto
│ │ │ ├── parameter_sync_client.cc
│ │ │ ├── parameter_sync_client.h
│ │ │ ├── parameter_sync_client_test.cc
│ │ │ ├── request_splitter.cc
│ │ │ ├── request_splitter.h
│ │ │ ├── request_splitter_test.cc
│ │ │ ├── sync_client_interface.h
│ │ │ ├── sync_client_manager.cc
│ │ │ └── sync_client_manager.h
│ │ ├── save_utils.py
│ │ ├── save_utils_test.py
│ │ ├── service_discovery.py
│ │ ├── service_discovery_test.py
│ │ ├── serving_ps_test.py
│ │ ├── session_run_hooks.py
│ │ ├── session_run_hooks_test.py
│ │ ├── signal_utils.py
│ │ ├── signal_utils_test.py
│ │ ├── static_reshape_op.py
│ │ ├── static_reshape_op_test.py
│ │ ├── summary/
│ │ │ ├── BUILD
│ │ │ ├── summary_ops.py
│ │ │ ├── summary_ops_test.py
│ │ │ ├── utils.py
│ │ │ └── utils_test.py
│ │ ├── sync_hooks.py
│ │ ├── sync_hooks_test.py
│ │ ├── sync_training_hooks.py
│ │ ├── sync_training_hooks_test.py
│ │ ├── tensor_utils.py
│ │ ├── tensor_utils_test.py
│ │ ├── test_utils.py
│ │ ├── touched_key_set_ops.py
│ │ ├── touched_key_set_ops_test.py
│ │ ├── utils.py
│ │ ├── utils_test.py
│ │ ├── variables.py
│ │ ├── variables_test.py
│ │ ├── yarn_runtime.py
│ │ ├── yarn_runtime_test.py
│ │ └── zk_utils.py
│ ├── path_utils.py
│ ├── tf_serving_workspace.bzl
│ ├── tpu_runner.py
│ ├── utils.py
│ └── utils_test.py
└── third_party/
├── BUILD
├── arrow.BUILD
├── brotli.BUILD
├── bzip2.BUILD
├── cli11/
│ ├── BUILD
│ ├── CLI11.hpp
│ └── current_version
├── cuCollections.patch
├── cuco.BUILD
├── dpssdk.BUILD
├── eigen3/
│ ├── README.txt
│ └── eigen_gcc6.patch
├── gperftools/
│ ├── gperftools.BUILD
│ └── gperftools.patch
├── half_sourceforge_net/
│ ├── BUILD
│ └── half.hpp
├── jemalloc/
│ ├── VERSION
│ └── jeprof
├── kafka.BUILD
├── libdata_java_model_training.BUILD
├── lz4.BUILD
├── msgpack/
│ └── msgpack.BUILD
├── nlohmann/
│ ├── BUILD
│ └── json.hpp
├── org_apache_zookeeper/
│ ├── BUILD
│ ├── Makefile.in
│ ├── config.guess
│ ├── config.h.in
│ ├── config.sub
│ ├── configure
│ ├── generated/
│ │ ├── zookeeper.jute.c
│ │ └── zookeeper.jute.h
│ ├── install-sh
│ ├── ltmain.sh
│ ├── missing
│ ├── zookeeper-client-c.BUILD
│ └── zookeeper.bzl
├── org_tensorflow/
│ ├── README.md
│ └── tf.patch
├── org_tensorflow_serving/
│ ├── public_tf_serving.patch
│ └── support_diff_dim_size_inputs.patch
├── pip_deps/
│ ├── BUILD
│ └── requirements.txt
├── rapidjson.BUILD
├── repo.bzl
├── tcmalloc/
│ └── libtcmalloc_minimal.so.4.3.0
├── thrift.BUILD
├── tlearner_arch.BUILD
├── upb.patch
├── xsimd.BUILD
└── zstd.BUILD
Copy disabled (too large)
Download .txt
Showing preview only (47,686K chars total). Download the full file to get everything.
SYMBOL INDEX (8901 symbols across 684 files)
FILE: deploy/api/v1/mlservice_types.go
type ServicePortType (line 28) | type ServicePortType
constant ServicePortTypeHttp (line 31) | ServicePortTypeHttp ServicePortType = "HTTP"
constant ServicePortTypeRpc (line 32) | ServicePortTypeRpc ServicePortType = "RPC"
constant ServicePortTypeMetrics (line 33) | ServicePortTypeMetrics ServicePortType = "Metrics"
constant ServicePortTypeOther (line 34) | ServicePortTypeOther ServicePortType = "Other"
type DeploymentTemplateSpec (line 38) | type DeploymentTemplateSpec struct
type ServicePort (line 48) | type ServicePort struct
type ServiceSpec (line 56) | type ServiceSpec struct
type RoleSpec (line 66) | type RoleSpec struct
type MLServiceSpec (line 80) | type MLServiceSpec struct
type ServicePhase (line 90) | type ServicePhase
constant ServiceQueuing (line 94) | ServiceQueuing ServicePhase = "Queuing"
constant ServiceDeploying (line 96) | ServiceDeploying ServicePhase = "Deploying"
constant ServiceRunning (line 98) | ServiceRunning ServicePhase = "Running"
constant ServiceAbnormal (line 100) | ServiceAbnormal ServicePhase = "Abnormal"
constant ServiceDeleting (line 102) | ServiceDeleting ServicePhase = "Deleting"
constant ServiceStopping (line 104) | ServiceStopping ServicePhase = "Stopping"
constant ServiceStopped (line 106) | ServiceStopped ServicePhase = "Stopped"
type MLServiceStatus (line 110) | type MLServiceStatus struct
type MLService (line 147) | type MLService struct
type MLServiceList (line 158) | type MLServiceList struct
function init (line 164) | func init() {
FILE: deploy/api/v1/zz_generated.deepcopy.go
method DeepCopyInto (line 32) | func (in *DeploymentTemplateSpec) DeepCopyInto(out *DeploymentTemplateSp...
method DeepCopy (line 39) | func (in *DeploymentTemplateSpec) DeepCopy() *DeploymentTemplateSpec {
method DeepCopyInto (line 49) | func (in *MLService) DeepCopyInto(out *MLService) {
method DeepCopy (line 58) | func (in *MLService) DeepCopy() *MLService {
method DeepCopyObject (line 68) | func (in *MLService) DeepCopyObject() runtime.Object {
method DeepCopyInto (line 76) | func (in *MLServiceList) DeepCopyInto(out *MLServiceList) {
method DeepCopy (line 90) | func (in *MLServiceList) DeepCopy() *MLServiceList {
method DeepCopyObject (line 100) | func (in *MLServiceList) DeepCopyObject() runtime.Object {
method DeepCopyInto (line 108) | func (in *MLServiceSpec) DeepCopyInto(out *MLServiceSpec) {
method DeepCopy (line 125) | func (in *MLServiceSpec) DeepCopy() *MLServiceSpec {
method DeepCopyInto (line 135) | func (in *MLServiceStatus) DeepCopyInto(out *MLServiceStatus) {
method DeepCopy (line 162) | func (in *MLServiceStatus) DeepCopy() *MLServiceStatus {
method DeepCopyInto (line 172) | func (in *RoleSpec) DeepCopyInto(out *RoleSpec) {
method DeepCopy (line 183) | func (in *RoleSpec) DeepCopy() *RoleSpec {
method DeepCopyInto (line 193) | func (in *ServicePort) DeepCopyInto(out *ServicePort) {
method DeepCopy (line 198) | func (in *ServicePort) DeepCopy() *ServicePort {
method DeepCopyInto (line 208) | func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
method DeepCopy (line 218) | func (in *ServiceSpec) DeepCopy() *ServiceSpec {
FILE: deploy/controllers/constants.go
constant ModuleInference (line 4) | ModuleInference = "inference"
constant MLPlatformVolcPrefix (line 5) | MLPlatformVolcPrefix = "mlplatform.volcengine.com"
constant ImmutableLabelServiceId (line 9) | ImmutableLabelServiceId = ModuleInference + "." + MLPlatformVolcPrefix +...
constant ImmutableLabelRoleName (line 10) | ImmutableLabelRoleName = ModuleInference + "." + MLPlatformVolcPrefix +...
constant ImmutableLabelShardId (line 11) | ImmutableLabelShardId = ModuleInference + "." + MLPlatformVolcPrefix +...
constant ImmutableLabelShardNum (line 12) | ImmutableLabelShardNum = ModuleInference + "." + MLPlatformVolcPrefix +...
constant EnvShardId (line 16) | EnvShardId = "MLP_SHARD_ID"
constant EnvPodName (line 17) | EnvPodName = "MLP_POD_NAME"
constant EnvHostIp (line 18) | EnvHostIp = "MLP_HOST_IP"
constant EnvShardNum (line 19) | EnvShardNum = "MLP_SHARD_NUM"
constant EnvIdc (line 20) | EnvIdc = "MLP_IDC"
constant EnvServiceName (line 21) | EnvServiceName = "MLP_SERVICE_NAME"
constant EnvRoleName (line 22) | EnvRoleName = "MLP_ROLE_NAME"
constant EnvPort (line 23) | EnvPort = "MLP_%s_PORT"
constant PodInitializing (line 28) | PodInitializing = "PodInitializing"
constant ContainerCreating (line 29) | ContainerCreating = "ContainerCreating"
constant DefaultRpcPort (line 33) | DefaultRpcPort = 8500
constant DefaultHttpPort (line 34) | DefaultHttpPort = 8501
constant ContainerEvicted (line 38) | ContainerEvicted = "Evicted"
constant ReasonInsufficientClusterResources (line 43) | ReasonInsufficientClusterResources = "InsufficientClusterResources"
constant ReasonInProgress (line 44) | ReasonInProgress = ""
constant ReasonStatusNotFound (line 45) | ReasonStatusNotFound = "StatusNotFound"
constant ReasonEvicted (line 46) | ReasonEvicted = "Evicted"
constant ReasonServiceExceptionExited (line 47) | ReasonServiceExceptionExited = "ExceptionExited"
FILE: deploy/controllers/deployment_handler.go
function getDeploymentName (line 21) | func getDeploymentName(mlsvcName, role string, shardIdx int) string {
method DeploymentHandler (line 27) | func (r *MLServiceReconciler) DeploymentHandler(ctx context.Context, mls...
method createDeployment (line 134) | func (r *MLServiceReconciler) createDeployment(ctx context.Context, dp *...
method updateDeployment (line 145) | func (r *MLServiceReconciler) updateDeployment(ctx context.Context, desi...
method deleteDeployment (line 159) | func (r *MLServiceReconciler) deleteDeployment(ctx context.Context, dp *...
method cleanOwnedDeployments (line 172) | func (r *MLServiceReconciler) cleanOwnedDeployments(ctx context.Context,...
method getOwnedDeployments (line 201) | func (r *MLServiceReconciler) getOwnedDeployments(ctx context.Context, m...
function AdditionalEnvs (line 211) | func AdditionalEnvs(mlsvcName, roleName, idc string, shardIdx, shardNum ...
function SetAdditionalKeyValuePairs (line 260) | func SetAdditionalKeyValuePairs(existing map[string]string, mlsvcName, r...
FILE: deploy/controllers/mlservice_controller.go
type MLSvcHandler (line 36) | type MLSvcHandler
type MLServiceReconciler (line 41) | type MLServiceReconciler struct
method Reconcile (line 64) | func (r *MLServiceReconciler) Reconcile(ctx context.Context, req ctrl....
method SetupWithManager (line 96) | func (r *MLServiceReconciler) SetupWithManager(mgr ctrl.Manager) error {
method updateStatus (line 110) | func (r *MLServiceReconciler) updateStatus(ctx context.Context, mlsvc ...
FILE: deploy/controllers/service_handler.go
function getServiceName (line 19) | func getServiceName(mlsvcName, role string) string {
method ServiceHandler (line 25) | func (r *MLServiceReconciler) ServiceHandler(ctx context.Context, mlsvc ...
method cleanOwnedServices (line 98) | func (r *MLServiceReconciler) cleanOwnedServices(ctx context.Context, ml...
method getOwnedServices (line 127) | func (r *MLServiceReconciler) getOwnedServices(ctx context.Context, mlsv...
function GetServicePorts (line 137) | func GetServicePorts(ports []monolithv1.ServicePort) []corev1.ServicePort {
FILE: deploy/controllers/status.go
method getMLServiceStatus (line 23) | func (r *MLServiceReconciler) getMLServiceStatus(ctx context.Context, ml...
method getDeploymentStatus (line 102) | func (r *MLServiceReconciler) getDeploymentStatus(ctx context.Context, d...
method getReplicaSetStatus (line 138) | func (r *MLServiceReconciler) getReplicaSetStatus(ctx context.Context, r...
method getPodStatus (line 215) | func (r *MLServiceReconciler) getPodStatus(ctx context.Context, pod *cor...
function getContainerAbnormalMessage (line 293) | func getContainerAbnormalMessage(status corev1.ContainerStatus, isInitCo...
function getPodCondition (line 317) | func getPodCondition(pod *corev1.Pod, conditionType corev1.PodConditionT...
FILE: deploy/main.go
function init (line 45) | func init() {
function main (line 52) | func main() {
FILE: idl/matrix/compression/compression.cc
type matrix (line 21) | namespace matrix {
type compression (line 22) | namespace compression {
function compress_float_list_f16 (line 26) | bool compress_float_list_f16(const char* raw_data, const size_t raw_...
function compress_float_list_f16 (line 47) | bool compress_float_list_f16(const char* raw_data, const size_t raw_...
function decompress_float_list_f16 (line 65) | bool decompress_float_list_f16(const char* compressed_data,
function decompress_float_list_f16 (line 87) | bool decompress_float_list_f16(const char* compressed_data,
function compress_float_list_f16b (line 106) | bool compress_float_list_f16b(const char* raw_data, const size_t raw...
function decompress_float_list_f16b (line 123) | bool decompress_float_list_f16b(const char* compressed_data,
FILE: idl/matrix/compression/compression.h
function namespace (line 21) | namespace matrix {
FILE: idl/matrix/compression/compression_qtz8mm.cc
type matrix (line 22) | namespace matrix {
type compression (line 23) | namespace compression {
function compress_float_list_qtz8mm (line 25) | bool compress_float_list_qtz8mm(const char* raw_data, const size_t r...
function decompress_float_list_qtz8mm (line 51) | bool decompress_float_list_qtz8mm(const char* compressed_data,
FILE: idl/matrix/compression/compression_qtz8mm.h
function namespace (line 22) | namespace matrix {
FILE: idl/matrix/compression/float16.h
function namespace (line 25) | namespace matrix {
FILE: markdown/demo/demo_local_runner.py
function get_rand_port (line 31) | def get_rand_port():
function launch_workers (line 42) | def launch_workers(num_ps: int, num_workers: int):
function main (line 77) | def main(_):
FILE: markdown/demo/demo_model.py
function get_worker_count (line 34) | def get_worker_count(env: dict):
class MovieRankingModelBase (line 40) | class MovieRankingModelBase(MonolithModel):
method __init__ (line 41) | def __init__(self, params):
method model_fn (line 45) | def model_fn(self, features, mode):
method serving_input_receiver_fn (line 75) | def serving_input_receiver_fn(self):
class MovieRankingBatchTraining (line 79) | class MovieRankingBatchTraining(MovieRankingModelBase):
method input_fn (line 80) | def input_fn(self, mode):
class MovieRankingStreamTraining (line 87) | class MovieRankingStreamTraining(MovieRankingModelBase):
method input_fn (line 88) | def input_fn(self, mode):
function read_stdin (line 101) | def read_stdin():
class MovieRankingBatchTrainingStdin (line 114) | class MovieRankingBatchTrainingStdin(MovieRankingModelBase):
method input_fn (line 115) | def input_fn(self, mode):
function main (line 128) | def main(_):
FILE: markdown/demo/kafka_receiver.py
function to_ragged (line 24) | def to_ragged(x):
function decode_example (line 32) | def decode_example(v):
FILE: markdown/demo/ml_dataset.py
function get_preprocessed_dataset (line 20) | def get_preprocessed_dataset(size='1m') -> tf.data.Dataset:
function serialize_one (line 32) | def serialize_one(data):
function serialize_hr (line 43) | def serialize_hr(data):
function save_one_shard (line 46) | def save_one_shard(total_shards, pid, start, end):
FILE: monolith/__init__.py
function add_module (line 30) | def add_module(module):
FILE: monolith/agent_service/agent.py
function run_agent (line 41) | def run_agent(agent_config_path: str, tfs_log: str,
function main (line 74) | def main(_):
FILE: monolith/agent_service/agent_base.py
function get_cmd_path (line 23) | def get_cmd_path():
function get_cmd_and_port (line 28) | def get_cmd_and_port(config: AgentConfig,
class ServingLog (line 57) | class ServingLog(object):
method __init__ (line 59) | def __init__(self, log_prefix: str, tfs_log: str):
method __enter__ (line 65) | def __enter__(self):
method __exit__ (line 73) | def __exit__(self, exc_type, exc_val, exc_tb):
class AgentBase (line 77) | class AgentBase(metaclass=ABCMeta):
method __init__ (line 79) | def __init__(self, conf: AgentConfig):
method start (line 83) | def start(self):
method wait_for_termination (line 87) | def wait_for_termination(self):
FILE: monolith/agent_service/agent_client.py
function main (line 45) | def main(_):
FILE: monolith/agent_service/agent_controller.py
function find_model_name (line 43) | def find_model_name(exported_models_path: str):
function declare_saved_model (line 63) | def declare_saved_model(bd: CtrlBackend,
function map_model_to_layout (line 91) | def map_model_to_layout(bd: CtrlBackend, model_pattern: str, layout_path...
function bzid_info (line 108) | def bzid_info(bd: CtrlBackend):
function main (line 112) | def main(_):
FILE: monolith/agent_service/agent_controller_test.py
function saved_model (line 24) | def saved_model(sub_graph):
class AgentControllerTest (line 28) | class AgentControllerTest(unittest.TestCase):
method setUpClass (line 31) | def setUpClass(cls) -> None:
method tearDownClass (line 39) | def tearDownClass(cls) -> None:
method test_decl_saved_models (line 43) | def test_decl_saved_models(self):
method test_pub (line 58) | def test_pub(self):
FILE: monolith/agent_service/agent_service.py
class AgentDataProvider (line 33) | class AgentDataProvider:
method __init__ (line 35) | def __init__(self, addrs_fn: Callable[[], Dict[str, List[str]]]):
class AgentServiceImpl (line 39) | class AgentServiceImpl(AgentServiceServicer):
method __init__ (line 42) | def __init__(self, arg):
method _ (line 46) | def _(self, watcher: ReplicaWatcher, conf: AgentConfig = None):
method _ (line 51) | def _(self, zk: ZKMirror, conf: AgentConfig):
method _ (line 56) | def _(self, data_provider: AgentDataProvider, conf: AgentConfig):
method GetReplicas (line 60) | def GetReplicas(self, request: GetReplicasRequest,
method HeartBeat (line 76) | def HeartBeat(self, request: HeartBeatRequest, context) -> HeartBeatRe...
method GetResource (line 105) | def GetResource(self, request: GetResourceRequest,
class AgentService (line 120) | class AgentService:
method __init__ (line 123) | def __init__(self, arg):
method _ (line 127) | def _(self, watcher: ReplicaWatcher, port: int = None, max_workers: in...
method _ (line 134) | def _(self, zk: ZKMirror, conf: AgentConfig, max_workers: int = 10):
method _ (line 141) | def _(self, data_provider: AgentDataProvider, conf: AgentConfig, max_w...
method start (line 148) | def start(self):
method wait_for_termination (line 151) | def wait_for_termination(self):
method stop (line 154) | def stop(self, grace=None):
FILE: monolith/agent_service/agent_service_test.py
class AgentServiceTest (line 37) | class AgentServiceTest(unittest.TestCase):
method setUpClass (line 40) | def setUpClass(cls) -> None:
method tearDownClass (line 59) | def tearDownClass(cls) -> None:
method register (line 64) | def register(cls, zk):
method test_heart_beat (line 96) | def test_heart_beat(self):
method test_get_replicas (line 100) | def test_get_replicas(self):
FILE: monolith/agent_service/agent_v1.py
class ProcessType (line 34) | class ProcessType(Enum):
class ProcessNode (line 42) | class ProcessNode(object):
method __init__ (line 44) | def __init__(self,
method sub_procs (line 91) | def sub_procs(self):
method add_subproc (line 94) | def add_subproc(self, pn: 'ProcessNode'):
method returncode (line 101) | def returncode(self):
method poll (line 107) | def poll(self):
method kill (line 113) | def kill(self):
method run (line 138) | def run(self):
method failover (line 188) | def failover(self):
method wait_for_started (line 199) | def wait_for_started(self):
function get_proc (line 215) | def get_proc(node: ProcessNode, res: List[ProcessNode]):
class ProcessMgr (line 222) | class ProcessMgr(object):
method __init__ (line 226) | def __init__(self):
method add_subproc (line 237) | def add_subproc(self, proc: ProcessNode):
method signal_handler (line 240) | def signal_handler(self, signum, frame):
method _poll (line 259) | def _poll(self):
method start (line 278) | def start(self):
method kill_all (line 287) | def kill_all(self, include_self=True):
class AgentV1 (line 299) | class AgentV1(AgentBase):
method __init__ (line 301) | def __init__(self,
method start (line 369) | def start(self):
method wait_for_termination (line 379) | def wait_for_termination(self):
method stop (line 382) | def stop(self):
FILE: monolith/agent_service/agent_v3.py
function gen_empty_model_config_file (line 43) | def gen_empty_model_config_file():
class AgentV3 (line 50) | class AgentV3(AgentBase):
method __init__ (line 54) | def __init__(self, config: AgentConfig, conf_path: str, tfs_log: str):
method _gen_addrs_map (line 106) | def _gen_addrs_map(self):
method sync_available_saved_models (line 118) | def sync_available_saved_models(self):
method layout_update_callback (line 128) | def layout_update_callback(
method signal_handler (line 160) | def signal_handler(self, signum, frame):
method start_bg_thread (line 164) | def start_bg_thread(self, fn, interval=10):
method start (line 178) | def start(self):
method stop (line 190) | def stop(self):
method wait_for_termination (line 201) | def wait_for_termination(self):
FILE: monolith/agent_service/agent_v3_test.py
class AgentV3Test (line 29) | class AgentV3Test(unittest.TestCase):
method setUpClass (line 32) | def setUpClass(cls) -> None:
method tearDownClass (line 71) | def tearDownClass(cls) -> None:
method test_service_info (line 75) | def test_service_info(self):
method test_publish_models (line 79) | def test_publish_models(self):
FILE: monolith/agent_service/backends.py
class SavedModel (line 33) | class SavedModel:
method __repr__ (line 37) | def __repr__(self):
method __str__ (line 40) | def __str__(self):
class SavedModelDeployConfig (line 46) | class SavedModelDeployConfig:
method serialize (line 50) | def serialize(self) -> bytes:
method deserialize (line 54) | def deserialize(cls, serialized: bytes) -> 'SavedModelDeployConfig':
class Container (line 59) | class Container:
method __repr__ (line 63) | def __repr__(self):
method __str__ (line 66) | def __str__(self):
class ContainerServiceInfo (line 72) | class ContainerServiceInfo:
method serialize (line 80) | def serialize(self) -> bytes:
method deserialize (line 84) | def deserialize(cls, serialized: bytes) -> 'ContainerServiceInfo':
class AgentBackend (line 88) | class AgentBackend(abc.ABC):
method __init__ (line 90) | def __init__(self):
method register_layout_callback (line 94) | def register_layout_callback(
method sync_available_saved_models (line 105) | def sync_available_saved_models(self, saved_models: List[SavedModel]) ...
method report_service_info (line 112) | def report_service_info(self, container: Container,
method get_service_map (line 117) | def get_service_map(self) -> Dict[str, Dict[str, List[ContainerService...
method report_service_info (line 137) | def report_service_info(self, container: Container,
method get_service_info (line 142) | def get_service_info(self, container) -> ContainerServiceInfo:
method start (line 146) | def start(self):
method stop (line 150) | def stop(self):
class CtrlBackend (line 154) | class CtrlBackend(abc.ABC):
method __init__ (line 156) | def __init__(self):
method list_saved_models (line 160) | def list_saved_models(self, model_name: str) -> List[SavedModel]:
method decl_saved_model (line 164) | def decl_saved_model(self, saved_model: SavedModel,
method add_to_layout (line 169) | def add_to_layout(self, layout: str, saved_model: SavedModel):
method remove_from_layout (line 173) | def remove_from_layout(self, layout: str, saved_model: SavedModel):
method bzid_info (line 177) | def bzid_info(self):
method start (line 181) | def start(self):
method stop (line 185) | def stop(self):
class SyncBackend (line 189) | class SyncBackend(abc.ABC):
method __init__ (line 191) | def __init__(self):
method subscribe_model (line 195) | def subscribe_model(self, model_name: str):
method get_sync_targets (line 199) | def get_sync_targets(
method start (line 204) | def start(self):
method stop (line 208) | def stop(self):
class ZKBackend (line 212) | class ZKBackend(AgentBackend, CtrlBackend, SyncBackend):
method __init__ (line 216) | def __init__(self, bzid: str, zk_servers: str):
method sync_available_saved_models (line 237) | def sync_available_saved_models(self, container: Container,
method register_layout_callback (line 263) | def register_layout_callback(
method get_service_map (line 303) | def get_service_map(self) -> Dict[str, Dict[str, List[ContainerService...
method _bind_callback (line 322) | def _bind_callback(self, model_name, children):
method report_service_info (line 339) | def report_service_info(self, container: Container,
method get_service_info (line 347) | def get_service_info(self, container) -> ContainerServiceInfo:
method _children_watch (line 355) | def _children_watch(self, path, callback):
method list_saved_models (line 368) | def list_saved_models(self, model_name: str) -> List[SavedModel]:
method decl_saved_model (line 376) | def decl_saved_model(self, saved_model: SavedModel,
method add_to_layout (line 384) | def add_to_layout(self, layout: str, saved_model: SavedModel):
method remove_from_layout (line 388) | def remove_from_layout(self, layout: str, saved_model: SavedModel):
method bzid_info (line 395) | def bzid_info(self):
method subscribe_model (line 465) | def subscribe_model(self, model_name: str):
method get_sync_targets (line 476) | def get_sync_targets(self, sub_graph: str) -> Tuple[str, List[str]]:
method create_znode (line 489) | def create_znode(self, path, value, ephemeral=False, makepath=False) -...
method delete_znode (line 501) | def delete_znode(self, path) -> None:
method get_znode (line 508) | def get_znode(self, path) -> bytes:
method start (line 514) | def start(self):
method stop (line 517) | def stop(self):
FILE: monolith/agent_service/backends_test.py
class ZKBackendTest (line 24) | class ZKBackendTest(unittest.TestCase):
method setUpClass (line 27) | def setUpClass(cls) -> None:
method tearDownClass (line 50) | def tearDownClass(cls) -> None:
method test_register_service (line 54) | def test_register_service(self):
method test_layout_callback (line 58) | def test_layout_callback(self):
method test_sync_available_models (line 92) | def test_sync_available_models(self):
method test_service_map (line 106) | def test_service_map(self):
method test_sync_backend (line 120) | def test_sync_backend(self):
FILE: monolith/agent_service/client.py
class LoadSate (line 45) | class LoadSate:
class ServingClient (line 51) | class ServingClient(object):
method __init__ (line 53) | def __init__(self, zk_servers: str, bzid: str):
method load (line 59) | def load(self,
method unload (line 73) | def unload(self, model_name: str):
method get_status (line 81) | def get_status(self, model_name: str) -> LoadSate:
function main (line 105) | def main(_):
FILE: monolith/agent_service/data_def.py
class ModelMeta (line 37) | class ModelMeta(object):
method get_path (line 45) | def get_path(self, base_path: str) -> str:
method serialize (line 48) | def serialize(self) -> bytes:
method deserialize (line 52) | def deserialize(cls, serialized: bytes) -> 'ModelMeta':
class ResourceSpec (line 58) | class ResourceSpec(object):
method get_path (line 67) | def get_path(self, base_path: str) -> str:
method serialize (line 70) | def serialize(self) -> bytes:
method deserialize (line 74) | def deserialize(cls, serialized: bytes) -> 'ResourceSpec':
class PublishType (line 78) | class PublishType(Enum):
class PublishMeta (line 85) | class PublishMeta(object):
method get_path (line 95) | def get_path(self, base_path: str) -> str:
method serialize (line 99) | def serialize(self) -> bytes:
method deserialize (line 103) | def deserialize(cls, serialized: bytes) -> 'PublishMeta':
class ReplicaMeta (line 109) | class ReplicaMeta:
method serialize (line 120) | def serialize(self) -> bytes:
method deserialize (line 124) | def deserialize(cls, serialized: bytes) -> 'ReplicaMeta':
method get_path (line 127) | def get_path(self, bzid: str, sep: str = '/') -> str:
method get_address (line 134) | def get_address(self,
class EventType (line 151) | class EventType(Enum):
class Event (line 161) | class Event(object):
method serialize (line 166) | def serialize(self) -> bytes:
method deserialize (line 170) | def deserialize(cls, serialized: bytes) -> 'Event':
FILE: monolith/agent_service/data_def_test.py
class DataDefTest (line 19) | class DataDefTest(unittest.TestCase):
method serde (line 21) | def serde(self, item):
method test_model_info (line 27) | def test_model_info(self):
method test_resource (line 34) | def test_resource(self):
method test_replica_meta (line 42) | def test_replica_meta(self):
FILE: monolith/agent_service/mocked_tfserving.py
class ModelConf (line 47) | class ModelConf:
class ModelVersion (line 57) | class ModelVersion:
class ModelMeta (line 63) | class ModelMeta:
method __init__ (line 65) | def __init__(self, conf: ModelConf, versions: List[ModelVersion] = None):
method is_unloading (line 70) | def is_unloading(self):
method set_unloading (line 73) | def set_unloading(self):
class Event (line 78) | class Event:
class ModelMgr (line 84) | class ModelMgr:
method __init__ (line 86) | def __init__(self, model_config_list=None):
method load (line 96) | def load(self, model_config_list):
method remove (line 125) | def remove(self, model_name_list):
method get_status (line 134) | def get_status(self, model_spec):
method get_metadata (line 168) | def get_metadata(self, model_spec, metadata_field):
method get_alive_model_names (line 189) | def get_alive_model_names(self):
method start (line 193) | def start(self):
method stop (line 197) | def stop(self):
method _poll (line 203) | def _poll(self):
method _event_handler (line 228) | def _event_handler(self, event: Event):
class ModelServiceImpl (line 305) | class ModelServiceImpl(ModelServiceServicer):
method __init__ (line 307) | def __init__(self, model_mgr: ModelMgr):
method GetModelStatus (line 310) | def GetModelStatus(self, request: GetModelStatusRequest, context):
method HandleReloadConfigRequest (line 316) | def HandleReloadConfigRequest(self, request: ReloadConfigRequest, cont...
class PredictionServiceImpl (line 334) | class PredictionServiceImpl(PredictionServiceServicer):
method __init__ (line 336) | def __init__(self, model_mgr: ModelMgr):
method Predict (line 339) | def Predict(self, request, context):
method GetModelMetadata (line 342) | def GetModelMetadata(self, request: GetModelMetadataRequest, context):
class FakeTFServing (line 356) | class FakeTFServing:
method __init__ (line 358) | def __init__(self,
method start (line 387) | def start(self):
method stop (line 392) | def stop(self, grace=None):
FILE: monolith/agent_service/mocked_tfserving_test.py
class MockedTFSTest (line 40) | class MockedTFSTest(unittest.TestCase):
method setUpClass (line 44) | def setUpClass(cls) -> None:
method tearDownClass (line 52) | def tearDownClass(cls) -> None:
method test_get_model_metadata (line 55) | def test_get_model_metadata(self):
method test_get_model_status (line 66) | def test_get_model_status(self):
method test_handle_reload_config_request (line 74) | def test_handle_reload_config_request(self):
FILE: monolith/agent_service/mocked_zkclient.py
class ChildrenWatch (line 25) | class ChildrenWatch:
method __init__ (line 27) | def __init__(self,
method __call__ (line 40) | def __call__(self, children: List[str], event: WatchedEvent):
class DataWatch (line 47) | class DataWatch:
method __init__ (line 49) | def __init__(self, client, path: str,
method __call__ (line 57) | def __call__(self, data: bytes, state: ZnodeStat, event: WatchedEvent):
class Election (line 64) | class Election(object):
method __init__ (line 66) | def __init__(self, client, path, identifier=None):
method run (line 69) | def run(self, func, *args, **kwargs):
method cancel (line 79) | def cancel(self):
class Node (line 83) | class Node:
method __init__ (line 85) | def __init__(self,
method state (line 112) | def state(self):
method basename (line 126) | def basename(self):
method set (line 129) | def set(self, value: bytes):
method get (line 140) | def get(self):
method set_data_watch (line 143) | def set_data_watch(self, watch: DataWatch):
method set_children_watch (line 147) | def set_children_watch(self, watch: ChildrenWatch):
method create_child (line 151) | def create_child(self,
method get_or_create_child (line 174) | def get_or_create_child(self, path):
method get_child (line 181) | def get_child(self, path):
method has_child (line 184) | def has_child(self, path=None):
method remove_child (line 190) | def remove_child(self, path, recursive: bool = False):
method __del__ (line 206) | def __del__(self):
class Catalog (line 225) | class Catalog:
method __init__ (line 227) | def __init__(self):
method add_data_watch (line 233) | def add_data_watch(self, watch: DataWatch):
method add_children_watch (line 241) | def add_children_watch(self, watch: ChildrenWatch):
method ensure_path (line 249) | def ensure_path(self, path: str) -> Node:
method create (line 262) | def create(self,
method delete (line 290) | def delete(self, path: str, recursive: bool = False):
method set (line 295) | def set(self, path: str, value: bytes):
method get (line 298) | def get(self, path: str) -> Node:
class FakeKazooClient (line 310) | class FakeKazooClient:
method __init__ (line 312) | def __init__(self, zk_server: str = None):
method ensure_path (line 320) | def ensure_path(self, path: str):
method start (line 323) | def start(self):
method create (line 326) | def create(self,
method delete (line 341) | def delete(self, path: str, recursive: bool = True):
method set (line 344) | def set(self, path: str, value: bytes):
method get (line 347) | def get(self, path: str):
method exists (line 351) | def exists(self, path: str):
method get_children (line 358) | def get_children(self, path: str, include_data=False):
method retry (line 366) | def retry(self, func, *args, **kwargs):
method stop (line 369) | def stop(self):
method close (line 372) | def close(self):
method add_listener (line 376) | def add_listener(self, listener):
FILE: monolith/agent_service/mocked_zkclient_test.py
class MockedZKClientTest (line 23) | class MockedZKClientTest(unittest.TestCase):
method setUpClass (line 27) | def setUpClass(cls) -> None:
method tearDownClass (line 32) | def tearDownClass(cls) -> None:
method test_create (line 35) | def test_create(self):
method test_set_get (line 45) | def test_set_get(self):
method test_delete (line 75) | def test_delete(self):
method test_data_watch (line 88) | def test_data_watch(self):
method test_children_watch (line 103) | def test_children_watch(self):
FILE: monolith/agent_service/model_manager.py
class ModelManager (line 27) | class ModelManager(object):
method __init__ (line 32) | def __init__(self, model_name, source_path, receive_path, use_metrics):
method init_metrics (line 51) | def init_metrics(self):
method stop (line 54) | def stop(self):
method start (line 59) | def start(self):
method _start (line 68) | def _start(self):
method touch (line 99) | def touch(self, file):
method run (line 108) | def run(self):
method check_model_update_time (line 123) | def check_model_update_time(self):
method remove_old_file (line 143) | def remove_old_file(self):
method create_read_lock (line 151) | def create_read_lock(self, name):
method remove_read_lock (line 159) | def remove_read_lock(self):
method loop_once (line 177) | def loop_once(self):
method copy_model (line 208) | def copy_model(self, model_name, version, model_data):
method wait_for_download (line 256) | def wait_for_download(self):
method get_source_data (line 288) | def get_source_data(self):
method get_version_data (line 331) | def get_version_data(self, path, version):
method get_done_file (line 354) | def get_done_file(self, file):
method delete (line 357) | def delete(self, file):
FILE: monolith/agent_service/model_manager_test.py
class ModelManagerTest (line 27) | class ModelManagerTest(unittest.TestCase):
method create_file (line 29) | def create_file(self, model_name, timestamp, p2p_data_path):
method test_start (line 45) | def test_start(self):
method test_ignore_old (line 74) | def test_ignore_old(self):
function main (line 108) | def main(_):
FILE: monolith/agent_service/replica_manager.py
class ReplicaWatcher (line 42) | class ReplicaWatcher(object):
method __init__ (line 44) | def __init__(self,
method zk (line 71) | def zk(self):
method watch_data (line 74) | def watch_data(self):
method stop (line 87) | def stop(self):
method _get_idc_cluster_children_watch (line 100) | def _get_idc_cluster_children_watch(self, path_prefix: str):
method _get_task_children_watch (line 115) | def _get_task_children_watch(self, path_prefix: str):
method _get_replica_children_watch (line 131) | def _get_replica_children_watch(self, task_path: str):
method _get_data_watch (line 145) | def _get_data_watch(self, path):
method _poll (line 187) | def _poll(self):
method get_all_replicas (line 273) | def get_all_replicas(self,
method get_replicas (line 306) | def get_replicas(self,
method get_replica (line 327) | def get_replica(self,
method get_replicas_with_extra_info (line 356) | def get_replicas_with_extra_info(self,
method to_sync_wrapper (line 380) | def to_sync_wrapper(self) -> SyncBackend:
class ReplicaUpdater (line 384) | class ReplicaUpdater(object):
method __init__ (line 386) | def __init__(self, zk_client: MonolithKazooClient, config: AgentConfig):
method init_metrics (line 419) | def init_metrics(self):
method zk (line 431) | def zk(self):
method model_names (line 435) | def model_names(self):
method entry_path (line 452) | def entry_path(self):
method ps_path (line 456) | def ps_path(self, task_id: int):
method dense_path (line 460) | def dense_path(self):
method _do_register (line 464) | def _do_register(self, replica_path: str, grpc_port: int, archon_port:...
method register (line 508) | def register(self):
method _do_update (line 528) | def _do_update(self, name: str):
method _updater (line 588) | def _updater(self):
method _get_latest_version_in_fs (line 608) | def _get_latest_version_in_fs(self, name):
method _check_version (line 617) | def _check_version(self):
method _watch_update (line 657) | def _watch_update(self):
method _reregister (line 671) | def _reregister(self):
method start (line 679) | def start(self):
method stop (line 694) | def stop(self):
class ZKListener (line 717) | class ZKListener(object):
method __init__ (line 719) | def __init__(self, watcher: ReplicaWatcher, updater: ReplicaUpdater):
method __call__ (line 724) | def __call__(self, state: KazooState) -> bool:
class ReplicaManager (line 749) | class ReplicaManager:
method __init__ (line 751) | def __init__(self, zk_client: MonolithKazooClient, config: AgentConfig):
method watcher (line 760) | def watcher(self):
method updater (line 764) | def updater(self):
method start (line 767) | def start(self):
method stop (line 772) | def stop(self):
method get_all_replicas (line 776) | def get_all_replicas(self,
method get_replicas (line 782) | def get_replicas(self,
method get_replica (line 789) | def get_replica(self,
method is_ps_set_started (line 797) | def is_ps_set_started(self):
method is_dense_set_started (line 807) | def is_dense_set_started(self):
class SyncBackendWrapper (line 815) | class SyncBackendWrapper(SyncBackend):
method __init__ (line 817) | def __init__(self, watcher: ReplicaWatcher):
method subscribe_model (line 822) | def subscribe_model(self, model_name: str):
method get_sync_targets (line 825) | def get_sync_targets(self, sub_graph: str) -> Tuple[str, Dict]:
method start (line 831) | def start(self):
method stop (line 834) | def stop(self):
FILE: monolith/agent_service/replica_manager_test.py
class ReplicaMgrTest (line 37) | class ReplicaMgrTest(unittest.TestCase):
method setUpClass (line 42) | def setUpClass(cls) -> None:
method tearDownClass (line 81) | def tearDownClass(cls) -> None:
method register (line 87) | def register(self, zk):
FILE: monolith/agent_service/resource_utils.py
function _get_pod_cgroup_path (line 35) | def _get_pod_cgroup_path():
function exists (line 50) | def exists(dirname: str) -> bool:
function open_hdfs (line 54) | def open_hdfs(fname: Union[str, List[str]]):
function cal_model_info_v2 (line 77) | def cal_model_info_v2(
function total_memory (line 166) | def total_memory() -> int:
function total_memory_v2 (line 179) | def total_memory_v2() -> int:
function cal_available_memory (line 184) | def cal_available_memory() -> int:
function cal_available_memory_v2 (line 198) | def cal_available_memory_v2() -> int:
class CPU (line 203) | class CPU(object):
method __init__ (line 205) | def __init__(self, cpuacct_file):
method wall_clock (line 210) | def wall_clock(self):
method cpu_clock (line 219) | def cpu_clock(self):
method cpu_usage (line 224) | def cpu_usage(self):
function num_cpu (line 238) | def num_cpu():
function cal_cpu_usage (line 256) | def cal_cpu_usage():
function cal_cpu_usage_v2 (line 268) | def cal_cpu_usage_v2() -> float:
FILE: monolith/agent_service/resource_utils_test.py
class UtilTest (line 21) | class UtilTest(unittest.TestCase):
method test_cal_avaiable_memory_v2 (line 23) | def test_cal_avaiable_memory_v2(self):
method test_cal_cpu_usage_v2 (line 29) | def test_cal_cpu_usage_v2(self):
FILE: monolith/agent_service/run.py
function main (line 27) | def main(_):
FILE: monolith/agent_service/svr_client.py
class SvrClient (line 26) | class SvrClient(object):
method __init__ (line 28) | def __init__(self, config) -> None:
method stub (line 36) | def stub(self):
method get_server_type (line 45) | def get_server_type(self, st):
method heart_beat (line 58) | def heart_beat(self, server_type):
method get_replicas (line 65) | def get_replicas(self, server_type, task):
FILE: monolith/agent_service/tfs_client.py
function read_header (line 69) | def read_header(stream):
function read_data (line 93) | def read_data(stream):
function generate_random_instance (line 99) | def generate_random_instance(slots: List[int] = None,
function generate_random_example_batch (line 114) | def generate_random_example_batch(feature_list: FeatureList,
function get_instance_proto (line 163) | def get_instance_proto(input_file: str = None, batch_size: int = 256):
function get_example_batch_proto (line 177) | def get_example_batch_proto(input_file: str = None,
function gen_random_file (line 199) | def gen_random_file(input_file, variant_type="example_batch"):
function get_example_batch_proto_v2 (line 225) | def get_example_batch_proto_v2(input_file: str):
function get_example_batch_to_instance (line 247) | def get_example_batch_to_instance(input_file: str, file_type: str):
class ProfileThread (line 308) | class ProfileThread(threading.Thread):
method __init__ (line 310) | def __init__(self, job_id, model_name, stub_list, repeat_time, data_ca...
method run (line 322) | def run(self):
method get_result (line 352) | def get_result(self):
function main (line 357) | def main(_):
FILE: monolith/agent_service/tfs_client_test.py
class TFSClientTest (line 27) | class TFSClientTest(unittest.TestCase):
method test_get_instance_proto (line 29) | def test_get_instance_proto(self):
method test_get_example_batch_to_instance_from_pb (line 34) | def test_get_example_batch_to_instance_from_pb(self):
method test_get_example_batch_to_instance_from_pbtxt (line 39) | def test_get_example_batch_to_instance_from_pbtxt(self):
function main (line 45) | def main(_):
FILE: monolith/agent_service/tfs_monitor.py
class TFSMonitor (line 38) | class TFSMonitor(object):
method __init__ (line 40) | def __init__(self, config: AgentConfig):
method host (line 51) | def host(self):
method get_addr (line 57) | def get_addr(self, sub_model_name: SubModelName) -> str:
method get_service_type (line 77) | def get_service_type(self, sub_model_name: SubModelName):
method is_entry (line 98) | def is_entry(self, sub_model_name: str):
method is_ps (line 101) | def is_ps(self, sub_model_name: str):
method is_dense (line 104) | def is_dense(self, sub_model_name: str):
method connect (line 107) | def connect(self):
method start (line 137) | def start(self):
method stop (line 145) | def stop(self):
method get_model_status (line 158) | def get_model_status(self, arg):
method _ (line 162) | def _(self, pm: PublishMeta, fix_dense_version: bool = False):
method _ (line 210) | def _(self,
method gen_model_config (line 237) | def gen_model_config(
method handle_reload_config_request (line 277) | def handle_reload_config_request(
FILE: monolith/agent_service/tfs_monitor_test.py
class TFSMonitorTest (line 39) | class TFSMonitorTest(unittest.TestCase):
method setUpClass (line 44) | def setUpClass(cls) -> None:
method tearDownClass (line 69) | def tearDownClass(cls) -> None:
method setUp (line 74) | def setUp(self):
method tearDown (line 88) | def tearDown(self):
method test_reload_config (line 128) | def test_reload_config(self):
method test_remove_config (line 154) | def test_remove_config(self):
FILE: monolith/agent_service/tfs_wrapper.py
class TFSWrapper (line 32) | class TFSWrapper(object):
method __init__ (line 34) | def __init__(self, archon_port: int, grpc_port: int, http_port: int,
method _prepare_cmd (line 53) | def _prepare_cmd(self):
method is_grpc_remote_op (line 93) | def is_grpc_remote_op(self):
method start (line 96) | def start(self):
method stop (line 112) | def stop(self):
method poll (line 123) | def poll(self):
method model_config_text (line 127) | def model_config_text(self):
method list_saved_models (line 131) | def list_saved_models(self):
method list_saved_models_status (line 137) | def list_saved_models_status(self):
class FakeTFSWrapper (line 172) | class FakeTFSWrapper(object):
method __init__ (line 174) | def __init__(self, model_config_file: str):
method start (line 177) | def start(self):
method stop (line 180) | def stop(self):
method poll (line 183) | def poll(self):
method model_config_text (line 186) | def model_config_text(self):
method list_saved_models (line 190) | def list_saved_models(self):
method list_saved_models_status (line 196) | def list_saved_models_status(self):
FILE: monolith/agent_service/utils.py
function isabs (line 61) | def isabs(path: str):
class TFSServerType (line 71) | class TFSServerType:
class DeployType (line 78) | class DeployType(TFSServerType):
method __init__ (line 81) | def __init__(self, dtype: str):
method __str__ (line 87) | def __str__(self):
method __hash__ (line 90) | def __hash__(self):
method __eq__ (line 93) | def __eq__(self, o):
method compat_server_type (line 101) | def compat_server_type(self, server_type: str):
class RoughSortModelLoadedServer (line 114) | class RoughSortModelLoadedServer:
class RoughSortModelPrefix (line 121) | class RoughSortModelPrefix:
function conf_parser (line 127) | def conf_parser(file_name: str, args: dict):
function find_free_port (line 155) | def find_free_port():
function check_port_open (line 163) | def check_port_open(port):
function write_to_tmp_file (line 175) | def write_to_tmp_file(content) -> str:
function replica_id_from_pod_name (line 182) | def replica_id_from_pod_name() -> int:
class TfServingConfig (line 196) | class TfServingConfig:
class AgentConfig (line 286) | class AgentConfig(TfServingConfig):
method __post_init__ (line 380) | def __post_init__(self):
method generate_platform_config_file (line 487) | def generate_platform_config_file(self):
method num_tce_shard (line 529) | def num_tce_shard(self) -> int:
method shard_id (line 533) | def shard_id(self) -> int:
method idc (line 537) | def idc(self) -> Optional[str]:
method cluster (line 545) | def cluster(self) -> Optional[str]:
method location (line 555) | def location(self) -> Optional[str]:
method path_prefix (line 563) | def path_prefix(self) -> str:
method layout_path (line 571) | def layout_path(self) -> str:
method container_cluster (line 578) | def container_cluster(self) -> str:
method container_id (line 583) | def container_id(self) -> str:
method get_cmd_and_port (line 586) | def get_cmd_and_port(self,
method get_cmd (line 668) | def get_cmd(self, binary, server_type: str = None) -> str:
method get_server_schedule_iter (line 672) | def get_server_schedule_iter(self, server_type):
method _gen_model_server_config (line 686) | def _gen_model_server_config(
method from_file (line 758) | def from_file(cls, fname):
method _update_zk_servers (line 798) | def _update_zk_servers(cls, zk_servers, use_ipv6: bool = False):
class ZKPath (line 817) | class ZKPath(object):
method __init__ (line 822) | def __init__(self, path: str):
method __getattr__ (line 835) | def __getattr__(self, name: str):
method task (line 846) | def task(self) -> str:
method location (line 855) | def location(self) -> Optional[str]:
method ship_in (line 862) | def ship_in(self, idc: str, cluster: str) -> bool:
function parse_pattern (line 869) | def parse_pattern(pattern_str, init_val, comb_fn, lp='{', rp='}'):
function normalize_regex (line 882) | def normalize_regex(pattern_str):
function expand_pattern (line 892) | def expand_pattern(pattern_str):
function gen_model_spec (line 910) | def gen_model_spec(name: str,
function gen_model_config (line 927) | def gen_model_config(
function gen_status_proto (line 966) | def gen_status_proto(error_code: ErrorCode = ErrorCode.OK,
function gen_model_version_status (line 971) | def gen_model_version_status(version: int,
function make_tensor_proto (line 981) | def make_tensor_proto(instances):
class InstanceFormater (line 990) | class InstanceFormater:
method __init__ (line 992) | def __init__(self, inst: Instance):
method __str__ (line 995) | def __str__(self):
method to_tensor_proto (line 998) | def to_tensor_proto(self, batch_size: int):
method to_pb (line 1004) | def to_pb(self, fname: str = None) -> str:
method to_json (line 1016) | def to_json(self, fname: str = None) -> str:
method to_pb_text (line 1025) | def to_pb_text(self, fname: str = None) -> str:
method from_json (line 1034) | def from_json(cls, fname: str):
method from_pb_text (line 1041) | def from_pb_text(cls, fname: str):
method from_dump (line 1050) | def from_dump(cls, fname: str):
function pasre_sub_model_name (line 1133) | def pasre_sub_model_name(sub_model_name: str):
function get_local_ip (line 1145) | def get_local_ip() -> str:
FILE: monolith/agent_service/utils_test.py
class ServingUtilsTest (line 21) | class ServingUtilsTest(unittest.TestCase):
method setUpClass (line 23) | def setUpClass(cls) -> None:
method test_gen_model_spec (line 26) | def test_gen_model_spec(self):
method test_gen_model_config (line 33) | def test_gen_model_config(self):
method test_gen_status_proto (line 45) | def test_gen_status_proto(self):
method test_gen_model_version_status (line 51) | def test_gen_model_version_status(self):
method test_gen_from_file (line 59) | def test_gen_from_file(self):
method test_list_field (line 64) | def test_list_field(self):
method test_instance_wrapper_from_json (line 69) | def test_instance_wrapper_from_json(self):
method test_instance_wrapper_from_pbtext (line 76) | def test_instance_wrapper_from_pbtext(self):
method test_instance_wrapper_from_dump (line 83) | def test_instance_wrapper_from_dump(self):
method test_get_cmd_and_port (line 90) | def test_get_cmd_and_port(self):
method test_zk_path_full (line 98) | def test_zk_path_full(self):
method test_zk_path_partial (line 112) | def test_zk_path_partial(self):
method test_zk_path_old_full (line 125) | def test_zk_path_old_full(self):
method test_zk_path_old_partial (line 138) | def test_zk_path_old_partial(self):
method test_zk_path_old_partial2 (line 151) | def test_zk_path_old_partial2(self):
FILE: monolith/agent_service/zk_mirror.py
class ZKMirror (line 37) | class ZKMirror(object):
method __init__ (line 42) | def __init__(
method is_leader (line 77) | def is_leader(self) -> bool:
method set_leader (line 80) | def set_leader(self):
method create (line 83) | def create(self,
method ensure_path (line 105) | def ensure_path(self, path):
method set (line 109) | def set(self, path: str, value: bytes = b''):
method exists (line 118) | def exists(self, path: str) -> bool:
method delete (line 129) | def delete(self, path: str, recursive: bool = True):
method get (line 140) | def get(self, path) -> Optional[bytes]:
method get_children (line 144) | def get_children(self, path: str) -> List[str]:
method report_resource (line 155) | def report_resource(self, recource: ResourceSpec):
method resources (line 161) | def resources(self) -> List[ResourceSpec]:
method num_tce_replica (line 171) | def num_tce_replica(self) -> Optional[int]:
method tce_replica_id (line 198) | def tce_replica_id(self) -> int:
method publish_loadding (line 204) | def publish_loadding(self, info: Union[PublishMeta, List[PublishMeta]]):
method expected_loading (line 219) | def expected_loading(self) -> Dict[ModelName, PublishMeta]:
method get_published_path (line 287) | def get_published_path(self, model_name: str) -> List[str]:
method update_service (line 296) | def update_service(self, replicas: List[ReplicaMeta]):
method local_replica_paths (line 323) | def local_replica_paths(self) -> Set[str]:
method get_all_replicas (line 334) | def get_all_replicas(self, server_type: str) -> Dict[str, List[Replica...
method get_model_replicas (line 350) | def get_model_replicas(self, model_name: str,
method get_task_replicas (line 368) | def get_task_replicas(self, model_name: str, server_type: str,
method get_replica (line 382) | def get_replica(self, model_name: str, server_type: str, task: int,
method watch_portal (line 397) | def watch_portal(self):
method watch_publish (line 467) | def watch_publish(self):
method watch_resource (line 527) | def watch_resource(self):
method watch_service (line 559) | def watch_service(self):
method election (line 632) | def election(self, leader, sched, identifier: str = None):
method start (line 662) | def start(self, is_client: bool = False):
method stop (line 668) | def stop(self):
FILE: monolith/agent_service/zk_mirror_test.py
class ZKMirrorTest (line 40) | class ZKMirrorTest(unittest.TestCase):
method setUpClass (line 45) | def setUpClass(cls) -> None:
method tearDownClass (line 71) | def tearDownClass(cls) -> None:
method test_crud (line 74) | def test_crud(self):
method test_zk_mirror (line 96) | def test_zk_mirror(self):
FILE: monolith/base_runner.py
class BaseRunner (line 24) | class BaseRunner(object):
method __init__ (line 27) | def __init__(self, *args, **kwargs):
method run (line 35) | def run(self):
method write_summary (line 38) | def write_summary(self, logs, summary_writer, current_step):
FILE: monolith/common/python/mem_profiling.py
function enable_tcmalloc (line 21) | def enable_tcmalloc():
function setup_heap_profile (line 28) | def setup_heap_profile(heap_profile_inuse_interval=104857600,
FILE: monolith/core/auto_checkpoint_feed_hook.py
class PeriodicLogger (line 49) | class PeriodicLogger(object):
method __init__ (line 51) | def __init__(self, seconds):
method log (line 55) | def log(self, msg, *args, **kw):
class _SIGNAL (line 61) | class _SIGNAL(object):
class _OpQueueContext (line 71) | class _OpQueueContext(object):
method __init__ (line 74) | def __init__(self, name, target, args):
method stop (line 82) | def stop(self):
method send_next_batch_signal (line 85) | def send_next_batch_signal(self, iterations):
method read_iteration_counts (line 88) | def read_iteration_counts(self):
method join (line 99) | def join(self):
class _OpSignalOnceQueueContext (line 105) | class _OpSignalOnceQueueContext(_OpQueueContext):
method __init__ (line 111) | def __init__(self, name, target, args):
method send_next_batch_signal (line 115) | def send_next_batch_signal(self, iterations):
class TPUInfeedOutfeedSessionWithEndOfStreamHandlingHook (line 121) | class TPUInfeedOutfeedSessionWithEndOfStreamHandlingHook(
method __init__ (line 131) | def __init__(self,
method _create_or_get_iterations_per_loop (line 174) | def _create_or_get_iterations_per_loop(self):
method begin (line 224) | def begin(self):
method _run_infeed (line 241) | def _run_infeed(self, queue_ctx, session):
method _run_outfeed (line 261) | def _run_outfeed(self, queue_ctx, session):
method _create_infeed_controller (line 290) | def _create_infeed_controller(self, name, target, args):
method _assertCompilationSucceeded (line 293) | def _assertCompilationSucceeded(self, result, coord):
method after_create_session (line 303) | def after_create_session(self, session, coord):
method before_run (line 338) | def before_run(self, run_context):
method end (line 355) | def end(self, session):
method get_stopping_signals_and_name (line 368) | def get_stopping_signals_and_name(features):
FILE: monolith/core/base_embedding_host_call.py
class TPUVariableRestoreHook (line 58) | class TPUVariableRestoreHook(tf.estimator.SessionRunHook):
method __init__ (line 61) | def __init__(self, op):
method after_create_session (line 64) | def after_create_session(self, session, coord):
class BaseEmbeddingHostCall (line 69) | class BaseEmbeddingHostCall(BaseHostCall):
method __init__ (line 71) | def __init__(self, output_dir, enable_host_call, enable_deepinsight,
method _create_all_tpu_variables (line 108) | def _create_all_tpu_variables(self):
method _create_tpu_var (line 144) | def _create_tpu_var(self, var_name, var_shape, var_type):
method _compute_new_value (line 175) | def _compute_new_value(self, base_tpu_var, delta_value, update_offset):
method _clear_value_at_index_1 (line 203) | def _clear_value_at_index_1(self, tpu_var, var_type, index):
method update_tpu_variables_ops (line 207) | def update_tpu_variables_ops(self, global_step, labels, preds, uid_buc...
method record_summary_tpu_variables (line 288) | def record_summary_tpu_variables(self):
method record_summary_tensor (line 315) | def record_summary_tensor(self, name, tensor):
method _verify_shape_and_dtype (line 324) | def _verify_shape_and_dtype(self, tensor, shape_list, dtype):
method _slice_tensor (line 332) | def _slice_tensor(self, tensor, indices, expect_shape, expect_dtype):
method _serialize_tensor (line 353) | def _serialize_tensor(self, sampled_tensor, gs, message_name):
method _serialize_messages (line 359) | def _serialize_messages(self, labels, y_preds, sample_rates, req_times,
method _write_summary_ops (line 379) | def _write_summary_ops(self,
method generate_host_call_hook (line 457) | def generate_host_call_hook(self):
FILE: monolith/core/base_embedding_host_call_test.py
class BaseEmbeddingHostCallTest (line 36) | class BaseEmbeddingHostCallTest(unittest.TestCase):
method test_compute_new_value (line 38) | def test_compute_new_value(self):
FILE: monolith/core/base_embedding_task.py
class BaseEmbeddingTask (line 42) | class BaseEmbeddingTask(base_task.BaseTask):
method params (line 46) | def params(cls):
method __init__ (line 121) | def __init__(self, params):
method download_vocab_size_file_from_hdfs (line 143) | def download_vocab_size_file_from_hdfs(self):
method _create_vocab_dict (line 168) | def _create_vocab_dict(self):
method _parse_inputs (line 204) | def _parse_inputs(return_values):
method create_input_fn (line 211) | def create_input_fn(self, mode=tf.estimator.ModeKeys.TRAIN):
method logits_fn (line 348) | def logits_fn(self):
method init_slot_to_env (line 353) | def init_slot_to_env(self):
method create_model_fn (line 360) | def create_model_fn(self,):
method _get_feature_map (line 364) | def _get_feature_map(self):
method _post_process_example (line 369) | def _post_process_example(self, example):
method create_feature_and_table_config_dict (line 472) | def create_feature_and_table_config_dict(self):
method cross_shard_optimizer (line 556) | def cross_shard_optimizer(self, optimizer, params):
method process_features_for_cpu_test (line 562) | def process_features_for_cpu_test(self, features):
FILE: monolith/core/base_host_call.py
class BaseHostCall (line 21) | class BaseHostCall(object):
method __init__ (line 23) | def __init__(self, output_dir, enable_host_call):
method record_summary_tensor (line 38) | def record_summary_tensor(self, name, tensor):
method compress_tensors (line 55) | def compress_tensors(self):
method decompress_tensors (line 103) | def decompress_tensors(self, tensors):
method generate_host_call_hook (line 143) | def generate_host_call_hook(self):
FILE: monolith/core/base_layer.py
class BaseLayer (line 44) | class BaseLayer(object):
method params (line 47) | def params(cls):
method __init__ (line 53) | def __init__(self, params):
method children (line 65) | def children(self):
method __getattr__ (line 69) | def __getattr__(self, name):
method __call__ (line 85) | def __call__(self, *args, **kwargs):
method fprop (line 89) | def fprop(self, *args, **kwargs):
method create_child (line 101) | def create_child(self, name, params):
method create_children (line 121) | def create_children(self, name, params):
function get_uname (line 144) | def get_uname(name):
function add_layer_loss (line 152) | def add_layer_loss(name, loss):
function get_layer_loss (line 160) | def get_layer_loss():
FILE: monolith/core/base_layer_test.py
class BaseLayerTest (line 20) | class BaseLayerTest(unittest.TestCase):
method test_create_child (line 22) | def test_create_child(self):
method test_create_children (line 30) | def test_create_children(self):
FILE: monolith/core/base_model_params.py
class SingleTaskModelParams (line 20) | class SingleTaskModelParams(object):
method task (line 23) | def task(self):
FILE: monolith/core/base_task.py
class BaseTask (line 25) | class BaseTask(base_layer.BaseLayer):
method params (line 29) | def params(cls):
method __init__ (line 79) | def __init__(self, params):
method create_input_fn (line 83) | def create_input_fn(self, mode):
method create_model_fn (line 93) | def create_model_fn(self,):
FILE: monolith/core/base_tpu_test.py
class BaseTPUTest (line 21) | class BaseTPUTest(tf.test.TestCase):
method runWithCPU (line 24) | def runWithCPU(self, task_name):
method runMergeVectorTestOnCPU (line 31) | def runMergeVectorTestOnCPU(self, task_name):
FILE: monolith/core/core_test_suite.py
function suite (line 24) | def suite():
FILE: monolith/core/dense.py
class Dense (line 37) | class Dense(tf.keras.layers.Dense, BaseLayer):
method params (line 40) | def params(cls):
method __init__ (line 61) | def __init__(self, params, **kwargs):
method build (line 97) | def build(self, input_shape):
method get_config (line 164) | def get_config(self):
method fprop (line 178) | def fprop(self, inputs, **kwargs):
FILE: monolith/core/dense_test.py
class DenseTest (line 32) | class DenseTest(tf.test.TestCase):
method test_dense_instantiate (line 34) | def test_dense_instantiate(self):
method test_dense_dtype (line 65) | def test_dense_dtype(self):
method test_dense (line 77) | def test_dense(self):
method test_dense_with_partitioner (line 92) | def test_dense_with_partitioner(self):
FILE: monolith/core/feature.py
class FeatureSlice (line 26) | class FeatureSlice(object):
method __init__ (line 29) | def __init__(
method __repr__ (line 59) | def __repr__(self):
method __hash__ (line 64) | def __hash__(self):
method dim (line 69) | def dim(self):
method slice_index (line 73) | def slice_index(self):
method optimizer (line 77) | def optimizer(self):
method initializer (line 81) | def initializer(self):
method learning_rate_fn (line 85) | def learning_rate_fn(self):
class FeatureSlot (line 89) | class FeatureSlot(object):
method __init__ (line 92) | def __init__(
method get_env (line 160) | def get_env(self):
method slot_id (line 163) | def slot_id(self):
method has_bias (line 166) | def has_bias(self):
method add_feature_slice (line 169) | def add_feature_slice(
method add_merged_feature_slice (line 192) | def add_merged_feature_slice(
method _add_feature_column (line 215) | def _add_feature_column(self, feature_column):
method bias_optimizer (line 226) | def bias_optimizer(self):
method bias_initializer (line 230) | def bias_initializer(self):
method bias_learning_rate_fn (line 234) | def bias_learning_rate_fn(self):
method default_vec_optimizer (line 238) | def default_vec_optimizer(self):
method default_vec_initializer (line 242) | def default_vec_initializer(self):
method default_vec_learning_rate_fn (line 246) | def default_vec_learning_rate_fn(self):
method feature_slices (line 250) | def feature_slices(self):
method merged_feature_slices (line 254) | def merged_feature_slices(self):
method feature_columns (line 258) | def feature_columns(self):
class FeatureColumnV1 (line 262) | class FeatureColumnV1(object):
method __init__ (line 265) | def __init__(self, feature_slot, fc_name):
method get_env (line 279) | def get_env(self):
method embedding_lookup (line 282) | def embedding_lookup(
method get_bias (line 292) | def get_bias(self):
method feature_slot (line 297) | def feature_slot(self):
method fc_name (line 301) | def fc_name(self):
method feature_slice_to_tf_placeholder (line 305) | def feature_slice_to_tf_placeholder(self):
class FeatureColumn3D (line 317) | class FeatureColumn3D(object):
method __init__ (line 320) | def __init__(self, feature_slot, max_seq_length, fc_name):
method get_env (line 329) | def get_env(self):
method embedding_lookup (line 332) | def embedding_lookup(
method get_bias (line 344) | def get_bias(self):
method feature_slot (line 349) | def feature_slot(self):
method fc_name (line 353) | def fc_name(self):
method feature_slice_to_tf_placeholder (line 357) | def feature_slice_to_tf_placeholder(self):
method max_seq_length (line 361) | def max_seq_length(self):
method size_tensor_lookup (line 364) | def size_tensor_lookup(self):
class Env (line 369) | class Env(object):
method __init__ (line 372) | def __init__(self, vocab_size_dict, params):
method set_tpu_features (line 380) | def set_tpu_features(self, tpu_features):
method set_feature_slot (line 388) | def set_feature_slot(self, slot_id, feature_slot):
method set_params (line 396) | def set_params(self, params):
method is_finalized (line 403) | def is_finalized(self):
method _embedding_lookup (line 406) | def _embedding_lookup(self,
method _seq_embedding_lookup (line 453) | def _seq_embedding_lookup(self,
method _size_tensor_lookup (line 484) | def _size_tensor_lookup(self, feature_column):
method finalize (line 505) | def finalize(self):
method _split_merged_embedding (line 513) | def _split_merged_embedding(self, feature_slot):
method _merge_vector_in_same_slot (line 560) | def _merge_vector_in_same_slot(self):
method vocab_size_dict (line 599) | def vocab_size_dict(self):
method slot_id_to_feature_slot (line 603) | def slot_id_to_feature_slot(self):
method features (line 610) | def features(self):
FILE: monolith/core/feature_test.py
class FeatureSlotTest (line 21) | class FeatureSlotTest(tf.test.TestCase):
method test_has_bias (line 23) | def test_has_bias(self):
method test_add_feature_slice (line 37) | def test_add_feature_slice(self):
class FeatureColumnV1Test (line 56) | class FeatureColumnV1Test(tf.test.TestCase):
method test_add_feature_column (line 58) | def test_add_feature_column(self):
method test_merge_split_vector_in_same_slot (line 73) | def test_merge_split_vector_in_same_slot(self):
FILE: monolith/core/host_call.py
class HostCall (line 33) | class HostCall():
method __init__ (line 35) | def __init__(self, output_dir, enable_host_call, enable_deepinsight):
method record_summary_tensor (line 51) | def record_summary_tensor(self, name, tensor):
method compress_tensors (line 63) | def compress_tensors(self):
method decompress_tensors (line 111) | def decompress_tensors(self, tensors):
method _verify_shape_and_dtype (line 151) | def _verify_shape_and_dtype(self, tensor, shape_list, dtype):
method _serialize_messages (line 159) | def _serialize_messages(self, labels, y_preds, sample_rates, req_times...
method generate_host_call_hook (line 192) | def generate_host_call_hook(self):
FILE: monolith/core/hyperparams.py
function _is_named_tuple (line 42) | def _is_named_tuple(x):
class _SortedDict (line 54) | class _SortedDict(dict):
method __repr__ (line 57) | def __repr__(self):
class _Param (line 62) | class _Param(object):
method __init__ (line 65) | def __init__(self, name, default_value, description):
method __eq__ (line 70) | def __eq__(self, other):
method __deepcopy__ (line 75) | def __deepcopy__(self, memo):
method to_string (line 86) | def to_string(self, nested_depth):
method set (line 114) | def set(self, value):
method get (line 120) | def get(self):
function copy_params_to (line 124) | def copy_params_to(from_p, to_p, skip=None):
class Params (line 145) | class Params(object):
method __init__ (line 151) | def __init__(self):
method __setattr__ (line 155) | def __setattr__(self, name, value):
method __getattr__ (line 166) | def __getattr__(self, name):
method __setitem__ (line 175) | def __setitem__(self, name, value):
method __getitem__ (line 178) | def __getitem__(self, key):
method __dir__ (line 181) | def __dir__(self):
method __contains__ (line 184) | def __contains__(self, name):
method __len__ (line 187) | def __len__(self):
method __eq__ (line 191) | def __eq__(self, other):
method __ne__ (line 194) | def __ne__(self, other):
method __str__ (line 197) | def __str__(self):
method _to_string (line 200) | def _to_string(self, nested_depth):
method __deepcopy__ (line 212) | def __deepcopy__(self, unused_memo):
method _similar_keys (line 215) | def _similar_keys(self, name):
method _key_error_string (line 234) | def _key_error_string(self, name):
method copy (line 240) | def copy(self):
method _copy_to (line 243) | def _copy_to(self, res):
method define (line 255) | def define(self, name, default_value, description):
method contain (line 274) | def contain(self, name):
method freeze (line 277) | def freeze(self):
method is_immutable (line 281) | def is_immutable(self):
method _get_nested (line 285) | def _get_nested(self, name):
method set (line 306) | def set(self, **kwargs):
method get (line 329) | def get(self, name):
method delete (line 349) | def delete(self, *args):
method iter_params (line 372) | def iter_params(self):
function _inverted_index (line 384) | def _inverted_index(ips: 'InstantiableParams', idx):
class InstantiableParams (line 392) | class InstantiableParams(Params):
method __init__ (line 400) | def __init__(self, cls=None):
method instantiate (line 404) | def instantiate(self):
method copy (line 429) | def copy(self):
function update_params (line 433) | def update_params(ips: Params, args):
FILE: monolith/core/hyperparams_test.py
class TestEnum (line 34) | class TestEnum(enum.Enum):
class ParamsTest (line 40) | class ParamsTest(unittest.TestCase):
method test_equals (line 42) | def test_equals(self):
method test_deep_copy (line 69) | def test_deep_copy(self):
method test_copy_params_to (line 84) | def test_copy_params_to(self):
method test_define_existing (line 96) | def test_define_existing(self):
method test_legal_param_names (line 102) | def test_legal_param_names(self):
method test_set_and_get (line 113) | def test_set_and_get(self):
method test_set_and_get_nested_param (line 135) | def test_set_and_get_nested_param(self):
method test_freeze (line 193) | def test_freeze(self):
method test_to_string (line 225) | def test_to_string(self):
method test_iter_params (line 246) | def test_iter_params(self):
method test_similar_keys (line 260) | def test_similar_keys(self):
FILE: monolith/core/mixed_emb_op_comb_nws.py
class TeacherEmbeddingTransform (line 41) | class TeacherEmbeddingTransform(Layer):
method __init__ (line 76) | def __init__(self, max_choice_per_embedding, teacher_embedding_sizes_l...
method build (line 85) | def build(self, input_shape):
method call (line 106) | def call(self, inputs):
method compute_output_shape (line 134) | def compute_output_shape(self, input_shape):
method get_config (line 137) | def get_config(self):
class MixedEmbedOpComb (line 146) | class MixedEmbedOpComb(Layer):
method __init__ (line 181) | def __init__(self,
method build (line 220) | def build(self, input_shape):
method call (line 357) | def call(self, inputs):
method compute_output_shape (line 397) | def compute_output_shape(self, input_shape):
method get_config (line 400) | def get_config(self):
method get_arch_embedding_weights (line 410) | def get_arch_embedding_weights(self):
method get_summaries (line 413) | def get_summaries(self):
FILE: monolith/core/model.py
class Model (line 34) | class Model(object):
method __init__ (line 37) | def __init__(self, params):
method _create_vocab_dict (line 49) | def _create_vocab_dict(self, file_path, vocab_size_per_slot=None):
method _get_feature_map (line 79) | def _get_feature_map(self):
method _post_process_example (line 84) | def _post_process_example(self, example):
method create_input_fn (line 104) | def create_input_fn(self, file_pattern, repeat=True):
method _padding_8 (line 164) | def _padding_8(self, dim):
method _get_slot_number (line 167) | def _get_slot_number(self, optimizer, use_gradient_accumulation):
method _get_max_slot_number (line 188) | def _get_max_slot_number(self):
method create_feature_and_table_config_dict (line 206) | def create_feature_and_table_config_dict(self):
method sum_pooling (line 272) | def sum_pooling(self,
method logits_fn (line 305) | def logits_fn(self):
method init_slot_to_dims (line 310) | def init_slot_to_dims(self):
method create_model_fn (line 317) | def create_model_fn(self):
FILE: monolith/core/model_imports.py
function _Import (line 40) | def _Import(name):
function ImportAllParams (line 58) | def ImportAllParams(task_root=_ROOT, task_dirs=_DIRS, require_success=Fa...
function ImportParams (line 74) | def ImportParams(model_name,
FILE: monolith/core/model_registry.py
class _ModelRegistryHelper (line 45) | class _ModelRegistryHelper(object):
method _ClassPathPrefix (line 52) | def _ClassPathPrefix(cls):
method _ModelParamsClassKey (line 56) | def _ModelParamsClassKey(cls, src_cls, shortcut=False):
method _GetSourceInfo (line 73) | def _GetSourceInfo(cls, src_cls):
method _RegisterModel (line 80) | def _RegisterModel(cls, src_cls):
method RegisterSingleTaskModel (line 102) | def RegisterSingleTaskModel(cls, src_cls):
method GetAllRegisteredClasses (line 115) | def GetAllRegisteredClasses():
method GetClass (line 123) | def GetClass(cls, class_key):
method GetParams (line 144) | def GetParams(cls, class_key):
function GetAllRegisteredClasses (line 162) | def GetAllRegisteredClasses():
function GetClass (line 167) | def GetClass(class_key):
function GetParams (line 172) | def GetParams(class_key):
FILE: monolith/core/py_utils.py
class NestedMap (line 41) | class NestedMap(dict):
method __init__ (line 60) | def __init__(self, *args, **kwargs):
method __setitem__ (line 69) | def __setitem__(self, key, value):
method __setattr__ (line 79) | def __setattr__(self, name, value):
method __getattr__ (line 82) | def __getattr__(self, name):
method __delattr__ (line 89) | def __delattr__(self, name):
method copy (line 96) | def copy(self): # Don't delegate w/ super: dict.copy() -> dict.
method __deepcopy__ (line 99) | def __deepcopy__(self, unused_memo):
method DeepCopy (line 103) | def DeepCopy(self):
method FromNestedDict (line 108) | def FromNestedDict(x):
method CheckKey (line 121) | def CheckKey(key):
method GetItem (line 126) | def GetItem(self, key):
method Get (line 147) | def Get(self, key, default=None):
method Set (line 165) | def Set(self, key, value):
method _RecursiveMap (line 192) | def _RecursiveMap(self, fn, flatten=False):
method Flatten (line 245) | def Flatten(self):
method FlattenItems (line 252) | def FlattenItems(self):
method Pack (line 260) | def Pack(self, lst):
method Transform (line 266) | def Transform(self, fn):
method IsCompatible (line 270) | def IsCompatible(self, other):
method Filter (line 281) | def Filter(self, fn):
method FilterKeyVal (line 285) | def FilterKeyVal(self, fn):
method _ToStrings (line 296) | def _ToStrings(self):
method DebugString (line 302) | def DebugString(self):
method VLog (line 306) | def VLog(self, level=None, prefix=None):
FILE: monolith/core/testing_utils.py
function layer_test (line 64) | def layer_test(layer_cls,
FILE: monolith/core/tpu_variable.py
function _handle_graph (line 40) | def _handle_graph(handle):
function _enclosing_tpu_context (line 45) | def _enclosing_tpu_context():
class ReplicatedVariable (line 55) | class ReplicatedVariable(VariableBase):
method __init__ (line 65) | def __init__(self, name, variables):
method handle (line 73) | def handle(self):
method _assign_dependencies (line 81) | def _assign_dependencies(self):
method initializer (line 94) | def initializer(self):
method graph (line 98) | def graph(self):
method _shared_name (line 102) | def _shared_name(self):
method _unique_id (line 106) | def _unique_id(self):
method name (line 110) | def name(self):
method dtype (line 114) | def dtype(self):
method shape (line 118) | def shape(self):
method get_shape (line 121) | def get_shape(self):
method to_proto (line 124) | def to_proto(self, export_scope=None):
method constraint (line 128) | def constraint(self):
method op (line 132) | def op(self):
method _read_variable_op (line 135) | def _read_variable_op(self):
method read_value (line 141) | def read_value(self):
method assign (line 144) | def assign(self, value, use_locking=None, name=None, read_value=False):
method assign_add (line 155) | def assign_add(self, delta, use_locking=None, name=None, read_value=Tr...
method assign_sub (line 166) | def assign_sub(self, delta, use_locking=None, name=None, read_value=Tr...
method get (line 177) | def get(self):
method _in_graph_mode (line 181) | def _in_graph_mode(self):
method _should_act_as_resource_variable (line 184) | def _should_act_as_resource_variable(self):
method _dense_var_to_tensor (line 188) | def _dense_var_to_tensor(self, dtype=None, name=None, as_ref=False):
function _tensor_conversion (line 207) | def _tensor_conversion(var, dtype=None, name=None, as_ref=False):
FILE: monolith/core/util.py
function get_bucket_name_and_relavite_path (line 31) | def get_bucket_name_and_relavite_path(gs_file_path):
function download_gcs_file (line 44) | def download_gcs_file(gs_file_path, local_file_name):
function download_gcs_file_with_relative_path (line 55) | def download_gcs_file_with_relative_path(bucket_name, gs_file_relative_p...
function list_gcs_files_with_prefix (line 65) | def list_gcs_files_with_prefix(gs_path_prefix):
function parse_example_number_meta_file (line 77) | def parse_example_number_meta_file(meta_file, seperator):
function calculate_shard_skip_file_number (line 98) | def calculate_shard_skip_file_number(file_example_number, shard_num,
function get_checkpoint_completed_step_number (line 120) | def get_checkpoint_completed_step_number(checkpoint_path):
function update_params (line 142) | def update_params(params, tpu_cluster_resolver):
function get_per_file_example_numbers_for_checkpoint_reload (line 183) | def get_per_file_example_numbers_for_checkpoint_reload(
function range_dateset (line 243) | def range_dateset(dataset: tf.data.Dataset,
FILE: monolith/core/util_test.py
class UtilTest (line 20) | class UtilTest(tf.test.TestCase):
method test_range_dataset_single (line 25) | def test_range_dataset_single(self):
method test_range_dataset_multiple (line 48) | def test_range_dataset_multiple(self):
method test_range_dataset_out_of_boundary (line 75) | def test_range_dataset_out_of_boundary(self):
method test_range_dataset_no_start_date (line 98) | def test_range_dataset_no_start_date(self):
method test_range_dataset_no_end_date (line 123) | def test_range_dataset_no_end_date(self):
FILE: monolith/core/variance_scaling.py
function _compute_fans (line 39) | def _compute_fans(shape, data_format='channels_last'):
class VarianceScaling (line 79) | class VarianceScaling():
method __init__ (line 112) | def __init__(self,
method __call__ (line 138) | def __call__(self, shape, dtype=np.float32):
method get_config (line 182) | def get_config(self):
FILE: monolith/gpu_runner.py
class GPURunner (line 55) | class GPURunner(BaseRunner):
method __init__ (line 57) | def __init__(self, task_param, *args, **kwargs):
method create_estimator (line 66) | def create_estimator(self, model_fn):
method run (line 107) | def run(self):
function main (line 214) | def main(unused_argv):
FILE: monolith/native_training/alert/alert_manager.py
function get_default_alert_manager (line 30) | def get_default_alert_manager():
FILE: monolith/native_training/barrier_ops.py
class BarrierAlreadyPlacedError (line 26) | class BarrierAlreadyPlacedError(Exception):
class BarrierOp (line 30) | class BarrierOp:
method __init__ (line 36) | def __init__(self,
method place_barrier (line 71) | def place_barrier(self, session, action: str = ""):
method remove_barrier (line 82) | def remove_barrier(self, session):
method is_barrier_placed (line 88) | def is_barrier_placed(self, session):
method barrier_placed_tensor (line 92) | def barrier_placed_tensor(self):
method capacity (line 96) | def capacity(self):
method is_barrier_removed (line 99) | def is_barrier_removed(self, session):
method wait_until_barrier_removed (line 102) | def wait_until_barrier_removed(self, session, index):
method is_all_blocked (line 120) | def is_all_blocked(self, session):
method is_none_blocked (line 125) | def is_none_blocked(self, session):
method get_unblocked_indices (line 130) | def get_unblocked_indices(self, session):
method get_blocked_indices (line 134) | def get_blocked_indices(self, session):
method _run_barrier_callbacks (line 138) | def _run_barrier_callbacks(self, action: str, session: tf.compat.v1.Se...
class BarrierHook (line 143) | class BarrierHook(tf.estimator.SessionRunHook):
method __init__ (line 146) | def __init__(self, index, barrier_op: BarrierOp):
method before_run (line 150) | def before_run(self, run_context):
method after_run (line 153) | def after_run(self, run_context, run_values):
FILE: monolith/native_training/barrier_ops_test.py
class BarrierOpsTest (line 25) | class BarrierOpsTest(tf.test.TestCase):
method test_basic (line 27) | def test_basic(self):
method _run (line 39) | def _run(self, train_op, sess, step=1):
method test_barrier_hook_not_blocked (line 43) | def test_barrier_hook_not_blocked(self):
method test_barrier_hook_blocked (line 62) | def test_barrier_hook_blocked(self):
FILE: monolith/native_training/basic_restore_hook.py
class CheckpointRestorerListener (line 21) | class CheckpointRestorerListener():
method begin (line 24) | def begin(self):
method before_restore (line 27) | def before_restore(self, session):
method after_restore (line 30) | def after_restore(self, session):
method end (line 33) | def end(self, session):
class CheckpointRestorerHook (line 37) | class CheckpointRestorerHook(session_run_hook.SessionRunHook):
method __init__ (line 44) | def __init__(self, listeners=None):
method begin (line 56) | def begin(self):
method after_create_session (line 60) | def after_create_session(self, session, coord):
method _restore (line 63) | def _restore(self, session):
FILE: monolith/native_training/basic_restore_hook_test.py
class CountCheckpointRestorerListener (line 21) | class CountCheckpointRestorerListener(
method __init__ (line 24) | def __init__(self):
method begin (line 29) | def begin(self):
method before_restore (line 32) | def before_restore(self, session):
method after_restore (line 35) | def after_restore(self, session):
method get_counts (line 38) | def get_counts(self):
class CountHook (line 46) | class CountHook(session_run_hook.SessionRunHook):
method __init__ (line 48) | def __init__(self):
method after_create_session (line 54) | def after_create_session(self, session, coord):
method before_run (line 57) | def before_run(self, run_context):
method after_run (line 60) | def after_run(self, run_context, run_values):
method end (line 63) | def end(self, session):
method get_counts (line 66) | def get_counts(self):
class CheckpointRestorerHookTest (line 75) | class CheckpointRestorerHookTest(tf.test.TestCase):
method test_restore_only_in_after_create_session (line 77) | def test_restore_only_in_after_create_session(self):
method test_two_listeners_with_restorer (line 117) | def test_two_listeners_with_restorer(self):
FILE: monolith/native_training/clip_ops.py
function _global_norm (line 25) | def _global_norm(t_list: List[tf.Tensor]) -> tf.Tensor:
function clip_by_global_norm (line 33) | def clip_by_global_norm(t_list: List[tf.Tensor],
FILE: monolith/native_training/clip_ops_test.py
class ClipOpsTest (line 24) | class ClipOpsTest(tf.test.TestCase):
method _test_clip_by_global_norm (line 26) | def _test_clip_by_global_norm(self, inputs, clip_norm, expected=None):
method test_clip_by_global_norm (line 39) | def test_clip_by_global_norm(self):
class NormOpsTest (line 73) | class NormOpsTest(tf.test.TestCase):
method _test_global_norm (line 75) | def _test_global_norm(self, inputs, expected):
method test_it (line 82) | def test_it(self):
FILE: monolith/native_training/cluster_manager.py
function emit_store (line 28) | def emit_store(name, value, tagkv=None):
function generate_session_config (line 32) | def generate_session_config(cluster_and_task=None):
function get_training_cluster (line 52) | def get_training_cluster(
function _cluster_query_failure_handler (line 114) | def _cluster_query_failure_handler():
function _query_chief_addr (line 118) | def _query_chief_addr(discovery: ServiceDiscovery):
function _query_ps_cluster (line 129) | def _query_ps_cluster(discovery: ServiceDiscovery,
function _save_ps_cluster_to_file (line 155) | def _save_ps_cluster_to_file(file_name: str, ps_addrs: List[str]):
function _fetch_ps_cluster_from_file (line 164) | def _fetch_ps_cluster_from_file(file_name: str, timeout=1800):
function _get_ps_cluster_file_name (line 183) | def _get_ps_cluster_file_name(model_dir: str, uuid: str):
FILE: monolith/native_training/cluster_manager_test.py
class ClusterManagerTest (line 21) | class ClusterManagerTest(unittest.TestCase):
method testBasic (line 23) | def testBasic(self):
FILE: monolith/native_training/consul.py
class ConsulException (line 30) | class ConsulException(Exception):
class UnixHTTPConnection (line 34) | class UnixHTTPConnection(HTTPConnection):
method __init__ (line 36) | def __init__(self, path, **kwargs):
method connect (line 41) | def connect(self):
class Client (line 47) | class Client:
method __init__ (line 49) | def __init__(self):
method lookup (line 62) | def lookup(self, name, timeout=3, cachetime=0):
method _lookup (line 80) | def _lookup(self, name, timeout):
method register (line 98) | def register(self, name, port, tags=None, check_script=None, host=None):
method deregister (line 140) | def deregister(self, name, port, host=None):
FILE: monolith/native_training/consul_test.py
class ConsulTest (line 28) | class ConsulTest(unittest.TestCase):
method test_lookup (line 30) | def test_lookup(self):
method test_register (line 41) | def test_register(self):
method test_deregister (line 49) | def test_deregister(self):
FILE: monolith/native_training/cpu_sync_training_test.py
class FeatureTask (line 35) | class FeatureTask(NativeTask):
method create_input_fn (line 38) | def create_input_fn(self, _):
method create_model_fn (line 47) | def create_model_fn(self):
class EmbeddingUpdateTask (line 74) | class EmbeddingUpdateTask(NativeTask):
method create_input_fn (line 77) | def create_input_fn(self, _):
method create_model_fn (line 87) | def create_model_fn(self):
class FloatFeatureTask (line 130) | class FloatFeatureTask(NativeTask):
method create_input_fn (line 133) | def create_input_fn(self, _):
method create_model_fn (line 143) | def create_model_fn(self):
class NonFeatureTask (line 168) | class NonFeatureTask(NativeTask):
method create_input_fn (line 170) | def create_input_fn(self, _):
method create_model_fn (line 177) | def create_model_fn(self):
class SequenceFeatureTask (line 188) | class SequenceFeatureTask(NativeTask):
method create_input_fn (line 191) | def create_input_fn(self, mode):
method create_model_fn (line 202) | def create_model_fn(self):
class CpuSyncTrainTest (line 229) | class CpuSyncTrainTest(tf.test.TestCase):
method test_cpu_training_feature (line 231) | def test_cpu_training_feature(self):
method test_embedding_update (line 248) | def test_embedding_update(self):
method test_cpu_training_float_feature (line 265) | def test_cpu_training_float_feature(self):
method test_cpu_training_sequence_feature (line 283) | def test_cpu_training_sequence_feature(self):
method test_cpu_training_non_feature (line 303) | def test_cpu_training_non_feature(self):
class DistributedSyncTrainTest (line 322) | class DistributedSyncTrainTest(tf.test.TestCase):
method test_basic (line 324) | def test_basic(self):
method test_sparse_pipelining (line 340) | def test_sparse_pipelining(self):
FILE: monolith/native_training/cpu_training.py
function _combine_slices_as_table (line 132) | def _combine_slices_as_table(
function _lookup_embedding_ids (line 148) | def _lookup_embedding_ids(
function _convert_parquets_to_instance (line 155) | def _convert_parquets_to_instance(parquets_path, instance_path):
function create_exporter (line 208) | def create_exporter(task,
class _CpuFeatureFactory (line 245) | class _CpuFeatureFactory(feature.FeatureFactoryFromEmbeddings):
method __init__ (line 247) | def __init__(self,
method _push (line 263) | def _push(self, slot_to_emb_ids, slot_to_emb_grads, global_step, req_t...
method apply_gradients (line 275) | def apply_gradients(
class _FusedCpuFeatureFactory (line 294) | class _FusedCpuFeatureFactory(feature.FeatureFactoryFromEmbeddings):
method __init__ (line 296) | def __init__(
method apply_gradients (line 316) | def apply_gradients(self,
class _MetricsHeartBeatThread (line 344) | class _MetricsHeartBeatThread():
method __init__ (line 346) | def __init__(self, interval=30):
method _heart_beat (line 352) | def _heart_beat(self):
method start (line 364) | def start(self):
method stop (line 370) | def stop(self):
function get_req_time (line 377) | def get_req_time(features):
class CpuTrainingConfig (line 385) | class CpuTrainingConfig:
method enable_full_sync_training (line 535) | def enable_full_sync_training(self):
function _make_serving_config_from_training_config (line 539) | def _make_serving_config_from_training_config(
function _make_serving_feature_configs_from_training_configs (line 557) | def _make_serving_feature_configs_from_training_configs(
function make_native_task_context (line 568) | def make_native_task_context(config: CpuTrainingConfig,
function is_chief (line 580) | def is_chief(config: CpuTrainingConfig):
class CpuTraining (line 587) | class CpuTraining:
method __init__ (line 590) | def __init__(self,
method config (line 695) | def config(self) -> CpuTrainingConfig:
method feature_configs (line 701) | def feature_configs(
method _init_fused_layout_params (line 709) | def _init_fused_layout_params(self) -> None:
method create_input_fn (line 736) | def create_input_fn(self, mode):
method create_model_fn (line 832) | def create_model_fn(self):
method _generate_valid_features (line 949) | def _generate_valid_features(self) -> Dict[str, tf.Tensor]:
method _collect_feature_name_to_table_config (line 955) | def _collect_feature_name_to_table_config(
method _get_pipelined_model_fn (line 1006) | def _get_pipelined_model_fn(self, create_hash_table_and_filters_fn: Ca...
method create_serving_input_receiver_fn (line 1644) | def create_serving_input_receiver_fn(self):
class DistributedCpuTrainingConfig (line 1649) | class DistributedCpuTrainingConfig(CpuTrainingConfig):
function _prepare_server (line 1690) | def _prepare_server(target: str, config: DistributedCpuTrainingConfig):
function _shutdown_ps (line 1702) | def _shutdown_ps(target, cluster, task, num_ps):
function _join_ps (line 1719) | def _join_ps(target, ps_index, sync_backend: SyncBackend = None):
function _get_blocked_addrs (line 1777) | def _get_blocked_addrs(cluster: Dict, ignored_jobs: Set = {}):
class NodeAliveCheckerError (line 1787) | class NodeAliveCheckerError(Exception):
method __init__ (line 1789) | def __init__(self, msg):
method __str__ (line 1793) | def __str__(self):
function _do_worker_train (line 1797) | def _do_worker_train(config: DistributedCpuTrainingConfig,
function _run_ps_benchmark (line 1877) | def _run_ps_benchmark(config: DistributedCpuTrainingConfig,
function _save_debugging_info (line 1899) | def _save_debugging_info(config: DistributedCpuTrainingConfig, cluster: ...
function _get_replica_device_setter (line 1918) | def _get_replica_device_setter(config):
function _do_worker_feature_engineering (line 1936) | def _do_worker_feature_engineering(target, config: DistributedCpuTrainin...
function make_config_backward_compatible (line 1985) | def make_config_backward_compatible(model_dir: str, config: CpuTrainingC...
function distributed_train (line 1995) | def distributed_train(config: DistributedCpuTrainingConfig,
function distributed_sync_train (line 2160) | def distributed_sync_train(config: DistributedCpuTrainingConfig,
function local_train_internal (line 2252) | def local_train_internal(params: InstantiableParams,
function local_feature_engineering_internal (line 2338) | def local_feature_engineering_internal(
function local_train (line 2420) | def local_train(params: InstantiableParams,
FILE: monolith/native_training/cpu_training_distributed_test_binary.py
function _sleep_short (line 49) | def _sleep_short():
class SyncHook (line 58) | class SyncHook(tf.estimator.SessionRunHook):
method __init__ (line 60) | def __init__(self, num_workers, index):
method begin (line 66) | def begin(self):
method after_create_session (line 78) | def after_create_session(self, session, coord):
class FeatureTask (line 88) | class FeatureTask(native_task.NativeTask):
method params (line 92) | def params(cls):
method create_input_fn (line 97) | def create_input_fn(self, mode):
method create_model_fn (line 106) | def create_model_fn(self):
class HostServiceDiscovery (line 133) | class HostServiceDiscovery(service_discovery.ServiceDiscovery):
method __init__ (line 135) | def __init__(self, base_path: str):
method register (line 138) | def register(self, name: str, index: int, addr: str):
method deregister (line 144) | def deregister(self, name: str, index: int, addr: str):
method query (line 147) | def query(self, name: str):
method _named_path (line 160) | def _named_path(self, name: str):
function test_run (line 164) | def test_run(params):
function test0 (line 184) | def test0():
function test1 (line 190) | def test1():
class RaiseErrorHook (line 200) | class RaiseErrorHook(tf.estimator.SessionRunHook):
method __init__ (line 202) | def __init__(self, first):
method before_run (line 205) | def before_run(self, run_context):
function test2 (line 212) | def test2():
function main (line 220) | def main(_):
FILE: monolith/native_training/cpu_training_test.py
function inc_global_step_op (line 50) | def inc_global_step_op() -> tf.Operation:
class FeatureTask (line 56) | class FeatureTask(NativeTask):
method create_input_fn (line 59) | def create_input_fn(self, mode):
method create_model_fn (line 68) | def create_model_fn(self):
method create_serving_input_receiver_fn (line 92) | def create_serving_input_receiver_fn(self):
class FloatFeatureTask (line 102) | class FloatFeatureTask(NativeTask):
method create_input_fn (line 105) | def create_input_fn(self, mode):
method create_model_fn (line 116) | def create_model_fn(self):
class SequenceFeatureTask (line 139) | class SequenceFeatureTask(NativeTask):
method create_input_fn (line 142) | def create_input_fn(self, mode):
method create_model_fn (line 153) | def create_model_fn(self):
class FeatureWithSlotOccurrenceThresholdTask (line 178) | class FeatureWithSlotOccurrenceThresholdTask(NativeTask):
method create_input_fn (line 181) | def create_input_fn(self, mode):
method create_model_fn (line 190) | def create_model_fn(self):
class FeatureWithExpireTimeTask (line 214) | class FeatureWithExpireTimeTask(NativeTask):
method create_input_fn (line 217) | def create_input_fn(self, mode):
method create_model_fn (line 232) | def create_model_fn(self):
class NonFeatureTask (line 273) | class NonFeatureTask(NativeTask):
method create_input_fn (line 275) | def create_input_fn(self, mode):
method create_model_fn (line 283) | def create_model_fn(self):
class CpuTrainTest (line 295) | class CpuTrainTest(tf.test.TestCase):
method test_cpu_training_feature (line 297) | def test_cpu_training_feature(self):
method test_with_misc_features (line 307) | def test_with_misc_features(self):
method test_with_export_when_saving (line 318) | def test_with_export_when_saving(self):
method test_dense_only_export (line 328) | def test_dense_only_export(self):
method test_with_prefetch_postpush (line 341) | def test_with_prefetch_postpush(self):
method test_cpu_training_float_feature (line 355) | def test_cpu_training_float_feature(self):
method test_cpu_training_sequence_feature (line 366) | def test_cpu_training_sequence_feature(self):
method test_cpu_training_with_slot_occurrence_threshold (line 377) | def test_cpu_training_with_slot_occurrence_threshold(self):
method test_cpu_training_with_expire_time (line 392) | def test_cpu_training_with_expire_time(self):
method test_cpu_training_non_feature (line 418) | def test_cpu_training_non_feature(self):
method test_gpu_export (line 429) | def test_gpu_export(self):
class DistributedTrainTest (line 449) | class DistributedTrainTest(tf.test.TestCase):
method _run_process (line 451) | def _run_process(self, args_tmpl: List, num_ps: int, num_workers: int):
method _run_test (line 474) | def _run_test(self, args_tmpl: List, num_ps: int, num_workers: int):
method _test_dir (line 481) | def _test_dir(self):
method _test_args (line 485) | def _test_args(self, num_ps, num_workers, case=0):
method test0_basic (line 498) | def test0_basic(self):
method test0_with_extra_ps (line 505) | def test0_with_extra_ps(self):
method test0_with_redundant_ps (line 513) | def test0_with_redundant_ps(self):
method test1_with_debugging_server (line 521) | def test1_with_debugging_server(self):
method test2_temporary_error (line 564) | def test2_temporary_error(self):
class LocalTrainTest (line 571) | class LocalTrainTest(tf.test.TestCase):
method testBasic (line 573) | def testBasic(self):
method testWithPs (line 583) | def testWithPs(self):
FILE: monolith/native_training/data/data_ops_test.py
function parse_inst_exam (line 67) | def parse_inst_exam(tensor: tf.Tensor, out_type):
function parse_eb (line 91) | def parse_eb(tensor: tf.Tensor, out_type):
class DataOpsTest (line 116) | class DataOpsTest(tf.test.TestCase):
method setUpClass (line 119) | def setUpClass(cls):
method tearDownClass (line 142) | def tearDownClass(cls):
method pb_dataset_target (line 146) | def pb_dataset_target(self, input_pb_type, output_pb_type, filter_fn=N...
method testInstance2Instance (line 202) | def testInstance2Instance(self):
method testInstance2Example (line 206) | def testInstance2Example(self):
method testExample2Example (line 210) | def testExample2Example(self):
method testExample2Instance (line 214) | def testExample2Instance(self):
method testExampleBatch2Example (line 218) | def testExampleBatch2Example(self):
method testExampleBatch2Instance (line 222) | def testExampleBatch2Instance(self):
method testInstanceWithPBInstanceDataset (line 226) | def testInstanceWithPBInstanceDataset(self):
method testExampleWithPBInstanceDataset (line 230) | def testExampleWithPBInstanceDataset(self):
method testSetFilterInstance (line 234) | def testSetFilterInstance(self):
method testSetFilterExample (line 240) | def testSetFilterExample(self):
method testValueFilterInstance (line 247) | def testValueFilterInstance(self):
method testValueFilterInInstance (line 253) | def testValueFilterInInstance(self):
method testValueFilterEqInstance (line 259) | def testValueFilterEqInstance(self):
method testValueFilterBewteenInstance (line 265) | def testValueFilterBewteenInstance(self):
method testValueFilterStrInstance (line 271) | def testValueFilterStrInstance(self):
method testValueFilterAnyInstance (line 277) | def testValueFilterAnyInstance(self):
method testValueFilterAllInstance (line 283) | def testValueFilterAllInstance(self):
method testValueFilterDiffInstance (line 289) | def testValueFilterDiffInstance(self):
method testSpecialStrategyInstance (line 295) | def testSpecialStrategyInstance(self):
method testValueFilterExample (line 302) | def testValueFilterExample(self):
method testExampleBatchPredScalar (line 309) | def testExampleBatchPredScalar(self):
method testExampleBatchPredBatch (line 335) | def testExampleBatchPredBatch(self):
method testPBDataset (line 360) | def testPBDataset(self):
method _init_session (line 373) | def _init_session(self):
method testCreateInstanceDatasetHdfs (line 379) | def testCreateInstanceDatasetHdfs(self):
method testGenPatterns (line 401) | def testGenPatterns(self):
class CahceOneDatasetTest (line 409) | class CahceOneDatasetTest(tf.test.TestCase):
method test_basic (line 411) | def test_basic(self):
class DecompressTest (line 420) | class DecompressTest(tf.test.TestCase):
method setUpClass (line 425) | def setUpClass(cls):
method prase_base (line 429) | def prase_base(self, compress_file_name, compression_type):
method testDecompressZstd (line 466) | def testDecompressZstd(self):
method testDecompressZlib (line 475) | def testDecompressZlib(self):
method testDecompressGzip (line 487) | def testDecompressGzip(self):
FILE: monolith/native_training/data/data_service_parquet_test.py
class DataServiceTest2 (line 32) | class DataServiceTest2(tf.test.TestCase):
method setUpClass (line 35) | def setUpClass(cls):
method tearDownClass (line 50) | def tearDownClass(cls):
method testDataServiceWithParquetDataset (line 63) | def testDataServiceWithParquetDataset(self):
FILE: monolith/native_training/data/data_service_test.py
class DataServiceTest (line 28) | class DataServiceTest(tf.test.TestCase):
method setUpClass (line 31) | def setUpClass(cls):
method tearDownClass (line 46) | def tearDownClass(cls):
method testSplitProvider (line 59) | def testSplitProvider(self):
FILE: monolith/native_training/data/datasets.py
class FeaturePruningType (line 91) | class FeaturePruningType(object):
class PbType (line 98) | class PbType(Enum):
method to_name (line 104) | def to_name(self):
function _get_params (line 108) | def _get_params(name, default=None):
class DatasetMetaclass (line 126) | class DatasetMetaclass(type):
method __call__ (line 128) | def __call__(cls, *args, **kwargs):
class PBDataset (line 311) | class PBDataset(metaclass=DatasetMetaclass):
method __init__ (line 313) | def __init__(
method gen_patterns (line 339) | def gen_patterns(cls,
class DynamicMatchingFilesDataset (line 384) | class DynamicMatchingFilesDataset(dataset_ops.DatasetSource):
method __init__ (line 387) | def __init__(self, patterns: List[str]):
method element_spec (line 397) | def element_spec(self):
class TFRecordDatasetWrapper (line 401) | class TFRecordDatasetWrapper(tf.data.TFRecordDataset):
method __init__ (line 403) | def __init__(self,
class ParquetDataset (line 415) | class ParquetDataset(dataset_ops.DatasetSource):
method __init__ (line 417) | def __init__(self,
method element_spec (line 457) | def element_spec(self):
class CompressType (line 462) | class CompressType(Enum):
class FilePBDataset (line 472) | class FilePBDataset(dataset_ops.DatasetSource):
method __init__ (line 490) | def __init__(
method element_spec (line 582) | def element_spec(self):
class DistributedFilePBDataset (line 586) | class DistributedFilePBDataset(dataset_ops.DatasetSource):
method __init__ (line 588) | def __init__(
method element_spec (line 680) | def element_spec(self):
class InstanceReweightDataset (line 685) | class InstanceReweightDataset(dataset_ops.UnaryUnchangedStructureDataset):
method __init__ (line 706) | def __init__(self,
method element_spec (line 735) | def element_spec(self):
class NegativeGenDataset (line 740) | class NegativeGenDataset(dataset_ops.UnaryUnchangedStructureDataset):
method __init__ (line 766) | def __init__(self,
method element_spec (line 836) | def element_spec(self):
function instance_reweight (line 840) | def instance_reweight(self, action_priority: str, reweight: str, **kwargs):
class CacheOneDataset (line 852) | class CacheOneDataset(dataset_ops.UnaryDataset):
method __init__ (line 854) | def __init__(self, input_dataset):
method element_spec (line 862) | def element_spec(self):
class SplitFlowDataset (line 868) | class SplitFlowDataset(dataset_ops.UnaryUnchangedStructureDataset):
method __init__ (line 870) | def __init__(self,
method element_spec (line 885) | def element_spec(self):
class MergeFlowDataset (line 890) | class MergeFlowDataset(dataset_ops.DatasetV2):
method __init__ (line 892) | def __init__(self,
method _inputs (line 950) | def _inputs(self):
method element_spec (line 954) | def element_spec(self):
function negative_gen (line 958) | def negative_gen(self,
function split_flow (line 1015) | def split_flow(self,
function merge_flow (line 1031) | def merge_flow(self, dataset_to_merge, max_queue_size: int = 1024, **kwa...
class KafkaGen (line 1042) | class KafkaGen(object):
method __init__ (line 1044) | def __init__(self,
method consumer (line 1072) | def consumer(self):
method __iter__ (line 1082) | def __iter__(self):
method __next__ (line 1085) | def __next__(self):
method __call__ (line 1095) | def __call__(self):
method _poll (line 1098) | def _poll(self):
class PyKafkaDataset (line 1127) | class PyKafkaDataset(dataset_ops.DatasetSource):
method __init__ (line 1129) | def __init__(self,
method element_spec (line 1178) | def element_spec(self):
function create_plain_kafka_dataset (line 1182) | def create_plain_kafka_dataset(topics: List[str],
class KafkaDataset (line 1223) | class KafkaDataset(dataset_ops.DatasetSource):
method __init__ (line 1225) | def __init__(self,
method element_spec (line 1360) | def element_spec(self):
function register_dataset (line 1364) | def register_dataset(service, dataset, buffer_size=32):
function from_dataset_id (line 1387) | def from_dataset_id(processing_mode,
function merged_window (line 1418) | def merged_window(self: tf.data.Dataset,
function distribute (line 1456) | def distribute(self,
function transform (line 1597) | def transform(self, t: Transform, **kwargs):
class TransformDataset (line 1606) | class TransformDataset(dataset_ops.UnaryUnchangedStructureDataset):
method __init__ (line 1620) | def __init__(self, input_dataset, transform: Transform, variant_type: ...
method element_spec (line 1632) | def element_spec(self):
FILE: monolith/native_training/data/eager_mode_test.py
function parse_inst_exam (line 52) | def parse_inst_exam(tensor: tf.Tensor, out_type):
function parse_eb (line 76) | def parse_eb(tensor: tf.Tensor, out_type):
class DataOpsTest (line 100) | class DataOpsTest(tf.test.TestCase):
method target (line 102) | def target(self, input_pb_type, output_pb_type):
method testExampleBatch2Instance (line 147) | def testExampleBatch2Instance(self):
method testExample2Instance (line 150) | def testExample2Instance(self):
method testInstance2Instance (line 153) | def testInstance2Instance(self):
method testExampleBatch (line 156) | def testExampleBatch(self):
FILE: monolith/native_training/data/extract_fid_test.py
class ExtraFidTest (line 22) | class ExtraFidTest(tf.test.TestCase):
method test_parse_search (line 24) | def test_parse_search(self):
FILE: monolith/native_training/data/feature_list.py
function new_instance (line 32) | def new_instance(cls, args):
class Feed (line 44) | class Feed:
method __post_init__ (line 49) | def __post_init__(self):
method name (line 58) | def name(self):
class Cache (line 63) | class Cache:
method __post_init__ (line 71) | def __post_init__(self):
method name (line 78) | def name(self):
class Feature (line 90) | class Feature:
method __post_init__ (line 104) | def __post_init__(self):
method __str__ (line 150) | def __str__(self):
method name (line 173) | def name(self):
method depend_strip_prefix (line 185) | def depend_strip_prefix(self):
class FeatureList (line 200) | class FeatureList(object):
method __init__ (line 203) | def __init__(self, column_name: Optional[Set[str]], feeds: Dict[str, F...
method __getitem__ (line 215) | def __getitem__(self, item) -> Feature:
method get (line 242) | def get(self, item, default=None):
method get_with_slot (line 248) | def get_with_slot(self, slot):
method __len__ (line 254) | def __len__(self):
method __contains__ (line 257) | def __contains__(self, item):
method __iter__ (line 260) | def __iter__(self):
method parse (line 264) | def parse(cls, fname: str = None, use_old_name: bool = True) -> 'Featu...
function get_feature_name_and_slot (line 328) | def get_feature_name_and_slot(item) -> Tuple[str, Optional[int]]:
function is_example_batch (line 351) | def is_example_batch():
function add_feature (line 360) | def add_feature(feature: Union[str, int, List[str], List[int]]):
function add_feature_by_fids (line 373) | def add_feature_by_fids(fids: Union[int, List[int]], feature_list: Featu...
function get_valid_features (line 407) | def get_valid_features() -> List[str]:
FILE: monolith/native_training/data/feature_utils.py
function filter_by_fids (line 34) | def filter_by_fids(variant: tf.Tensor,
function filter_by_feature_value (line 81) | def filter_by_feature_value(variant: tf.Tensor,
function filter_by_value (line 167) | def filter_by_value(variant: tf.Tensor,
function add_action (line 261) | def add_action(
function add_label (line 331) | def add_label(
function scatter_label (line 396) | def scatter_label(
function filter_by_label (line 433) | def filter_by_label(
function special_strategy (line 468) | def special_strategy(variant: tf.Tensor,
function negative_sample (line 518) | def negative_sample(variant: tf.Tensor,
function feature_combine (line 566) | def feature_combine(src1: tf.RaggedTensor, src2: tf.RaggedTensor,
function switch_slot (line 602) | def switch_slot(ragged: tf.RaggedTensor, slot: int) -> tf.RaggedTensor:
function switch_slot_batch (line 632) | def switch_slot_batch(variant: tf.Tensor,
function label_upper_bound (line 664) | def label_upper_bound(variant: tf.Tensor,
function label_normalization (line 686) | def label_normalization(variant: tf.Tensor,
function use_field_as_label (line 711) | def use_field_as_label(variant: tf.Tensor,
function create_item_pool (line 736) | def create_item_pool(start_num: int,
function item_pool_random_fill (line 749) | def item_pool_random_fill(pool: tf.Tensor) -> tf.Tensor:
function item_pool_check (line 754) | def item_pool_check(pool: tf.Tensor,
function save_item_pool (line 767) | def save_item_pool(pool: tf.Tensor,
function restore_item_pool (line 778) | def restore_item_pool(pool: tf.Tensor,
function fill_multi_rank_output (line 791) | def fill_multi_rank_output(
function use_f100_multi_head (line 814) | def use_f100_multi_head(
function map_id (line 826) | def map_id(tensor: tf.Tensor, map_dict: Dict[int, int], default: int = -1):
function multi_label_gen (line 836) | def multi_label_gen(variant: tf.Tensor,
function string_to_variant (line 887) | def string_to_variant(tensor: tf.Tensor,
function string_to_variant_with_transform (line 931) | def string_to_variant_with_transform(tensor: tf.Tensor,
function variant_to_zeros (line 958) | def variant_to_zeros(tensor: tf.Tensor):
function kafka_resource_init (line 962) | def kafka_resource_init(topics: List[str],
function kafka_read_next (line 985) | def kafka_read_next(input, index: int, message_poll_timeout: int,
function kafka_read_next_v2 (line 994) | def kafka_read_next_v2(input, index: int, message_poll_timeout: int,
function has_variant (line 1003) | def has_variant(input, variant_type: str = 'example'):
function gen_fid_mask (line 1007) | def gen_fid_mask(tenosr: tf.RaggedTensor, fid: int) -> tf.Tensor:
function tf_example_to_example (line 1015) | def tf_example_to_example(serialized: tf.Tensor,
FILE: monolith/native_training/data/feature_utils_test.py
function get_fid_v1 (line 40) | def get_fid_v1(slot: int, signautre: int):
function get_fid_v2 (line 44) | def get_fid_v2(slot: int, signature: int):
function parse_instance_or_example (line 80) | def parse_instance_or_example(tensor: tf.Tensor, out_type,
function parse_example_batch (line 111) | def parse_example_batch(tensor: tf.Tensor, out_type,
function line_id_to_feature (line 142) | def line_id_to_feature(name, value):
function generate_instance (line 164) | def generate_instance(labels: List[int],
function write_instance_into_file (line 209) | def write_instance_into_file(file: BinaryIO, instance):
function parse_instance_from_file (line 222) | def parse_instance_from_file(stream, has_kafka_dump, has_kafka_dump_pref...
class DataOpsTest (line 248) | class DataOpsTest(tf.test.TestCase):
method pb_dataset_target (line 249) | def pb_dataset_target(self,
method test_input_instance_output_instance (line 315) | def test_input_instance_output_instance(self):
method test_input_instance_output_instance_add_action (line 321) | def test_input_instance_output_instance_add_action(self):
method test_input_instance_output_example (line 330) | def test_input_instance_output_example(self):
method test_input_instance_output_example_add_action (line 338) | def test_input_instance_output_example_add_action(self):
method test_input_example_output_instance (line 352) | def test_input_example_output_instance(self):
method test_input_example_output_instance_add_action (line 358) | def test_input_example_output_instance_add_action(self):
method test_input_example_output_example (line 370) | def test_input_example_output_example(self):
method test_input_example_output_example_add_action (line 378) | def test_input_example_output_example_add_action(self):
method test_input_example_batch_output_instance (line 389) | def test_input_example_batch_output_instance(self):
method test_input_example_batch_output_instance_add_action (line 397) | def test_input_example_batch_output_instance_add_action(self):
method test_input_example_batch_output_example (line 412) | def test_input_example_batch_output_example(self):
method test_input_example_batch_output_example_add_action (line 420) | def test_input_example_batch_output_example_add_action(self):
method test_input_instance_output_instance_add_label (line 432) | def test_input_instance_output_instance_add_label(self):
method test_input_instance_output_instance_label_upper_bound (line 506) | def test_input_instance_output_instance_label_upper_bound(self):
method test_input_instance_output_instance_label_normalization (line 516) | def test_input_instance_output_instance_label_normalization(self):
method test_input_examplebatch_output_instance_use_field_as_label (line 529) | def test_input_examplebatch_output_instance_use_field_as_label(self):
method test_input_instance_output_instance_filter_by_label_equals (line 569) | def test_input_instance_output_instance_filter_by_label_equals(self):
method test_input_instance_output_instance_scatter_label (line 596) | def test_input_instance_output_instance_scatter_label(self):
method test_filter_by_bytes_value (line 667) | def test_filter_by_bytes_value(self):
method test_filter_by_float_value (line 758) | def test_filter_by_float_value(self):
method test_filter_by_value_not_in (line 823) | def test_filter_by_value_not_in(self):
method test_filter_by_value_all (line 984) | def test_filter_by_value_all(self):
method test_map_id (line 1047) | def test_map_id(self):
method test_filter_by_fids (line 1057) | def test_filter_by_fids(self):
method test_multi_label_gen (line 1107) | def test_multi_label_gen(self):
method test_string_to_variant (line 1191) | def test_string_to_variant(self):
method test_has_variant (line 1231) | def test_has_variant(self):
method test_switch_slot_batch (line 1253) | def test_switch_slot_batch(self):
method test_gen_fid_mask_int64 (line 1324) | def test_gen_fid_mask_int64(self):
method test_gen_fid_mask_int32 (line 1334) | def test_gen_fid_mask_int32(self):
method test_negative_sample_with_positive_actions (line 1346) | def test_negative_sample_with_positive_actions(self):
FILE: monolith/native_training/data/item_pool_hook.py
class ItemPoolSaveRestoreHook (line 27) | class ItemPoolSaveRestoreHook(SessionRunHook):
method __init__ (line 29) | def __init__(self, model_dir: str, save_steps: int, mode: str = 'train'):
method begin (line 40) | def begin(self):
method after_create_session (line 62) | def after_create_session(self, session, coord): # pylint: disable=unu...
method after_run (line 82) | def after_run(
method end (line 98) | def end(self, session): # pylint: disable=unused-argument
FILE: monolith/native_training/data/item_pool_test.py
class ItemPoolTest (line 26) | class ItemPoolTest(tf.test.TestCase):
method setUpClass (line 29) | def setUpClass(cls):
method test_create_item_pool (line 41) | def test_create_item_pool(self):
FILE: monolith/native_training/data/kafka_dataset_test.py
function start_producer (line 79) | def start_producer(input_type):
class KafkaDatasetTest (line 136) | class KafkaDatasetTest(tf.test.TestCase, parameterized.TestCase):
method setUpClass (line 139) | def setUpClass(cls):
method test_kafka_dataset (line 147) | def test_kafka_dataset(self, input_type, output_type):
FILE: monolith/native_training/data/kernels/add_action_kernel.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
class AddActionOp (line 38) | class AddActionOp : public OpKernel {
method AddActionOp (line 40) | explicit AddActionOp(OpKernelConstruction *context) : OpKernel(con...
method Compute (line 77) | void Compute(OpKernelContext *context) override {
method LineId (line 173) | static LineId *GetLineId(Tensor *output_tensor, bool is_instance) {
FILE: monolith/native_training/data/kernels/add_label_kernel.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
class AddLabelOp (line 40) | class AddLabelOp : public OpKernel {
method AddLabelOp (line 42) | explicit AddLabelOp(OpKernelConstruction *context) : OpKernel(cont...
method Compute (line 66) | void Compute(OpKernelContext *context) override {
method SelectedByNegativeSampling (line 129) | bool SelectedByNegativeSampling(const internal::TaskConfig &t) {
method LineId (line 134) | static LineId *GetLineId(Tensor *output_tensor, bool is_instance) {
FILE: monolith/native_training/data/kernels/cache_one_dataset_kernel.cc
type tensorflow (line 28) | namespace tensorflow {
type data (line 29) | namespace data {
type monolith_tf (line 30) | namespace monolith_tf {
class CacheOneDatasetOp::Dataset (line 32) | class CacheOneDatasetOp::Dataset : public DatasetBase {
method Dataset (line 34) | Dataset(OpKernelContext* ctx, const DatasetBase* input)
method MakeIteratorInternal (line 45) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 51) | const DataTypeVector& output_dtypes() const override {
method string (line 59) | string DebugString() const override {
method int64 (line 63) | int64 Cardinality() const override { return input_->Cardinality(...
method Status (line 65) | Status InputDatasets(std::vector<const DatasetBase*>* inputs) co...
method Status (line 70) | Status CheckExternalState() const override {
method Status (line 75) | Status AsGraphDefInternal(SerializationContext* ctx,
class Iterator (line 84) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 86) | explicit Iterator(const Params& params)
method Status (line 89) | Status Initialize(IteratorContext* ctx) override {
method Status (line 94) | Status GetNextInternal(IteratorContext* ctx,
method CreateNode (line 125) | std::shared_ptr<model::Node> CreateNode(
method Status (line 130) | Status SaveInternal(SerializationContext* ctx,
method Status (line 135) | Status RestoreInternal(IteratorContext* ctx,
FILE: monolith/native_training/data/kernels/cache_one_dataset_kernel.h
function namespace (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/df_resource_kernel.cc
type tensorflow (line 17) | namespace tensorflow {
type monolith_tf (line 18) | namespace monolith_tf {
function Status (line 22) | Status RegisterCancellationCallback(CancellationManager* cancellatio...
class CreateQueueOp (line 41) | class CreateQueueOp : public ResourceOpKernel<QueueResource> {
method CreateQueueOp (line 43) | explicit CreateQueueOp(OpKernelConstruction* c) : ResourceOpKernel...
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 51) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) override {
FILE: monolith/native_training/data/kernels/df_resource_kernel.h
function namespace (line 26) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/dynamic_match_file_dataset_kernel.cc
type tensorflow (line 35) | namespace tensorflow {
type data (line 36) | namespace data {
type monolith_tf (line 37) | namespace monolith_tf {
class DynamicMatchingFilesDatasetOp (line 39) | class DynamicMatchingFilesDatasetOp : public DatasetOpKernel {
method MakeDataset (line 43) | void MakeDataset(OpKernelContext* ctx, DatasetBase** output) ove...
class Dataset (line 61) | class Dataset : public DatasetBase {
method Dataset (line 63) | Dataset(OpKernelContext* ctx, std::vector<std::string> patterns)
method MakeIteratorInternal (line 66) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 72) | const DataTypeVector& output_dtypes() const override {
method string (line 83) | string DebugString() const override {
method Status (line 87) | Status InputDatasets(
method Status (line 92) | Status CheckExternalState() const override { return Status::OK...
method Status (line 94) | Status MakeSplitProvider(
method Status (line 101) | Status AsGraphDefInternal(SerializationContext* ctx,
class Iterator (line 111) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 113) | explicit Iterator(const Params& params)
method Status (line 116) | Status GetNextInternal(IteratorContext* ctx,
method CreateNode (line 158) | std::shared_ptr<model::Node> CreateNode(
method Status (line 163) | Status SaveInternal(SerializationContext* ctx,
method Status (line 174) | Status RestoreInternal(IteratorContext* ctx,
FILE: monolith/native_training/data/kernels/extract_fid_kernel.cc
type tensorflow (line 21) | namespace tensorflow {
type monolith_tf (line 22) | namespace monolith_tf {
class ExtractFidOp (line 24) | class ExtractFidOp : public OpKernel {
method ExtractFidOp (line 29) | explicit ExtractFidOp(OpKernelConstruction* ctx) : OpKernel(ctx) {
method Compute (line 34) | void Compute(OpKernelContext* context) override {
FILE: monolith/native_training/data/kernels/feature_hash.cc
type tensorflow (line 26) | namespace tensorflow {
type monolith_tf (line 27) | namespace monolith_tf {
class FeatureHashOp (line 34) | class FeatureHashOp : public OpKernel {
method FeatureHashOp (line 39) | explicit FeatureHashOp(OpKernelConstruction *ctx) : OpKernel(ctx) {
method Compute (line 45) | void Compute(OpKernelContext *context) override {
method raw_feature_to_feature (line 82) | void raw_feature_to_feature(const std::string &name,
FILE: monolith/native_training/data/kernels/feature_name_mapper_tf_bridge.cc
type tensorflow (line 17) | namespace tensorflow {
type monolith_tf (line 18) | namespace monolith_tf {
function Status (line 20) | Status FeatureNameMapperTfBridge::New(FeatureNameMapperTfBridge** ne...
function Status (line 28) | Status FeatureNameMapperTfBridge::RegisterValidIds(
FILE: monolith/native_training/data/kernels/feature_name_mapper_tf_bridge.h
function namespace (line 29) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/fill_multi_rank_output_kernel.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
class FillMultiRankOutputOp (line 39) | class FillMultiRankOutputOp : public OpKernel {
method FillMultiRankOutputOp (line 41) | explicit FillMultiRankOutputOp(OpKernelConstruction *context)
method Compute (line 65) | void Compute(OpKernelContext *context) override {
method LineId (line 115) | static LineId *GetLineId(Tensor *output_tensor, bool is_instance) {
method GetFids (line 138) | static std::vector<uint64_t> GetFids(Tensor *output_tensor,
FILE: monolith/native_training/data/kernels/filter_by_label_kernel.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
class FilterByLabelOp (line 40) | class FilterByLabelOp : public OpKernel {
method FilterByLabelOp (line 42) | explicit FilterByLabelOp(OpKernelConstruction *context) : OpKernel...
method Compute (line 58) | void Compute(OpKernelContext *context) override {
FILE: monolith/native_training/data/kernels/gen_fid_mask.cc
type tensorflow (line 24) | namespace tensorflow {
type monolith_tf (line 25) | namespace monolith_tf {
class MonolithGenFidMaskOp (line 28) | class MonolithGenFidMaskOp : public OpKernel {
method MonolithGenFidMaskOp (line 32) | explicit MonolithGenFidMaskOp(OpKernelConstruction *ctx) : OpKerne...
method Compute (line 36) | void Compute(OpKernelContext *context) override {
FILE: monolith/native_training/data/kernels/instance_reweight_dataset_kernel.cc
type tensorflow (line 40) | namespace tensorflow {
type data (line 41) | namespace data {
type monolith_tf (line 42) | namespace monolith_tf {
class InnerIterator (line 65) | class InnerIterator {
method InnerIterator (line 67) | InnerIterator(IteratorBase *input_impl, int instance_reweight_me...
method Status (line 90) | Status GetNext(IteratorContext *ctx, std::vector<Tensor> *out_te...
method Status (line 103) | Status NextInternal(IteratorContext *ctx) {
method Instance (line 143) | inline Instance *GetCurrentInstance() {
method Example (line 148) | inline Example *GetCurrentExample() {
method CalReplicas (line 152) | int CalReplicas(const LineId &lineid, float *ins_label) {
class InstanceReweightDatasetOp::Dataset (line 278) | class InstanceReweightDatasetOp::Dataset : public DatasetBase {
method Dataset (line 280) | Dataset(OpKernelContext *ctx, const DatasetBase *input,
method MakeIteratorInternal (line 297) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 303) | const DataTypeVector &output_dtypes() const override {
method string (line 311) | string DebugString() const override {
method Status (line 315) | Status InputDatasets(
method Status (line 321) | Status CheckExternalState() const override {
method Status (line 326) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 360) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 362) | explicit Iterator(const Params ¶ms)
method Status (line 365) | Status Initialize(IteratorContext *ctx) override {
method Status (line 377) | Status GetNextInternal(IteratorContext *ctx,
method CreateNode (line 386) | std::shared_ptr<model::Node> CreateNode(
method Status (line 391) | Status SaveInternal(SerializationContext *ctx,
method Status (line 396) | Status RestoreInternal(IteratorContext *ctx,
FILE: monolith/native_training/data/kernels/instance_reweight_dataset_kernel.h
function namespace (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/arrow_random_access_file.h
function namespace (line 40) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/cache_mgr.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
type internal (line 33) | namespace internal {
function MakeItemFeaturesFromProto (line 35) | std::shared_ptr<ItemFeatures> MakeItemFeaturesFromProto(
FILE: monolith/native_training/data/kernels/internal/cache_mgr.h
function namespace (line 29) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/cache_mgr_test.cc
type tensorflow (line 24) | namespace tensorflow {
type monolith_tf (line 25) | namespace monolith_tf {
type internal (line 26) | namespace internal {
function gen_named_feature (line 31) | void gen_named_feature(NamedFeature *nf) {
function gen_item_features (line 42) | void gen_item_features(ItemFeatures *item) {
function fill_cache_with_gid (line 53) | void fill_cache_with_gid(CacheWithGid *cwg) {
function TEST (line 63) | TEST(CACHE_MGR, CacheWithGid) {
function TEST (line 74) | TEST(CACHE_MGR, CacheManager) {
FILE: monolith/native_training/data/kernels/internal/datasource_utils.cc
type tensorflow (line 17) | namespace tensorflow {
type monolith_tf (line 18) | namespace monolith_tf {
type internal (line 19) | namespace internal {
function java_hash_code (line 21) | int32_t java_hash_code(const std::string &data_flow_name) {
FILE: monolith/native_training/data/kernels/internal/datasource_utils.h
function namespace (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/datasource_utils_test.cc
type tensorflow (line 20) | namespace tensorflow {
type monolith_tf (line 21) | namespace monolith_tf {
type internal (line 22) | namespace internal {
function TEST (line 25) | TEST(DatasourceUtils, JavaHashCode) {
FILE: monolith/native_training/data/kernels/internal/file_match_split_provider.cc
type tensorflow (line 34) | namespace tensorflow {
type data (line 35) | namespace data {
type monolith_tf (line 36) | namespace monolith_tf {
function Status (line 38) | Status FileMatchSplitProvider::GetNext(Tensor *split, bool *end_of...
function Status (line 69) | Status FileMatchSplitProvider::Reset() {
function Status (line 90) | Status FileMatchSplitProvider::Save(
function Status (line 110) | Status FileMatchSplitProvider::Restore(
function Status (line 132) | Status FileMatchSplitProvider::EnsureFeederInitialized() {
FILE: monolith/native_training/data/kernels/internal/file_match_split_provider.h
function namespace (line 24) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/file_match_split_provider_test.cc
type tensorflow (line 26) | namespace tensorflow {
type data (line 27) | namespace data {
type monolith_tf (line 28) | namespace monolith_tf {
function TEST (line 31) | TEST(FileMatchSplitProvider, Create) {
function TEST (line 55) | TEST(FileMatchSplitProvider, Reset) {
FILE: monolith/native_training/data/kernels/internal/label_utils.cc
type tensorflow (line 26) | namespace tensorflow {
type monolith_tf (line 27) | namespace monolith_tf {
type internal (line 28) | namespace internal {
function HasIntersection (line 31) | bool HasIntersection(const std::set<int32_t> &lhs,
function ParseTaskConfig (line 39) | bool ParseTaskConfig(const std::string &config,
FILE: monolith/native_training/data/kernels/internal/label_utils.h
function namespace (line 26) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/label_utils_test.cc
type tensorflow (line 20) | namespace tensorflow {
type monolith_tf (line 21) | namespace monolith_tf {
type internal (line 22) | namespace internal {
function TEST (line 26) | TEST(LabelUtils, HasIntersection) {
function TEST (line 32) | TEST(LabelUtils, ParseTaskConfigBasic) {
FILE: monolith/native_training/data/kernels/internal/parquet_column_buffer.h
function namespace (line 22) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/parquet_example_reader.h
function namespace (line 31) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/relational_utils.h
function namespace (line 25) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/relational_utils_test.cc
type tensorflow (line 24) | namespace tensorflow {
type monolith_tf (line 25) | namespace monolith_tf {
type internal (line 26) | namespace internal {
function TEST (line 29) | TEST(RelationalUtils, GT) {
function TEST (line 37) | TEST(RelationalUtils, GE) {
function TEST (line 45) | TEST(RelationalUtils, EQ) {
function TEST (line 53) | TEST(RelationalUtils, LT) {
function TEST (line 61) | TEST(RelationalUtils, LE) {
function TEST (line 69) | TEST(RelationalUtils, NEQ) {
function TEST (line 77) | TEST(RelationalUtils, BETWEEN) {
function TEST (line 85) | TEST(RelationalUtils, IN) {
function TEST (line 93) | TEST(RelationalUtils, NOT_IN) {
FILE: monolith/native_training/data/kernels/internal/sized_random_access_file.h
function namespace (line 36) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/uniq_hashtable.h
function namespace (line 34) | namespace tensorflow {
function class (line 229) | class MultiShardUniqHashTable {
FILE: monolith/native_training/data/kernels/internal/uniq_hashtable_test.cc
type tensorflow (line 28) | namespace tensorflow {
type monolith_tf (line 29) | namespace monolith_tf {
class UniqHashTableTest (line 32) | class UniqHashTableTest {
method UniqHashTableTest (line 39) | UniqHashTableTest(int fid_num, int fid_range) {
method Reset (line 44) | void Reset() {
method Check (line 51) | void Check() {
function TEST (line 79) | TEST(UniqHashTableTest, Small) {
function TEST (line 86) | TEST(UniqHashTableTest, Medium) {
function TEST (line 93) | TEST(UniqHashTableTest, Reset) {
function TEST (line 102) | TEST(UniqHashTableTest, ReqId) {
FILE: monolith/native_training/data/kernels/internal/value_filter_by_feature.cc
type tensorflow (line 23) | namespace tensorflow {
type monolith_tf (line 24) | namespace monolith_tf {
type internal (line 25) | namespace internal {
function Status (line 100) | Status FeatureValueFilter::EnsureLoadFilterValues(tensorflow::Env*...
FILE: monolith/native_training/data/kernels/internal/value_filter_by_feature.h
function namespace (line 24) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/value_filter_by_line_id.cc
type tensorflow (line 23) | namespace tensorflow {
type monolith_tf (line 24) | namespace monolith_tf {
type internal (line 25) | namespace internal {
function Status (line 99) | Status LineIdValueFilter::EnsureLoadFilterValues(tensorflow::Env *...
FILE: monolith/native_training/data/kernels/internal/value_filter_by_line_id.h
function namespace (line 23) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/internal/value_filter_test.cc
type tensorflow (line 25) | namespace tensorflow {
type monolith_tf (line 26) | namespace monolith_tf {
type internal (line 27) | namespace internal {
function TEST (line 32) | TEST(LineIdValueFilter, Int) {
function TEST (line 59) | TEST(LineIdValueFilter, IntArray) {
function TEST (line 85) | TEST(LineIdValueFilter, Float) {
function TEST (line 115) | TEST(LineIdValueFilter, String) {
FILE: monolith/native_training/data/kernels/item_pool_kernels.cc
type tensorflow (line 40) | namespace tensorflow {
type monolith_tf (line 41) | namespace monolith_tf {
type AsyncPack (line 45) | struct AsyncPack {
method AsyncPack (line 46) | AsyncPack(OpKernelContext* p_ctx, ItemPoolResource* p_pool,
function Status (line 73) | Status ItemPoolResource::Add(
function Status (line 87) | Status ItemPoolResource::Save(WritableFile* ostream, int shard_index,
function Status (line 115) | Status ItemPoolResource::Restore(RandomAccessFile* istream, int64 bu...
function get_index_and_worker_num (line 191) | void get_index_and_worker_num(int* index, int* worker_num) {
class ItemPoolCreateOp (line 216) | class ItemPoolCreateOp : public ResourceOpKernel<ItemPoolResource> {
method ItemPoolCreateOp (line 218) | explicit ItemPoolCreateOp(OpKernelConstruction* ctx) : ResourceOpK...
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 226) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) override {
class ItemPoolRandomFillOp (line 235) | class ItemPoolRandomFillOp : public OpKernel {
method ItemPoolRandomFillOp (line 237) | explicit ItemPoolRandomFillOp(OpKernelConstruction* ctx) : OpKerne...
method Compute (line 239) | void Compute(OpKernelContext* ctx) override {
method GenNamedFeature (line 256) | void GenNamedFeature(NamedFeature* nf) {
method GenItemFeatures (line 267) | void GenItemFeatures(internal::ItemFeatures* item) {
class ItemPoolCheckOp (line 280) | class ItemPoolCheckOp : public OpKernel {
method ItemPoolCheckOp (line 282) | explicit ItemPoolCheckOp(OpKernelConstruction* ctx) : OpKernel(ctx) {
method Compute (line 288) | void Compute(OpKernelContext* ctx) override {
method GetRestoreFileName (line 320) | std::string GetRestoreFileName(OpKernelContext* ctx, int shard_ind...
class ItemPoolSaveOp (line 357) | class ItemPoolSaveOp : public AsyncOpKernel {
method ItemPoolSaveOp (line 359) | explicit ItemPoolSaveOp(OpKernelConstruction* ctx) : AsyncOpKernel...
method ComputeAsync (line 365) | void ComputeAsync(OpKernelContext* ctx, DoneCallback done) override {
method GetSaveFileName (line 391) | std::string GetSaveFileName(int shard_index) {
method WorkerThread (line 399) | void WorkerThread(int shard_index, AsyncPack* p) {
method Status (line 407) | Status SaveOneShard(int shard_index, AsyncPack* p) {
method Cleanup (line 429) | void Cleanup(AsyncPack* p) {
class ItemPoolRestoreOp (line 443) | class ItemPoolRestoreOp : public AsyncOpKernel {
method ItemPoolRestoreOp (line 445) | explicit ItemPoolRestoreOp(OpKernelConstruction* ctx) : AsyncOpKer...
method ComputeAsync (line 452) | void ComputeAsync(OpKernelContext* ctx, DoneCallback done) override {
method WorkerThread (line 474) | void WorkerThread(int shard_index, AsyncPack* p) {
method Status (line 482) | Status RestoreOneShard(int shard_index, AsyncPack* p) {
method Cleanup (line 500) | void Cleanup(AsyncPack* p) {
method FindLastNumber (line 513) | int FindLastNumber(std::vector<std::string> const &files, OpKernel...
method FindFuzzyCkptNumber (line 529) | int FindFuzzyCkptNumber(const std::vector<std::string>& files) {
method GetRestoreFileName (line 551) | std::string GetRestoreFileName(OpKernelContext* ctx, int shard_ind...
FILE: monolith/native_training/data/kernels/item_pool_kernels.h
function namespace (line 24) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/kafka_kernels.cc
type tensorflow (line 34) | namespace tensorflow {
type monolith_tf (line 35) | namespace monolith_tf {
class KafkaEventCb (line 54) | class KafkaEventCb : public RdKafka::EventCb {
method KafkaEventCb (line 56) | KafkaEventCb() : run_(true) {}
method run (line 58) | bool run() { return run_; }
method event_cb (line 60) | void event_cb(RdKafka::Event& event) {
class KafkaRebalanceCb (line 94) | class KafkaRebalanceCb : public RdKafka::RebalanceCb {
method KafkaRebalanceCb (line 96) | KafkaRebalanceCb() : run_(true) {}
method run (line 98) | bool run() { return run_; }
method rebalance_cb (line 100) | void rebalance_cb(RdKafka::KafkaConsumer* consumer, RdKafka::Error...
class KafkaGroupReadableResource (line 146) | class KafkaGroupReadableResource : public ResourceBase {
method KafkaGroupReadableResource (line 148) | explicit KafkaGroupReadableResource(Env* env) : env_(env) {}
method Status (line 157) | virtual Status Init(const std::vector<std::string>& topics,
class CurPBIteratorHandler (line 301) | class CurPBIteratorHandler {
type CurOutput (line 303) | struct CurOutput : public PBIteratorWithDataFormatTransBaseOutput {
method Status (line 310) | Status HandleReaderNextStauts(const Status& s, const tstring& re...
method Status (line 325) | Status HandleReaderNextStauts(const Status& s, const TResult& re...
method Status (line 342) | Status HandleResult(TResult&& result, CurOutput* output) {
method Status (line 346) | Status HandleResult(tstring&& serialized, CurOutput* output) {
method Status (line 351) | virtual Status HandleResult(Example&& exa_pb, CurOutput* output) {
method Status (line 356) | virtual Status HandleResult(Instance&& ins_pb, CurOutput* output) {
method Status (line 361) | virtual Status HandleResult(ExampleBatch&& eb_pb, CurOutput* out...
method Status (line 367) | Status Next(const int64 index, const int64 message_poll_timeout,
method string (line 499) | string DebugString() const override { return "KafkaBaseResource"; }
class KafkaGroupReadableInitOp (line 518) | class KafkaGroupReadableInitOp
method KafkaGroupReadableInitOp (line 521) | explicit KafkaGroupReadableInitOp(OpKernelConstruction* context)
method Compute (line 540) | void Compute(OpKernelContext* context) override {
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 562) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) override {
class KafkaGroupReadableNextOp (line 575) | class KafkaGroupReadableNextOp : public OpKernel {
method KafkaGroupReadableNextOp (line 577) | explicit KafkaGroupReadableNextOp(OpKernelConstruction* context,
method Compute (line 583) | void Compute(OpKernelContext* context) override {
class KafkaGroupReadableNextOpV2 (line 629) | class KafkaGroupReadableNextOpV2 : public KafkaGroupReadableNextOp {
method KafkaGroupReadableNextOpV2 (line 631) | explicit KafkaGroupReadableNextOpV2(OpKernelConstruction* context)
FILE: monolith/native_training/data/kernels/label_normalization_kernel.cc
type tensorflow (line 30) | namespace tensorflow {
type monolith_tf (line 31) | namespace monolith_tf {
class LabelNormalizationOp (line 39) | class LabelNormalizationOp : public OpKernel {
method LabelNormalizationOp (line 41) | explicit LabelNormalizationOp(OpKernelConstruction *context)
method Compute (line 58) | void Compute(OpKernelContext *context) override {
FILE: monolith/native_training/data/kernels/label_upper_bound_kernel.cc
type tensorflow (line 30) | namespace tensorflow {
type monolith_tf (line 31) | namespace monolith_tf {
class LabelUpperBoundOp (line 39) | class LabelUpperBoundOp : public OpKernel {
method LabelUpperBoundOp (line 41) | explicit LabelUpperBoundOp(OpKernelConstruction *context)
method Compute (line 53) | void Compute(OpKernelContext *context) override {
FILE: monolith/native_training/data/kernels/map_id_kernels.cc
type tensorflow (line 23) | namespace tensorflow {
type monolith_tf (line 24) | namespace monolith_tf {
class MapIdOp (line 28) | class MapIdOp : public OpKernel {
method MapIdOp (line 30) | explicit MapIdOp(OpKernelConstruction *context) : OpKernel(context) {
method Compute (line 42) | void Compute(OpKernelContext *context) override {
FILE: monolith/native_training/data/kernels/merge_flow_dataset_kernel.cc
type tensorflow (line 22) | namespace tensorflow {
type data (line 23) | namespace data {
type monolith_tf (line 24) | namespace monolith_tf {
class MergeFlowDatasetOp (line 31) | class MergeFlowDatasetOp : public DatasetOpKernel {
class Dataset (line 44) | class Dataset
class MergeFlowDatasetOp::Dataset (line 50) | class MergeFlowDatasetOp::Dataset : public DatasetBase {
method Dataset (line 52) | Dataset(OpKernelContext *ctx, const std::vector<const DatasetBas...
method MakeIteratorInternal (line 71) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 77) | const DataTypeVector &output_dtypes() const override {
method string (line 85) | string DebugString() const override {
method Status (line 89) | Status InputDatasets(
method Status (line 97) | Status CheckExternalState() const override {
method SetContainer (line 108) | void SetContainer(const std::string &container) { container_ = c...
method GetContainer (line 110) | std::string GetContainer() const { return container_; }
method Status (line 113) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 148) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 150) | explicit Iterator(const Params ¶ms)
method TF_LOCKS_EXCLUDED (line 170) | TF_LOCKS_EXCLUDED(mu_) {
method Status (line 176) | Status Initialize(IteratorContext *ctx) override {
method Status (line 205) | Status GetNextInternal(IteratorContext *ctx,
method CreateNode (line 260) | std::shared_ptr<model::Node> CreateNode(
method Status (line 265) | Status SaveInternal(SerializationContext *ctx,
method Status (line 270) | Status RestoreInternal(IteratorContext *ctx,
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 290) | TF_EXCLUSIVE_LOCKS_REQUIRED(*mu_) {
method PrefetchThread (line 306) | void PrefetchThread(const std::shared_ptr<IteratorContext> &ct...
FILE: monolith/native_training/data/kernels/multi_label_gen_kernel.cc
type tensorflow (line 29) | namespace tensorflow {
type monolith_tf (line 30) | namespace monolith_tf {
class MultiLabelGenOp (line 38) | class MultiLabelGenOp : public OpKernel {
method MultiLabelGenOp (line 40) | explicit MultiLabelGenOp(OpKernelConstruction *context) : OpKernel...
method Compute (line 84) | void Compute(OpKernelContext *context) override {
method LineId (line 135) | static LineId *GetLineId(Tensor *output_tensor, bool is_instance) {
method FindMostPriorAction (line 158) | bool FindMostPriorAction(const Action &actions, int64_t *action) {
method GetHeadFlag (line 181) | std::string GetHeadFlag(const LineId &line_id) {
FILE: monolith/native_training/data/kernels/negative_gen_dataset_kernel.cc
type tensorflow (line 39) | namespace tensorflow {
type data (line 40) | namespace data {
type monolith_tf (line 41) | namespace monolith_tf {
class InnerIterator (line 86) | class InnerIterator {
method InnerIterator (line 88) | InnerIterator(IteratorBase *input_impl, ItemPoolResource *resource,
method Status (line 177) | Status GetNext(IteratorContext *ctx, std::vector<Tensor> *out_te...
method Status (line 246) | Status MaybeGetNextRealInstance(IteratorContext *ctx) {
method T (line 264) | inline T *GetCurrent() {
method LineId (line 269) | inline const LineId *GetLineId() {
method Label (line 281) | inline const Label *GetLabel() {
method IsPositive (line 293) | bool IsPositive() {
method Cacheable (line 318) | inline bool Cacheable(bool is_positive) {
method Emitable (line 334) | inline bool Emitable(bool is_positive) {
method GetGidAndChannelId (line 338) | std::pair<uint64_t, uint64_t> GetGidAndChannelId() {
method SetInstanceWeight (line 394) | void SetInstanceWeight(Tensor *tensor, float instance_weight) {
method SaveToCache (line 404) | void SaveToCache(bool is_positive) {
method SetLabelAndLineId (line 455) | void SetLabelAndLineId(T *neg, uint64_t item_id) {
method BuildNegativeTensor (line 471) | bool BuildNegativeTensor(IteratorContext *ctx, Tensor *res) {
method FindMostPriorAction (line 544) | bool FindMostPriorAction(const Action &actions, int64_t *action) {
method NeedEasyNeg (line 567) | bool NeedEasyNeg(float easy_hard_ratio) {
class InstanceNegativeGenDatasetOp::Dataset (line 619) | class InstanceNegativeGenDatasetOp::Dataset : public DatasetBase {
method Dataset (line 621) | Dataset(OpKernelContext *ctx, const DatasetBase *input, int32 ne...
method MakeIteratorInternal (line 683) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 689) | const DataTypeVector &output_dtypes() const override {
method string (line 697) | string DebugString() const override {
method Status (line 701) | Status InputDatasets(
method Status (line 707) | Status CheckExternalState() const override {
method Status (line 712) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 824) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 826) | explicit Iterator(const Params ¶ms)
method Status (line 836) | Status Initialize(IteratorContext *ctx) override {
method Status (line 856) | Status GetNextInternal(IteratorContext *ctx,
method CreateNode (line 869) | std::shared_ptr<model::Node> CreateNode(
method Status (line 874) | Status SaveInternal(SerializationContext *ctx,
method Status (line 885) | Status RestoreInternal(IteratorContext *ctx,
FILE: monolith/native_training/data/kernels/negative_gen_dataset_kernel.h
function namespace (line 22) | namespace data {
FILE: monolith/native_training/data/kernels/parquet_dataset_kernel.cc
type tensorflow (line 24) | namespace tensorflow {
type data (line 25) | namespace data {
type monolith_tf (line 26) | namespace monolith_tf {
class ParquetDatasetOp (line 32) | class ParquetDatasetOp : public DatasetOpKernel {
method ParquetDatasetOp (line 42) | explicit ParquetDatasetOp(OpKernelConstruction* ctx) : DatasetOp...
method MakeDataset (line 51) | void MakeDataset(OpKernelContext* ctx, DatasetBase** output) ove...
class Dataset (line 74) | class Dataset : public DatasetBase {
method Dataset (line 76) | explicit Dataset(OpKernelContext* ctx, tstring file_name,
method MakeIteratorInternal (line 88) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 94) | const DataTypeVector& output_dtypes() const override {
method string (line 112) | string DebugString() const override { return "ParquetDatasetOp...
method Status (line 114) | Status CheckExternalState() const override { return Status::OK...
method Status (line 117) | Status AsGraphDefInternal(SerializationContext* ctx,
class Iterator (line 144) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 146) | explicit Iterator(const Params& params)
method Status (line 149) | Status GetNextInternal(IteratorContext* ctx,
method Status (line 223) | Status GetNextExample(Example& example, bool* end_of_sequenc...
method Status (line 235) | Status GetNextExampleBatch(ExampleBatch& example_batch,
method NamedFeatureList (line 250) | NamedFeatureList* AddNamedFeatureList(ExampleBatch& example_...
method Status (line 261) | Status SaveInternal(SerializationContext* ctx,
method Status (line 269) | Status RestoreInternal(IteratorContext* ctx,
FILE: monolith/native_training/data/kernels/parse_example_lib.cc
type tensorflow (line 26) | namespace tensorflow {
type monolith_tf (line 27) | namespace monolith_tf {
function Status (line 219) | Status BaseParser::FillFromLineIdByreflection(const LineId &line_id,
FILE: monolith/native_training/data/kernels/parse_example_lib.h
function namespace (line 30) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/parse_input_data_kernel.cc
type tensorflow (line 42) | namespace tensorflow {
type monolith_tf (line 43) | namespace monolith_tf {
class DataCounter (line 59) | class DataCounter {
method DataCounter (line 61) | explicit DataCounter(std::string op, bool emit_mini_batch,
method EmitDataConsumeNumCounter (line 88) | void EmitDataConsumeNumCounter(int batch_size) {
function Status (line 115) | Status GetParserConfig(OpKernelConstruction *ctx, InstanceParserConf...
class ParseStringInstancesOp (line 217) | class ParseStringInstancesOp : public OpKernel {
method ParseStringInstancesOp (line 219) | explicit ParseStringInstancesOp(OpKernelConstruction *ctx) : OpKer...
method Compute (line 229) | void Compute(OpKernelContext *ctx) override {
method InstanceParser (line 281) | InstanceParser *GetParse() const { return parser_.get(); }
method DataCounter (line 282) | DataCounter *GetCounter() const { return counter_.get(); }
class ParseStringInstancesV2Op (line 290) | class ParseStringInstancesV2Op : public ParseStringInstancesOp {
method ParseStringInstancesV2Op (line 292) | explicit ParseStringInstancesV2Op(OpKernelConstruction *ctx)
method Compute (line 295) | void Compute(OpKernelContext *ctx) override {
class ParseVariantInstancesOp (line 337) | class ParseVariantInstancesOp : public OpKernel {
method ParseVariantInstancesOp (line 339) | explicit ParseVariantInstancesOp(OpKernelConstruction *ctx) : OpKe...
method Compute (line 349) | void Compute(OpKernelContext *ctx) override {
class ParseVariantInstancesV2Op (line 380) | class ParseVariantInstancesV2Op : public ParseVariantInstancesOp {
method ParseVariantInstancesV2Op (line 382) | explicit ParseVariantInstancesV2Op(OpKernelConstruction *ctx)
method Compute (line 385) | void Compute(OpKernelContext *ctx) override {
class ParseStringExamplesOp (line 391) | class ParseStringExamplesOp : public OpKernel {
method ParseStringExamplesOp (line 393) | explicit ParseStringExamplesOp(OpKernelConstruction *ctx) : OpKern...
method Compute (line 420) | void Compute(OpKernelContext *ctx) override {
method ExampleParser (line 451) | ExampleParser *GetParse() const { return parser_.get(); }
method DataCounter (line 452) | DataCounter *GetCounter() const { return counter_.get(); }
method FeatureNameMapper (line 453) | FeatureNameMapper *GetFeatureNameMapper() const {
class ParseStringExamplesV2Op (line 462) | class ParseStringExamplesV2Op : public ParseStringExamplesOp {
method ParseStringExamplesV2Op (line 464) | explicit ParseStringExamplesV2Op(OpKernelConstruction *ctx)
method Compute (line 467) | void Compute(OpKernelContext *ctx) override {
class ParseVariantExamplesOp (line 504) | class ParseVariantExamplesOp : public OpKernel {
method ParseVariantExamplesOp (line 506) | explicit ParseVariantExamplesOp(OpKernelConstruction *ctx) : OpKer...
method Compute (line 533) | void Compute(OpKernelContext *ctx) override {
class ParseVariantExamplesV2Op (line 564) | class ParseVariantExamplesV2Op : public ParseVariantExamplesOp {
method ParseVariantExamplesV2Op (line 566) | explicit ParseVariantExamplesV2Op(OpKernelConstruction *ctx)
method Compute (line 569) | void Compute(OpKernelContext *ctx) override {
class ParseStringExampleBatchOp (line 575) | class ParseStringExampleBatchOp : public OpKernel {
method ParseStringExampleBatchOp (line 577) | explicit ParseStringExampleBatchOp(OpKernelConstruction *ctx)
method Compute (line 594) | void Compute(OpKernelContext *ctx) override {
method ExampleBatchParser (line 615) | ExampleBatchParser *GetParse() const { return parser_.get(); }
method DataCounter (line 616) | DataCounter *GetCounter() const { return counter_.get(); }
class ParseStringExampleBatchV2Op (line 623) | class ParseStringExampleBatchV2Op : public ParseStringExampleBatchOp {
method ParseStringExampleBatchV2Op (line 625) | explicit ParseStringExampleBatchV2Op(OpKernelConstruction *ctx)
method Compute (line 628) | void Compute(OpKernelContext *ctx) override {
class ParseVariantExampleBatchOp (line 660) | class ParseVariantExampleBatchOp : public OpKernel {
method ParseVariantExampleBatchOp (line 662) | explicit ParseVariantExampleBatchOp(OpKernelConstruction *ctx)
method Compute (line 679) | void Compute(OpKernelContext *ctx) override {
class ParseVariantExampleBatchV2Op (line 698) | class ParseVariantExampleBatchV2Op : public ParseVariantExampleBatch...
method ParseVariantExampleBatchV2Op (line 700) | explicit ParseVariantExampleBatchV2Op(OpKernelConstruction *ctx)
method Compute (line 703) | void Compute(OpKernelContext *ctx) override {
class ParseVariantExampleBatchListOp (line 709) | class ParseVariantExampleBatchListOp : public OpKernel {
method ParseVariantExampleBatchListOp (line 711) | explicit ParseVariantExampleBatchListOp(OpKernelConstruction *ctx)
method Compute (line 735) | void Compute(OpKernelContext *ctx) override {
FILE: monolith/native_training/data/kernels/parse_sparse_feature.cc
type tensorflow (line 24) | namespace tensorflow {
type monolith_tf (line 25) | namespace monolith_tf {
function Status (line 259) | Status ShardingSparseFidsOp::CreateOffsetTensor(
class ShardingSparseFidsOpV2 (line 553) | class ShardingSparseFidsOpV2 : public ShardingSparseFidsOp {
method ShardingSparseFidsOpV2 (line 555) | explicit ShardingSparseFidsOpV2(OpKernelConstruction *ctx)
class ShardingSparseFidsOpV3 (line 562) | class ShardingSparseFidsOpV3 : public ShardingSparseFidsOp {
method ShardingSparseFidsOpV3 (line 564) | explicit ShardingSparseFidsOpV3(OpKernelConstruction *ctx)
class ShardingSparseFidsOpV4 (line 571) | class ShardingSparseFidsOpV4 : public ShardingSparseFidsOp {
method ShardingSparseFidsOpV4 (line 573) | explicit ShardingSparseFidsOpV4(OpKernelConstruction *ctx)
class ShardingSparseFidsOpV5 (line 580) | class ShardingSparseFidsOpV5 : public ShardingSparseFidsOp {
method ShardingSparseFidsOpV5 (line 582) | explicit ShardingSparseFidsOpV5(OpKernelConstruction *ctx)
FILE: monolith/native_training/data/kernels/parse_sparse_feature.h
function namespace (line 39) | namespace tensorflow {
function else (line 530) | else if (feature.has_fid_v2_list()) {
type TaskContext2 (line 735) | struct TaskContext2 {
function else (line 984) | else if (unique_) {
FILE: monolith/native_training/data/kernels/pb_dataset_kernel.cc
type tensorflow (line 36) | namespace tensorflow {
type data (line 37) | namespace data {
type monolith_tf (line 38) | namespace monolith_tf {
type DsOptions (line 58) | struct DsOptions : DataFormatOptions {
class PBDatasetOp (line 67) | class PBDatasetOp : public DatasetOpKernel {
method PBDatasetOp (line 86) | explicit PBDatasetOp(OpKernelConstruction *ctx) : DatasetOpKerne...
method MakeDataset (line 104) | void MakeDataset(OpKernelContext *ctx, DatasetBase **output) ove...
class Dataset (line 180) | class Dataset : public DatasetBase {
method Dataset (line 182) | explicit Dataset(OpKernelContext *ctx, tstring file_name,
method MakeIteratorInternal (line 212) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 219) | const DataTypeVector &output_dtypes() const override {
method string (line 230) | string DebugString() const override {
method Status (line 234) | Status CheckExternalState() const override { return Status::OK...
method Status (line 237) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 282) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 284) | explicit Iterator(const Params ¶ms, FeatureNameMapper *m...
class CurPBIteratorHandler (line 303) | class CurPBIteratorHandler {
type CurOutput (line 305) | struct CurOutput : public PBIteratorWithDataFormatTransBas...
method Status (line 311) | Status HandleReaderNextStauts(const Status &s, const TResu...
method Status (line 316) | Status HandleResult(TResult &&result, CurOutput *output) {
method Status (line 321) | Status HandleResult(tstring &&serialized, CurOutput *outpu...
method Status (line 328) | Status GetNextInternal(IteratorContext *ctx,
method CreateNode (line 383) | std::shared_ptr<model::Node> CreateNode(
method Status (line 388) | Status SaveInternal(SerializationContext *ctx,
method Status (line 398) | Status RestoreInternal(IteratorContext *ctx,
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 415) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 447) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
method TF_GUARDED_BY (line 455) | TF_GUARDED_BY(mu_) = 0;
FILE: monolith/native_training/data/kernels/ragged_feature_kernel.cc
type tensorflow (line 26) | namespace tensorflow {
type monolith_tf (line 27) | namespace monolith_tf {
class SwitchSlotOp (line 33) | class SwitchSlotOp : public OpKernel {
method SwitchSlotOp (line 38) | explicit SwitchSlotOp(OpKernelConstruction *ctx) : OpKernel(ctx) {
method Compute (line 44) | void Compute(OpKernelContext *context) override {
method int64 (line 82) | inline int64 convert_v1(int64 fid) {
method int64 (line 87) | inline int64 convert_v2(int64 fid) {
type VariantType (line 96) | enum class VariantType { PBExampleBatch, PBExample }
class SwitchSlotBatchOp (line 99) | class SwitchSlotBatchOp : public OpKernel {
method SwitchSlotBatchOp (line 102) | explicit SwitchSlotBatchOp(OpKernelConstruction *ctx) : OpKernel(c...
method Compute (line 135) | void Compute(OpKernelContext *ctx) override {
method switch_example (line 151) | void switch_example(const Tensor *pb_input, Tensor *pb_output, goo...
method switch_example_batch (line 161) | void switch_example_batch(const Tensor *pb_input, Tensor *pb_outpu...
method Example (line 169) | Example *switch_slot(const Example &example, google::protobuf::Are...
method ExampleBatch (line 221) | ExampleBatch *switch_slot(const ExampleBatch &example_batch, googl...
class FeatureCombineOp (line 283) | class FeatureCombineOp : public OpKernel {
method FeatureCombineOp (line 288) | explicit FeatureCombineOp(OpKernelConstruction *ctx) : OpKernel(ct...
method Compute (line 294) | void Compute(OpKernelContext *context) override {
method int64 (line 377) | inline int64 convert_v1(int64 fid) {
method int64 (line 382) | inline int64 convert_v2(int64 fid) {
method int64 (line 387) | int64 combine(int64 fid1, int64 fid2) {
FILE: monolith/native_training/data/kernels/scatter_label_kernel.cc
type tensorflow (line 28) | namespace tensorflow {
type monolith_tf (line 29) | namespace monolith_tf {
class ScatterLabelOp (line 36) | class ScatterLabelOp : public OpKernel {
method ScatterLabelOp (line 38) | explicit ScatterLabelOp(OpKernelConstruction *context) : OpKernel(...
method Compute (line 71) | void Compute(OpKernelContext *context) override {
method LineId (line 108) | static LineId *GetLineId(Tensor *output_tensor, bool is_instance) {
FILE: monolith/native_training/data/kernels/split_flow_dataset_kernel.cc
type tensorflow (line 23) | namespace tensorflow {
type data (line 24) | namespace data {
type monolith_tf (line 25) | namespace monolith_tf {
class SplitFlowDatasetOp (line 34) | class SplitFlowDatasetOp : public UnaryDatasetOpKernel {
class Dataset (line 49) | class Dataset
class SplitFlowDatasetOp::Dataset (line 56) | class SplitFlowDatasetOp::Dataset : public DatasetBase {
method Dataset (line 58) | Dataset(OpKernelContext *ctx, const DatasetBase *input,
method MakeIteratorInternal (line 72) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 78) | const DataTypeVector &output_dtypes() const override {
method string (line 86) | string DebugString() const override {
method Status (line 90) | Status InputDatasets(
method Status (line 96) | Status CheckExternalState() const override {
method SetContainer (line 100) | void SetContainer(const std::string container) { container_ = co...
method GetContainer (line 102) | std::string GetContainer() const { return container_; }
method Status (line 105) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 138) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 140) | explicit Iterator(const Params ¶ms)
method TF_LOCKS_EXCLUDED (line 150) | TF_LOCKS_EXCLUDED(mu_) {
method Status (line 156) | Status Initialize(IteratorContext *ctx) override {
method Status (line 199) | Status GetNextInternal(IteratorContext *ctx,
method CreateNode (line 241) | std::shared_ptr<model::Node> CreateNode(
method Status (line 246) | Status SaveInternal(SerializationContext *ctx,
method Status (line 251) | Status RestoreInternal(IteratorContext *ctx,
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 273) | TF_EXCLUSIVE_LOCKS_REQUIRED(*mu_) {
method PrefetchThread (line 286) | void PrefetchThread(const std::shared_ptr<IteratorContext> &ctx,
FILE: monolith/native_training/data/kernels/string_to_variant.cc
type tensorflow (line 25) | namespace tensorflow {
type monolith_tf (line 26) | namespace monolith_tf {
class ReadHelper (line 33) | class ReadHelper {
method ReadHelper (line 35) | explicit ReadHelper(DataFormatOptions options, bool has_header)
method Status (line 38) | Status GetData(absl::string_view in, uint8_t* pb_type,
class StringToVariantOp (line 56) | class StringToVariantOp : public OpKernel {
method StringToVariantOp (line 61) | explicit StringToVariantOp(OpKernelConstruction* ctx) : OpKernel(c...
method Compute (line 105) | void Compute(OpKernelContext* context) override {
method UpdateDatasourceKey (line 159) | void UpdateDatasourceKey(const int64& chnid, uint32_t* data_source...
class StringToVariantWithTransform (line 174) | class StringToVariantWithTransform : public OpKernel {
method StringToVariantWithTransform (line 176) | explicit StringToVariantWithTransform(OpKernelConstruction* ctx)
method Compute (line 238) | void Compute(OpKernelContext* context) override {
method UpdateDatasourceKey (line 367) | void UpdateDatasourceKey(const int64& chnid, uint32_t* data_source...
class VariantToZerosOp (line 382) | class VariantToZerosOp : public OpKernel {
method VariantToZerosOp (line 384) | explicit VariantToZerosOp(OpKernelConstruction* ctx) : OpKernel(ct...
method Compute (line 386) | void Compute(OpKernelContext* context) override {
class HasVariantOp (line 399) | class HasVariantOp : public OpKernel {
method HasVariantOp (line 401) | explicit HasVariantOp(OpKernelConstruction* ctx) : OpKernel(ctx) {
method Compute (line 412) | void Compute(OpKernelContext* context) override {
FILE: monolith/native_training/data/kernels/tf_example_to_example_kernel.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
class TFExampleToExampleOp (line 39) | class TFExampleToExampleOp : public OpKernel {
method TFExampleToExampleOp (line 41) | explicit TFExampleToExampleOp(OpKernelConstruction* context)
method Compute (line 105) | void Compute(OpKernelContext* context) override {
method CalcHashValue (line 203) | int64_t CalcHashValue(float value) const {
FILE: monolith/native_training/data/kernels/transform_dataset_kernel.cc
type tensorflow (line 39) | namespace tensorflow {
type data (line 40) | namespace data {
type monolith_tf (line 41) | namespace monolith_tf {
class TransformDatasetOp::Dataset (line 61) | class TransformDatasetOp::Dataset : public DatasetBase {
method Dataset (line 63) | Dataset(OpKernelContext *ctx, const DatasetBase *input,
method MakeIteratorInternal (line 79) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 85) | const DataTypeVector &output_dtypes() const override {
method string (line 93) | string DebugString() const override {
method Status (line 97) | Status InputDatasets(
method Status (line 103) | Status CheckExternalState() const override {
method Status (line 108) | Status AsGraphDefInternal(SerializationContext *ctx,
class Iterator (line 127) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 129) | explicit Iterator(const Params ¶ms)
method Status (line 132) | Status Initialize(IteratorContext *ctx) override {
method Status (line 136) | Status GetNextInternal(IteratorContext *ctx,
method Status (line 154) | Status NextInternalImpl(IteratorContext *ctx,
method CreateNode (line 181) | std::shared_ptr<model::Node> CreateNode(
method Status (line 186) | Status SaveInternal(SerializationContext *ctx,
method Status (line 191) | Status RestoreInternal(IteratorContext *ctx,
method T (line 198) | inline T *GetCurrent(Tensor *t) {
FILE: monolith/native_training/data/kernels/transform_dataset_kernel.h
function namespace (line 21) | namespace tensorflow {
FILE: monolith/native_training/data/kernels/variant_filter_kernel.cc
type tensorflow (line 37) | namespace tensorflow {
type monolith_tf (line 38) | namespace monolith_tf {
class SetFilterOp (line 47) | class SetFilterOp : public OpKernel {
method SetFilterOp (line 49) | explicit SetFilterOp(OpKernelConstruction *context) : OpKernel(con...
method Compute (line 107) | void Compute(OpKernelContext *context) override {
method IsInstanceOfInterest (line 118) | bool IsInstanceOfInterest(const Tensor &input_tensor) {
class FeatureValueFilterOp (line 143) | class FeatureValueFilterOp : public OpKernel {
method FeatureValueFilterOp (line 145) | explicit FeatureValueFilterOp(OpKernelConstruction *context)
method Compute (line 167) | void Compute(OpKernelContext *context) override {
class ValueFilterOp (line 196) | class ValueFilterOp : public OpKernel {
method ValueFilterOp (line 198) | explicit ValueFilterOp(OpKernelConstruction *context) : OpKernel(c...
method Compute (line 214) | void Compute(OpKernelContext *context) override {
method LineId (line 227) | const LineId &GetLineId(const Tensor &input_tensor) {
class SpecialStrategyOp (line 249) | class SpecialStrategyOp : public OpKernel {
method SpecialStrategyOp (line 251) | explicit SpecialStrategyOp(OpKernelConstruction *context)
method Compute (line 290) | void Compute(OpKernelContext *context) override {
method LineId (line 301) | const LineId &GetLineId(Tensor *input_tensor) {
method DoCompute (line 323) | bool DoCompute(Tensor *input_tensor) {
class NegativeSampleOp (line 384) | class NegativeSampleOp : public OpKernel {
method NegativeSampleOp (line 386) | explicit NegativeSampleOp(OpKernelConstruction *context) : OpKerne...
method Compute (line 413) | void Compute(OpKernelContext *context) override {
method GetLabel (line 444) | float GetLabel(const Tensor &input_tensor) {
method LineId (line 457) | const LineId *GetLineId(const Tensor &input_tensor) {
method FindMostPriorAction (line 468) | int FindMostPriorAction(const Tensor &input_tensor) {
method GetNegDropRate (line 483) | float GetNegDropRate(const Tensor &input_tensor) {
FILE: monolith/native_training/data/multi_flow_test.py
class MultiFlowTest (line 37) | class MultiFlowTest(tf.test.TestCase):
method setUpClass (line 40) | def setUpClass(cls):
method tearDownClass (line 72) | def tearDownClass(cls):
method mk_kgx_header (line 77) | def mk_kgx_header(cls, dataflow: str):
method test_data_flow (line 86) | def test_data_flow(self):
FILE: monolith/native_training/data/negative_gen_test.py
function parser (line 73) | def parser(tensor: tf.Tensor):
class NegativeGenTest (line 95) | class NegativeGenTest(tf.test.TestCase):
method setUpClass (line 98) | def setUpClass(cls):
method tearDownClass (line 175) | def tearDownClass(cls):
method test_dataset_target (line 179) | def test_dataset_target(self):
FILE: monolith/native_training/data/ops/feature_utils_ops.cc
type tensorflow (line 19) | namespace tensorflow {
FILE: monolith/native_training/data/ops/parse_input_data_ops.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
function Status (line 23) | Status ShapeFn(shape_inference::InferenceContext *ctx) {
FILE: monolith/native_training/data/ops/pb_dataset_ops.cc
type tensorflow (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/parse_sparse_feature_test.py
class DataOpsV2Test (line 61) | class DataOpsV2Test(tf.test.TestCase):
method __init__ (line 63) | def __init__(self, *args, **kwargs):
method fid_v1_to_v2 (line 68) | def fid_v1_to_v2(self, fid_v1):
method fill_row_split (line 73) | def fill_row_split(self, ps_num, t_cfg, fid_list, row_split):
method get_pre_output_offset (line 82) | def get_pre_output_offset(self, shard, f_cfg):
method get_feature_cfg (line 89) | def get_feature_cfg(self, raw_feature_cfgs, ps_num):
method handle_feature (line 141) | def handle_feature(self, fid_v1_list, fid_v2_list, f_cfg, t_cfg, ps_num,
method get_offset_result (line 161) | def get_offset_result(self,
method diff_test (line 242) | def diff_test(self, input_type, parse_func, input_str_list, feature_na...
method testExampleBatchSharding (line 470) | def testExampleBatchSharding(self):
method testExampleSharding (line 629) | def testExampleSharding(self):
method testInstanceSharding (line 792) | def testInstanceSharding(self):
class DataOpsV2TestFitPreV2 (line 955) | class DataOpsV2TestFitPreV2(DataOpsV2Test):
method __init__ (line 957) | def __init__(self, *args, **kwargs):
class DataOpsV2Testv4 (line 962) | class DataOpsV2Testv4(DataOpsV2Test):
method __init__ (line 964) | def __init__(self, *args, **kwargs):
class DataOpsV2TestFitPre (line 969) | class DataOpsV2TestFitPre(tf.test.TestCase): #DataOpsV2Test
method __init__ (line 971) | def __init__(self, *args, **kwargs):
method testExampleBatchSharding (line 974) | def testExampleBatchSharding(self):
method testExampleSharding (line 1262) | def testExampleSharding(self):
method testInstanceSharding (line 1534) | def testInstanceSharding(self):
FILE: monolith/native_training/data/parsers.py
class ShardingSparseFidsOpParams (line 52) | class ShardingSparseFidsOpParams:
class ParserCtx (line 63) | class ParserCtx(object):
method __init__ (line 68) | def __init__(self, enable_fused_layout: bool = False):
method __enter__ (line 75) | def __enter__(self):
method __exit__ (line 80) | def __exit__(self, exc_type, exc_val, exc_tb):
method sharding_sparse_fids_features_insert_to_features (line 86) | def sharding_sparse_fids_features_insert_to_features(cls, inputs, feat...
method sharding_sparse_fids_features_parse_from_features (line 101) | def sharding_sparse_fids_features_parse_from_features(cls, features):
method set (line 119) | def set(self, key, value):
method get (line 122) | def get(self, key, default_value=None):
function get_default_parser_ctx (line 127) | def get_default_parser_ctx() -> ParserCtx:
class ProtoType (line 134) | class ProtoType:
method get_tf_type (line 163) | def get_tf_type(cls, proto_type: int):
function _add_dense_features (line 174) | def _add_dense_features(names: List[str], shapes: List[int],
function _add_extra_features (line 194) | def _add_extra_features(names: List[str], shapes: List[int],
function _assemble (line 216) | def _assemble(sparse_features,
function parse_instances (line 242) | def parse_instances(tensor: tf.Tensor,
function parse_examples (line 357) | def parse_examples(tensor: tf.Tensor,
function parse_example_batch (line 449) | def parse_example_batch(
function sharding_sparse_fids (line 549) | def sharding_sparse_fids(tensor: tf.Tensor,
function sharding_sparse_fids_with_context (line 662) | def sharding_sparse_fids_with_context(sparse_features: tf.Tensor,
function parse_example_batch_list (line 736) | def parse_example_batch_list(
FILE: monolith/native_training/data/tf_example_to_example_test.py
function _bytes_feature (line 28) | def _bytes_feature(value):
function _float_feature (line 36) | def _float_feature(value):
function _int64_feature (line 41) | def _int64_feature(value):
function serialize_example (line 47) | def serialize_example(feature0, feature1, feature2, feature3, feature4):
function get_fid_v2 (line 67) | def get_fid_v2(slot: int, signature: int):
function calc_hash_value (line 72) | def calc_hash_value(val: float):
class TFExampleToExampleTest (line 76) | class TFExampleToExampleTest(tf.test.TestCase):
method test_tf_example_to_example (line 78) | def test_tf_example_to_example(self):
FILE: monolith/native_training/data/training_instance/cc/cached_mem_pool.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
function CachedMemPool (line 25) | CachedMemPool* CachedMemPool::init(size_t buffer_size) {
FILE: monolith/native_training/data/training_instance/cc/cached_mem_pool.h
function namespace (line 22) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/cached_mem_pool_test.cc
type tensorflow (line 22) | namespace tensorflow {
type monolith_tf (line 23) | namespace monolith_tf {
function TEST (line 25) | TEST(CachedMemPoolTest, Basic) {
function TEST (line 33) | TEST(CachedMemPoolTest, RecursiveAllocation) {
FILE: monolith/native_training/data/training_instance/cc/data_format_options.h
function namespace (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/data_read_write_test.cc
type tensorflow (line 22) | namespace tensorflow {
type monolith_tf (line 23) | namespace monolith_tf {
class ReadWriteTest (line 26) | class ReadWriteTest : public ::testing::TestWithParam<DataFormatOpti...
function Status (line 28) | Status ReadBytes(BaseStreamReaderTmpl<absl::string_view>* reader,
function TEST_P (line 35) | TEST_P(ReadWriteTest, Basic) {
function GenerateOptions (line 51) | std::vector<DataFormatOptions> GenerateOptions() {
FILE: monolith/native_training/data/training_instance/cc/data_reader.cc
type tensorflow (line 31) | namespace tensorflow {
type monolith_tf (line 32) | namespace monolith_tf {
function Status (line 66) | Status AddFeature(const std::string &name, const EFeature &efeat,
function ExtendExample (line 161) | void ExtendExample(Example *pb, FeatureNameMapper *mapper /* = nullp...
function Status (line 197) | Status ExampleToInstance(Example *example, Instance *instance) {
function Status (line 208) | Status InstanceToExample(Instance *instance, Example *example) {
function Status (line 323) | Status ExampleBatchToInstance(ExampleBatch *example_batch, int index,
function Status (line 339) | Status ExampleBatchToExample(ExampleBatch *example_batch, int index,
function CreateInputFileStream (line 448) | std::unique_ptr<io::InputStreamInterface> CreateInputFileStream(
function Status (line 486) | Status InputStreamReader::ReadNBytes(size_t n, tstring *result) {
function uint64 (line 504) | uint64 InputStreamReader::GetOffset() { return input_stream_->Tell(); }
function Status (line 506) | Status InputStreamReader::SetOffset(uint64 *offset) {
function Status (line 532) | Status StdinStreamReader::ReadNBytes(size_t n, tstring *result) {
function uint64 (line 555) | uint64 StdinStreamReader::GetOffset() { return offset_; }
function Status (line 557) | Status StdinStreamReader::SetOffset(uint64 *offset) {
function Status (line 584) | Status PBIterator::next(uint64 *offset, uint32_t *data_source_key,
function Status (line 593) | Status PBIterator::next(uint64 *offset, Instance *pb) {
function Status (line 606) | Status PBIterator::next(uint64 *offset, Example *pb) {
function Status (line 633) | Status PBIterator::next(uint64 *offset, ExampleBatch *pb) {
function uint64 (line 669) | uint64 PBIterator::GetOffset() { return reader_->GetOffset(); }
function Status (line 671) | Status PBIterator::SetOffset(uint64 *offset) {
function Status (line 683) | Status ExampleBatchIterator::next_internal(uint64 *offset) {
function Status (line 711) | Status ExampleBatchIterator::next(uint64 *offset, uint32_t *data_sou...
function Status (line 720) | Status ExampleBatchIterator::next(uint64 *offset, ExampleBatch *pb) {
function Status (line 758) | Status ExampleBatchIterator::next(uint64 *offset, Instance *pb) {
function Status (line 763) | Status ExampleBatchIterator::next(uint64 *offset, Example *pb) {
FILE: monolith/native_training/data/training_instance/cc/data_reader.h
function namespace (line 33) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/data_writer.cc
type tensorflow (line 20) | namespace tensorflow {
type monolith_tf (line 21) | namespace monolith_tf {
function Status (line 23) | Status BaseStreamWriter::PrepareHeader() {
function Status (line 43) | Status BaseStreamWriter::WriteRecord(absl::string_view record) {
function Status (line 52) | Status StringStreamWriter::Write(absl::string_view s) {
FILE: monolith/native_training/data/training_instance/cc/data_writer.h
function namespace (line 23) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/fid.h
function value (line 41) | FIDV1(uint64_t fid_v1_value) : value(fid_v1_value) {}
function FIDV2 (line 58) | [[nodiscard]] FIDV2 ConvertAsV2() const;
function namespace (line 108) | namespace std {
FILE: monolith/native_training/data/training_instance/cc/fid_test.cc
function TEST (line 26) | TEST(FIDTest, FIDV1) {
function TEST (line 63) | TEST(FIDTest, FIDV2) {
function TEST (line 108) | TEST(FIDTest, FIDV1ConvertV2) {
FILE: monolith/native_training/data/training_instance/cc/instance_dataset_kernel.cc
type tensorflow (line 27) | namespace tensorflow {
type data (line 28) | namespace data {
type monolith_tf (line 29) | namespace monolith_tf {
type DsOptions (line 39) | struct DsOptions : DataFormatOptions {
class InstanceDatasetOp (line 45) | class InstanceDatasetOp : public DatasetOpKernel {
method InstanceDatasetOp (line 55) | explicit InstanceDatasetOp(OpKernelConstruction* ctx) : DatasetO...
method MakeDataset (line 61) | void MakeDataset(OpKernelContext* ctx, DatasetBase** output) ove...
class Dataset (line 79) | class Dataset : public DatasetBase {
method Dataset (line 81) | explicit Dataset(OpKernelContext* ctx, const tstring& file_name,
method MakeIteratorInternal (line 87) | std::unique_ptr<IteratorBase> MakeIteratorInternal(
method DataTypeVector (line 93) | const DataTypeVector& output_dtypes() const override {
method string (line 104) | string DebugString() const override {
method Status (line 108) | Status CheckExternalState() const override { return Status::OK...
method Status (line 111) | Status AsGraphDefInternal(SerializationContext* ctx,
class Iterator (line 134) | class Iterator : public DatasetIterator<Dataset> {
method Iterator (line 136) | explicit Iterator(const Params& params)
method Status (line 139) | Status GetNextInternal(IteratorContext* ctx,
method CreateNode (line 172) | std::shared_ptr<model::Node> CreateNode(
method Status (line 177) | Status SaveInternal(SerializationContext* ctx,
method Status (line 187) | Status RestoreInternal(IteratorContext* ctx,
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 204) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
method TF_EXCLUSIVE_LOCKS_REQUIRED (line 226) | TF_EXCLUSIVE_LOCKS_REQUIRED(mu_) {
method TF_GUARDED_BY (line 232) | TF_GUARDED_BY(mu_) = 0;
FILE: monolith/native_training/data/training_instance/cc/instance_dataset_ops.cc
type tensorflow (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/instance_processor.cc
function main (line 55) | int main(int argc, char* argv[]) {
FILE: monolith/native_training/data/training_instance/cc/instance_reader.cc
type Options (line 43) | struct Options {
function AddOptions (line 58) | void AddOptions(CLI::App& app, Options* options) {
class InputReader (line 107) | class InputReader {
method InputReader (line 109) | explicit InputReader(const Options& options, TransformConfig config)
method ReadOne (line 145) | bool ReadOne(T* output) {
method ReadOneSerialized (line 193) | bool ReadOneSerialized(std::string* serialized) {
method Transform (line 204) | typename std::enable_if<std::is_same<T, Instance>::value, void>::type
method Transform (line 210) | typename std::enable_if<std::is_same<T, Example>::value, void>::type
method Transform (line 216) | typename std::enable_if<std::is_same<T, ExampleBatch>::value, void>::type
method IsBufferEmpty (line 222) | typename std::enable_if<std::is_same<T, Instance>::value, bool>::type
method IsBufferEmpty (line 228) | typename std::enable_if<std::is_same<T, Example>::value, bool>::type
method IsBufferEmpty (line 234) | typename std::enable_if<std::is_same<T, ExampleBatch>::value, bool>::type
method PushIntoBuffer (line 240) | typename std::enable_if<std::is_same<T, Instance>::value, void>::type
method PushIntoBuffer (line 246) | typename std::enable_if<std::is_same<T, Example>::value, void>::type
method PushIntoBuffer (line 252) | typename std::enable_if<std::is_same<T, ExampleBatch>::value, void>::type
method PopFromBuffer (line 258) | typename std::enable_if<std::is_same<T, Instance>::value, void>::type
method PopFromBuffer (line 265) | typename std::enable_if<std::is_same<T, Example>::value, void>::type
method PopFromBuffer (line 272) | typename std::enable_if<std::is_same<T, ExampleBatch>::value, void>::type
function ReadAndSerialize (line 293) | void ReadAndSerialize(
function to_json (line 321) | void to_json(nlohmann::json& j, const FIDV1& fid) { j = fid.DebugString(...
function to_json (line 323) | void to_json(nlohmann::json& j, const FIDV2& fid) { j = fid.DebugString(...
function JsonCallbackFn (line 325) | std::string JsonCallbackFn(const std::string& serialized) {
function main (line 428) | int main(int argc, char* argv[]) {
FILE: monolith/native_training/data/training_instance/cc/instance_utils.cc
type tensorflow (line 17) | namespace tensorflow {
type monolith_tf (line 18) | namespace monolith_tf {}
FILE: monolith/native_training/data/training_instance/cc/instance_utils_test.cc
type tensorflow (line 22) | namespace tensorflow {
type monolith_tf (line 23) | namespace monolith_tf {
function TEST (line 28) | TEST(StrToIntegerSet, StrToFIDs) {
function TEST (line 55) | TEST(StrToIntegerSet, StrToActions) {
function TEST (line 81) | TEST(IsInstanceOfInterest, Basic) {
function TEST (line 118) | TEST(CollectFidIntoSet, Instance) {
function TEST (line 142) | TEST(CollectFidIntoSet, Example) {
FILE: monolith/native_training/data/training_instance/cc/parse_instance_kernel.cc
type tensorflow (line 26) | namespace tensorflow {
type monolith_tf (line 27) | namespace monolith_tf {
function Status (line 32) | Status GetParserConfig(OpKernelConstruction *ctx, InstanceParserConf...
function ParseInstance (line 101) | bool ParseInstance(const tstring &serialized, Instance *instance) {
class ParseInstancesOp (line 105) | class ParseInstancesOp : public OpKernel {
method ParseInstancesOp (line 107) | explicit ParseInstancesOp(OpKernelConstruction *ctx) : OpKernel(ct...
method Compute (line 116) | void Compute(OpKernelContext *ctx) override {
class RawParseInstanceOp (line 142) | class RawParseInstanceOp : public OpKernel {
method RawParseInstanceOp (line 144) | explicit RawParseInstanceOp(OpKernelConstruction *ctx) : OpKernel(...
method Compute (line 161) | void Compute(OpKernelContext *ctx) override {
FILE: monolith/native_training/data/training_instance/cc/parse_instance_lib.cc
type tensorflow (line 27) | namespace tensorflow {
type monolith_tf (line 28) | namespace monolith_tf {
type InstanceParserSpec (line 38) | struct InstanceParserSpec : InstanceParserConfig {
method InstanceParserSpec (line 39) | explicit InstanceParserSpec(const InstanceParserConfig &config)
method Status (line 42) | Status Init() {
class RaggedTensorProcessor (line 98) | class RaggedTensorProcessor {
method RaggedTensorProcessor (line 100) | explicit RaggedTensorProcessor(const InstanceParserSpec *spec)
method InstanceParserSpec (line 112) | const InstanceParserSpec &spec() const { return spec_; }
method IterateFidFeatures (line 116) | void IterateFidFeatures(const Instance &instance, Func func) {
class RegularRaggedTensorProcessor (line 146) | class RegularRaggedTensorProcessor : public RaggedTensorProcessor {
method RegularRaggedTensorProcessor (line 148) | explicit RegularRaggedTensorProcessor(const InstanceParserSpec *spec)
method Status (line 151) | Status ParseRaggedTensors(OpKernelContext *ctx,
class ConcatRaggedTensorProcessor (line 197) | class ConcatRaggedTensorProcessor : public RaggedTensorProcessor {
method ConcatRaggedTensorProcessor (line 199) | explicit ConcatRaggedTensorProcessor(const InstanceParserSpec *spec)
method Status (line 202) | Status ParseRaggedTensors(OpKernelContext *ctx,
class InstanceParser::Impl (line 239) | class InstanceParser::Impl {
method Impl (line 241) | explicit Impl(const InstanceParserConfig &config) : spec_(config) {
method Status (line 256) | Status Init() { return spec_.Init(); }
method Status (line 258) | Status Parse(OpKernelContext *ctx, absl::Span<const Instance> inst...
method Status (line 273) | Status FillFloatFeatures(OpKernelContext *ctx,
method Status (line 327) | Status FillInt64Features(OpKernelContext *ctx,
method Status (line 366) | Status FillStringFeatures(OpKernelContext *ctx,
method Status (line 401) | Status ParseFloatTensors(OpKernelContext *ctx,
method Status (line 474) | Status ParseInt64Tensors(OpKernelContext *ctx,
method Status (line 565) | Status ParseStringTensors(OpKernelContext *ctx,
method TensorShape (line 606) | TensorShape GetBatched1DShape(int batch_size, int64 dim) {
function Status (line 624) | Status InstanceParser::Init() { return impl_->Init(); }
function Status (line 626) | Status InstanceParser::Parse(OpKernelContext *ctx,
FILE: monolith/native_training/data/training_instance/cc/parse_instance_lib.h
function namespace (line 23) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/parse_instance_ops.cc
type tensorflow (line 18) | namespace tensorflow {
type monolith_tf (line 19) | namespace monolith_tf {
function IsUnsetHandle (line 22) | bool IsUnsetHandle(shape_inference::DimensionHandle handle) {
function GetBatched1D (line 26) | shape_inference::ShapeHandle GetBatched1D(
function Status (line 36) | Status SetParseInstanceShape(shape_inference::InferenceContext *ctx,
FILE: monolith/native_training/data/training_instance/cc/pb_variant.cc
type tensorflow (line 20) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/pb_variant.h
function namespace (line 22) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/reader_util.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
function to_json (line 22) | void to_json(nlohmann::json& j, const FeatureNameMapperIdInfo& info) {
FILE: monolith/native_training/data/training_instance/cc/reader_util.h
function slot_id_v1 (line 34) | inline int slot_id_v1(uint64_t fid) { return fid >> 54; }
function slot_id_v2 (line 36) | inline int slot_id_v2(uint64_t fid) {
function convert_fid_v1_to_v2 (line 40) | inline uint64_t convert_fid_v1_to_v2(int slot, uint64_t fid) {
function convert_fid_v1_to_v2 (line 45) | inline uint64_t convert_fid_v1_to_v2(uint64_t fid) {
function switch_slot_v1 (line 50) | inline uint64_t switch_slot_v1(uint64_t fid, uint64_t slot) {
function switch_slot_v2 (line 54) | inline uint64_t switch_slot_v2(uint64_t fid, uint64_t slot) {
function get_max_slot_number (line 58) | inline int get_max_slot_number() { return 1 << 15; }
function namespace (line 60) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/reader_util_test.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
function TEST (line 25) | TEST(ReaderUtilTest, GetSlotID) {
function TEST (line 38) | TEST(ReaderUtilTest, FeatureNameMapperNormalCase1) {
function TEST (line 73) | TEST(ReaderUtilTest, FeatureNameMapperNormalCase2) {
function TEST (line 113) | TEST(ReaderUtilTest, FeatureNameMapperCornerCase1) {
function TEST (line 148) | TEST(ReaderUtilTest, FeatureNameMapperCornerCase2) {
function TEST (line 183) | TEST(ReaderUtilTest, FeatureNameMapperCornerCase3) {
function TEST (line 201) | TEST(ReaderUtilTest, FeatureNameMapperCornerCase4) {
FILE: monolith/native_training/data/training_instance/cc/snappy_inputbuffer.cc
type tensorflow (line 34) | namespace tensorflow {
type io (line 35) | namespace io {
function Status (line 58) | Status ByteSnappyInputBuffer::ReadNBytes(int64 bytes_to_read, tstrin...
function int64 (line 81) | int64 ByteSnappyInputBuffer::Tell() const { return bytes_read_; }
function Status (line 83) | Status ByteSnappyInputBuffer::Reset() {
function Status (line 104) | Status ByteSnappyInputBuffer::Inflate() {
function Status (line 159) | Status ByteSnappyInputBuffer::ReadBlockLength(uint32* length) {
function Status (line 182) | Status ByteSnappyInputBuffer::ReadFromFile() {
FILE: monolith/native_training/data/training_instance/cc/snappy_inputbuffer.h
function namespace (line 46) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/ue_compress.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
FILE: monolith/native_training/data/training_instance/cc/ue_compress.h
function namespace (line 23) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/cc/ue_compress_test.cc
type tensorflow (line 19) | namespace tensorflow {
type monolith_tf (line 20) | namespace monolith_tf {
function TEST (line 25) | TEST(UECompressTest, Basic) {
FILE: monolith/native_training/data/training_instance/cc/zstd_inputbuffer.cc
type tensorflow (line 33) | namespace tensorflow {
type io (line 34) | namespace io {
function Status (line 74) | Status MonolithZstdInputStream::Reset() {
function Status (line 96) | Status MonolithZstdInputStream::ReadNBytes(int64 bytes_to_read,
function Status (line 126) | Status MonolithZstdInputStream::ReadNBytes(int64 bytes_to_read,
function Status (line 137) | Status MonolithZstdInputStream::Inflate() {
function Status (line 154) | Status MonolithZstdInputStream::ReadFromStream() {
function int64 (line 192) | int64 MonolithZstdInputStream::Tell() const { return bytes_read_; }
FILE: monolith/native_training/data/training_instance/cc/zstd_inputbuffer.h
function namespace (line 40) | namespace tensorflow {
FILE: monolith/native_training/data/training_instance/python/instance_dataset_op.py
class _PBInstanceDataset (line 40) | class _PBInstanceDataset(dataset_ops.DatasetSource):
method __init__ (line 42) | def __init__(self, file_name, use_snappy=False, **kwargs):
method element_spec (line 61) | def element_spec(self):
class PBInstanceDatasetV2 (line 65) | class PBInstanceDatasetV2(dataset_ops.DatasetV2):
method __init__ (line 81) | def __init__(self, file_name, use_snappy=False, **kwargs):
method _clone (line 100) | def _clone(self, file_name, use_snappy=False, **kwargs):
method element_spec (line 107) | def element_spec(self):
method _inputs (line 110) |
Copy disabled (too large)
Download .json
Condensed preview — 1324 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,403K chars).
[
{
"path": ".bazelrc",
"chars": 2681,
"preview": "# Copied from https://github.com/tensorflow/serving/blob/master/.bazelrc\n# Some entries are commented to fit to ByteDanc"
},
{
"path": ".gitignore",
"chars": 991,
"preview": "# Ignore .DS_Store\n.DS_Store\nfid_mapping/.DS_Store\nfid_analysis/.DS_Store\n\n# Ignore some test data files\nfid_mapping/tes"
},
{
"path": "LICENSE",
"chars": 12619,
"preview": "Copyright 2022 ByteDance and/or its affiliates \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may"
},
{
"path": "README.md",
"chars": 1490,
"preview": " Monolith\n\n## What is it?\n\n[Monolith](https://arxiv.org/abs/2209.07663) is a deep learning framework for large scale rec"
},
{
"path": "WORKSPACE",
"chars": 10883,
"preview": "load(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\n\nhttp_archive(\n name = \"rules_python\",\n sha25"
},
{
"path": "conf/BUILD",
"chars": 180,
"preview": "package(\n default_visibility = [\"//visibility:public\"],\n)\nfilegroup(\n name = \"serving\",\n srcs = glob([\n "
},
{
"path": "deploy/.dockerignore",
"chars": 151,
"preview": "# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file\n# Ignore all files which are not go typ"
},
{
"path": "deploy/.gitignore",
"chars": 367,
"preview": "\n# Binaries for programs and plugins\n*.exe\n*.exe~\n*.dll\n*.so\n*.dylib\nbin\ntestbin/*\n\n# Test binary, build with `go test -"
},
{
"path": "deploy/.golangci.yaml",
"chars": 4556,
"preview": "# This file contains all available configuration options\n# with their default values.\n\n# options for analysis running\nru"
},
{
"path": "deploy/Dockerfile",
"chars": 791,
"preview": "# Build the manager binary\nFROM golang:1.15 as builder\n\nWORKDIR /workspace\n# Copy the Go Modules manifests\nCOPY go.mod g"
},
{
"path": "deploy/Makefile",
"chars": 4706,
"preview": "\n# Image URL to use all building/pushing image targets\nREGISTRY ?= ml-platform-cn-guilin-boe.cr.volces.com/ml-platform\nN"
},
{
"path": "deploy/PROJECT",
"chars": 334,
"preview": "domain: volcengine.com\nlayout:\n- go.kubebuilder.io/v3\nprojectName: deploy\nrepo: code.byted.org/data/monolith/deploy\nreso"
},
{
"path": "deploy/README.md",
"chars": 475,
"preview": "# 项目介绍\n\n项目初始结构通过kubebuilder(https://github.com/kubernetes-sigs/kubebuilder) 生成\n\nkubebuilder使用文档:https://book.kubebuilder"
},
{
"path": "deploy/api/v1/groupversion_info.go",
"chars": 1223,
"preview": "/*\nCopyright 2023.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in "
},
{
"path": "deploy/api/v1/mlservice_types.go",
"chars": 5864,
"preview": "/*\nCopyright 2023.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in "
},
{
"path": "deploy/api/v1/zz_generated.deepcopy.go",
"chars": 6575,
"preview": "//go:build !ignore_autogenerated\n// +build !ignore_autogenerated\n\n/*\nCopyright 2023.\n\nLicensed under the Apache License,"
},
{
"path": "deploy/build.sh",
"chars": 75,
"preview": "#!/bin/bash\n\nmkdir output\ncd deploy && make build\ncp bin/manager ../output\n"
},
{
"path": "deploy/config/crd/bases/mlplatform.volcengine.com_mlservices.yaml",
"chars": 612337,
"preview": "\n---\napiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n annotations:\n controller-gen.kube"
},
{
"path": "deploy/config/crd/kustomization.yaml",
"chars": 922,
"preview": "# This kustomization.yaml is not intended to be run by itself,\n# since it depends on service name and namespace that are"
},
{
"path": "deploy/config/crd/kustomizeconfig.yaml",
"chars": 506,
"preview": "# This file is for teaching kustomize how to substitute name and namespace reference in CRD\nnameReference:\n- kind: Servi"
},
{
"path": "deploy/config/crd/patches/cainjection_in_mlservices.yaml",
"chars": 299,
"preview": "# The following patch adds a directive for certmanager to inject CA into the CRD\napiVersion: apiextensions.k8s.io/v1\nkin"
},
{
"path": "deploy/config/crd/patches/webhook_in_mlservices.yaml",
"chars": 362,
"preview": "# The following patch enables a conversion webhook for the CRD\napiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceD"
},
{
"path": "deploy/config/default/kustomization.yaml",
"chars": 2538,
"preview": "# Adds namespace to all resources.\nnamespace: monolith-system\n\n# Value of this field is prepended to the\n# names of all "
},
{
"path": "deploy/config/default/manager_auth_proxy_patch.yaml",
"chars": 823,
"preview": "# This patch inject a sidecar container which is a HTTP proxy for the\n# controller manager, it performs RBAC authorizati"
},
{
"path": "deploy/config/default/manager_config_patch.yaml",
"chars": 478,
"preview": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: controller-manager\n namespace: system\nspec:\n template:\n spec"
},
{
"path": "deploy/config/manager/controller_manager_config.yaml",
"chars": 259,
"preview": "apiVersion: controller-runtime.sigs.k8s.io/v1alpha1\nkind: ControllerManagerConfig\nhealth:\n healthProbeBindAddress: :808"
},
{
"path": "deploy/config/manager/kustomization.yaml",
"chars": 393,
"preview": "resources:\n- manager.yaml\n\ngeneratorOptions:\n disableNameSuffixHash: true\n\nconfigMapGenerator:\n- files:\n - controller_"
},
{
"path": "deploy/config/manager/manager.yaml",
"chars": 1190,
"preview": "apiVersion: v1\nkind: Namespace\nmetadata:\n labels:\n control-plane: controller-manager\n name: system\n---\napiVersion: "
},
{
"path": "deploy/config/prometheus/kustomization.yaml",
"chars": 26,
"preview": "resources:\n- monitor.yaml\n"
},
{
"path": "deploy/config/prometheus/monitor.yaml",
"chars": 491,
"preview": "\n# Prometheus Monitor Service (Metrics)\napiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n labels:\n "
},
{
"path": "deploy/config/rbac/auth_proxy_client_clusterrole.yaml",
"chars": 150,
"preview": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n name: metrics-reader\nrules:\n- nonResourceURLs:\n "
},
{
"path": "deploy/config/rbac/auth_proxy_role.yaml",
"chars": 280,
"preview": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n name: proxy-role\nrules:\n- apiGroups:\n - authenti"
},
{
"path": "deploy/config/rbac/auth_proxy_role_binding.yaml",
"chars": 268,
"preview": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n name: proxy-rolebinding\nroleRef:\n apiGrou"
},
{
"path": "deploy/config/rbac/auth_proxy_service.yaml",
"chars": 268,
"preview": "apiVersion: v1\nkind: Service\nmetadata:\n labels:\n control-plane: controller-manager\n name: controller-manager-metric"
},
{
"path": "deploy/config/rbac/kustomization.yaml",
"chars": 693,
"preview": "resources:\n# All RBAC will be applied under this service account in\n# the deployment namespace. You may comment out this"
},
{
"path": "deploy/config/rbac/leader_election_role.yaml",
"chars": 476,
"preview": "# permissions to do leader election.\napiVersion: rbac.authorization.k8s.io/v1\nkind: Role\nmetadata:\n name: leader-electi"
},
{
"path": "deploy/config/rbac/leader_election_role_binding.yaml",
"chars": 274,
"preview": "apiVersion: rbac.authorization.k8s.io/v1\nkind: RoleBinding\nmetadata:\n name: leader-election-rolebinding\nroleRef:\n apiG"
},
{
"path": "deploy/config/rbac/mlservice_editor_role.yaml",
"chars": 399,
"preview": "# permissions for end users to edit mlservices.\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n n"
},
{
"path": "deploy/config/rbac/mlservice_viewer_role.yaml",
"chars": 356,
"preview": "# permissions for end users to view mlservices.\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n n"
},
{
"path": "deploy/config/rbac/role.yaml",
"chars": 896,
"preview": "\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n creationTimestamp: null\n name: manager-role"
},
{
"path": "deploy/config/rbac/role_binding.yaml",
"chars": 272,
"preview": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n name: manager-rolebinding\nroleRef:\n apiGr"
},
{
"path": "deploy/config/rbac/service_account.yaml",
"chars": 93,
"preview": "apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: controller-manager\n namespace: system\n"
},
{
"path": "deploy/config/samples/mlplatform_v1_mlservice.yaml",
"chars": 3168,
"preview": "apiVersion: mlplatform.volcengine.com/v1\nkind: MLService\nmetadata:\n name: mlservice-demo\n namespace: mlplatform-servic"
},
{
"path": "deploy/controllers/constants.go",
"chars": 1252,
"preview": "package controllers\n\nconst (\n\tModuleInference = \"inference\"\n\tMLPlatformVolcPrefix = \"mlplatform.volcengine.com\"\n)\n\n"
},
{
"path": "deploy/controllers/deployment_handler.go",
"chars": 8635,
"preview": "package controllers\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\tmonolithv1 \"code.byted.org/data/monolith/deploy/"
},
{
"path": "deploy/controllers/mlservice_controller.go",
"chars": 6383,
"preview": "/*\nCopyright 2023.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in "
},
{
"path": "deploy/controllers/service_handler.go",
"chars": 5001,
"preview": "package controllers\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n\n\tmonolithv1 \"code.byted.org/data/monolith/deploy/a"
},
{
"path": "deploy/controllers/status.go",
"chars": 11373,
"preview": "package controllers\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\tmonolithv1 \"code.byted.org/data/monolith/deploy/api/v1\"\n\tappsv1 \"k8s.i"
},
{
"path": "deploy/go.mod",
"chars": 510,
"preview": "module code.byted.org/data/monolith/deploy\n\ngo 1.15\n\nrequire (\n\tgithub.com/onsi/ginkgo v1.16.5 // indirect\n\tgithub.com/o"
},
{
"path": "deploy/go.sum",
"chars": 132668,
"preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ncloud.google.com/go v0.34.0/go.mod h1"
},
{
"path": "deploy/hack/boilerplate.go.txt",
"chars": 546,
"preview": "/*\nCopyright 2023.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in "
},
{
"path": "deploy/main.go",
"chars": 3424,
"preview": "/*\nCopyright 2023.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in "
},
{
"path": "deploy/serving/agent.conf",
"chars": 790,
"preview": "bzid {{bzid}}\nbase_name {{base_name}}\nbase_path {{base_path}}\nnum_ps {{num_ps}}\nserver_type {{server_type}}\nzk_servers {"
},
{
"path": "deploy/serving/docker/Dockerfile",
"chars": 11155,
"preview": "FROM debian:buster-20221219\n\nLABEL maintainer=\"Monolith\"\n\nARG PYPI_SOURCE=https://pypi.tuna.tsinghua.edu.cn/simple\n\n# pr"
},
{
"path": "deploy/serving/docker/assets/bashrc",
"chars": 3456,
"preview": "# ~/.bashrc: executed by bash(1) for non-login shells.\n# see /usr/share/doc/bash/examples/startup-files (in the package "
},
{
"path": "deploy/serving/docker/assets/build.sh",
"chars": 1840,
"preview": "#!/usr/bin/env bash\nset -ex\n\n# still make python2 as default, but python 3.8 is installed\n\nexport PYTHON_PIP_VERSION=20."
},
{
"path": "deploy/serving/docker/assets/configurator_dumpenv.service",
"chars": 142,
"preview": "[Unit]\nDescription=Dump the Docker environment variables\n\n[Service]\nType=oneshot\nExecStart=/root/.system/configurator_du"
},
{
"path": "deploy/serving/docker/assets/configurator_dumpenv.sh",
"chars": 181,
"preview": "#!/bin/bash - \n\nxargs -0 bash -c 'printf \"%q\\n\" \"$@\" ; systemctl set-environment \"$@\"' -- \\\n < /proc/1/environ \\\n "
},
{
"path": "deploy/serving/docker/assets/pip.conf",
"chars": 176,
"preview": "[global]\nindex-url=http://mirrors.aliyun.com/pypi/simple\ntrusted-host=mirrors.aliyun.com\ntimeout = 600\ndisable_pip_versi"
},
{
"path": "deploy/serving/docker/assets/requirements.txt",
"chars": 1785,
"preview": "absl-py==0.7.1\nansible==2.2.1.0\nansicolors==1.0.2\nAPScheduler==3.5.1\nasn1crypto==0.24.0\nastor==0.8.0\nbackports.ssl-match"
},
{
"path": "deploy/serving/docker/run",
"chars": 82,
"preview": "#! /bin/bash\n\ndocker build --force-rm -t bytedance.monolith_pro.release:v1.0.0 ./\n"
},
{
"path": "deploy/serving/open_source_serving.sh",
"chars": 2180,
"preview": "#!/bin/bash\nset -eux\n\nexport SHARD_ID=`expr $MLP_SHARD_ID - 1`\necho \"The SHARD_ID {$SHARD_ID}\"\n\nexport MY_POD_NAME=$MLP_"
},
{
"path": "deploy/serving/scripts/build_serving.sh",
"chars": 2051,
"preview": "#!/bin/bash\nset -eux\n\nscript_dir=`dirname $0`\nabs_script_dir=`realpath $script_dir`\n\nuse_gpu=\"${1:-false}\"\n\nrm -rf outpu"
},
{
"path": "deploy/serving/scripts/run_server",
"chars": 121,
"preview": "#!/bin/bash\n\n# need env: TCE_PSM, TCE_INTERNAL_IDC, TCE_CLUSTER, SHARD_ID\n# need arg: --conf agent.conf\npython3 agent $@"
},
{
"path": "idl/BUILD",
"chars": 2526,
"preview": "load(\"@com_google_protobuf//:protobuf.bzl\", \"cc_proto_library\")\nload(\"@com_google_protobuf//:protobuf.bzl\", \"py_proto_li"
},
{
"path": "idl/matrix/compression/compression.cc",
"chars": 4942,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/compression/compression.h",
"chars": 2169,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/compression/compression_qtz8mm.cc",
"chars": 2612,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/compression/compression_qtz8mm.h",
"chars": 2115,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/compression/float16.h",
"chars": 5749,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/proto/example.proto",
"chars": 4546,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/proto/feature.proto",
"chars": 1640,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/proto/line_id.proto",
"chars": 1342,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "idl/matrix/proto/proto_parser.proto",
"chars": 1761,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "markdown/demo/AWS-EKS.md",
"chars": 2472,
"preview": "# Distributed async training on EKS\n\nTo scale to multiple machines and handle failure recovery, we can utilize container"
},
{
"path": "markdown/demo/BUILD",
"chars": 905,
"preview": "load(\"@rules_python//python:defs.bzl\", \"py_binary\", \"py_library\")\n\npackage(default_visibility = [\"//visibility:public\"])"
},
{
"path": "markdown/demo/Batch.md",
"chars": 5903,
"preview": "# Movie Ranking Batch Training\n\nThis tutorial demonstrates how to use Monolith to perform a movie ranking task. This tut"
},
{
"path": "markdown/demo/README.md",
"chars": 343,
"preview": "# Monolith demo model and tutorials\n\nThis is a 3-part tutorial for building monolith models and launch training. \n\n### ["
},
{
"path": "markdown/demo/Stream.md",
"chars": 2584,
"preview": "# Stream training tutorial\n> This tutorial depends on the batching training tutorial. Please read it first if you haven'"
},
{
"path": "markdown/demo/demo_local_runner.py",
"chars": 2453,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "markdown/demo/demo_model.py",
"chars": 5112,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "markdown/demo/kafka_producer.py",
"chars": 1082,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "markdown/demo/kafka_receiver.py",
"chars": 1638,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "markdown/demo/kafka_utils/add_data_topics.sh",
"chars": 265,
"preview": "#!/bin/bash\nsource ./kafka_base.sh\n$KAFKA_PATH/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replicat"
},
{
"path": "markdown/demo/kafka_utils/delete_topics.sh",
"chars": 129,
"preview": "#!/bin/bash\nsource ./kafka_base.sh\n$KAFKA_PATH/bin/kafka-topics.sh --delete --bootstrap-server 127.0.0.1:9092 --topic mo"
},
{
"path": "markdown/demo/kafka_utils/kafka_base.sh",
"chars": 53,
"preview": "#!/bin/bash\nexport KAFKA_PATH=$HOME/kafka_2.13-2.8.1\n"
},
{
"path": "markdown/demo/kafka_utils/start_broker.sh",
"chars": 227,
"preview": "#!/bin/bash\nsource ./kafka_base.sh\nbash $KAFKA_PATH/bin/zookeeper-server-start.sh -daemon $KAFKA_PATH/config/zookeeper.p"
},
{
"path": "markdown/demo/ml_dataset.py",
"chars": 2943,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "markdown/input_and_model_fn.md",
"chars": 3690,
"preview": "# Monolith `input_fn` and `model_fn`\n\nThis is guide on how to setup `input_fn` and using Monolith's embedding hash table"
},
{
"path": "markdown/primus_demo/README.md",
"chars": 1426,
"preview": "# Monolith x Primus Demo\n\n## Setup Primus\n\nFollow the primus quickstart guide to setup the primus baseline virtual machi"
},
{
"path": "markdown/primus_demo/main.sh",
"chars": 417,
"preview": "#!/bin/bash\n\nset -ex\n\n# setup env\nexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport LD_LIBRARY_PATH=$LD_LIBRARY_"
},
{
"path": "markdown/primus_demo/monolith.Dockerfile",
"chars": 308,
"preview": "FROM hanzhi713/monolith:ubuntu22.04\n\n# Java will be mounted\nENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nENV PATH=$JA"
},
{
"path": "markdown/primus_demo/primus_monolith.json",
"chars": 1853,
"preview": "{\n \"name\": \"primus-monolith\",\n \"files\": [\n \"/home/ubuntu/monolith/markdown/demo\",\n \"/home/ubuntu/monolit"
},
{
"path": "markdown/serving.md",
"chars": 6988,
"preview": "# Serving\n\n## Understanding Hashtable Ckpt Format\n\n### Export Hashtable Ckpt\n\n```python\nimport tensorflow as tf\n\nfrom mo"
},
{
"path": "monolith/BUILD",
"chars": 817,
"preview": "load(\"@rules_python//python:defs.bzl\", \"py_binary\", \"py_library\")\n\npackage(default_visibility = [\"//visibility:public\"])"
},
{
"path": "monolith/__init__.py",
"chars": 1606,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/BUILD",
"chars": 9821,
"preview": "load(\"@com_github_grpc_grpc//bazel:cc_grpc_library.bzl\", \"cc_grpc_library\")\nload(\"@com_github_grpc_grpc//bazel:python_ru"
},
{
"path": "monolith/agent_service/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "monolith/agent_service/agent.conf",
"chars": 830,
"preview": "bzid predict_ctr\nbase_name predict_ctr\nbase_path hdfs:///test/data\nnum_ps 10\nserver_type entry\nzk_servers 127.0.0.1:1234"
},
{
"path": "monolith/agent_service/agent.py",
"chars": 3581,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_base.py",
"chars": 3113,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_client.py",
"chars": 7625,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_controller.py",
"chars": 5415,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_controller_test.py",
"chars": 3688,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_service.proto",
"chars": 1576,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "monolith/agent_service/agent_service.py",
"chars": 6160,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_service_test.py",
"chars": 4072,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_v1.py",
"chars": 13246,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_v3.py",
"chars": 7658,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/agent_v3_test.py",
"chars": 4129,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/backends.py",
"chars": 16622,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/backends_test.py",
"chars": 5371,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/client.py",
"chars": 4243,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/constants.py",
"chars": 638,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/data_def.py",
"chars": 5335,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/data_def_test.py",
"chars": 1637,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/example_batch.pbtxt",
"chars": 192011,
"preview": "named_feature_list {\n name: \"f_goods_test30_bool\"\n feature {\n }\n feature {\n }\n feature {\n fid_v1_list {\n v"
},
{
"path": "monolith/agent_service/mocked_tfserving.py",
"chars": 13922,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/mocked_tfserving_test.py",
"chars": 3350,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/mocked_zkclient.py",
"chars": 11291,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/mocked_zkclient_test.py",
"chars": 3676,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/model_manager.py",
"chars": 10982,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/model_manager_test.py",
"chars": 3709,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/profile.sh",
"chars": 2654,
"preview": "#! /bin/bash\n\n# set -x\n\n# grpc port: PORT3\ngpu_server_target=\"10.209.87.151:9469\" # multi \"10.210.92.156:9361,10.198.98"
},
{
"path": "monolith/agent_service/replica_manager.py",
"chars": 31499,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/replica_manager_test.py",
"chars": 4713,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/resource_utils.py",
"chars": 8145,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/resource_utils_test.py",
"chars": 1264,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/run.py",
"chars": 1318,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/svr_client.py",
"chars": 2303,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/test_data/BUILD",
"chars": 257,
"preview": "package(default_visibility = [\n \"//monolith/integration_test:__subpackages__\",\n \"//monolith/agent_service:__subpac"
},
{
"path": "monolith/agent_service/test_data/inst.dump",
"chars": 152,
"preview": "\"root\":\n\"feature\":\n0:\n\"fid\":\n0: \"1\"\n\"name\": \"fc_a\"\n1:\n\"fid\":\n0: \"2\"\n\"name\": \"fc_b\"\n2:\n\"fid\":\n0: \"3\"\n1: \"4\"\nlabel\":\n0: 0\n"
},
{
"path": "monolith/agent_service/test_data/inst.json",
"chars": 148,
"preview": "{\n \"fid\": [\n 12345\n ],\n \"label\": [\n 0,\n 1\n ],\n \"line_id\": {\n \"actions\": [\n "
},
{
"path": "monolith/agent_service/test_data/inst.pbtext",
"chars": 93,
"preview": "fid: 1\nfid: 2\nlabel: 0.0\nlabel: 1.0\nline_id {\n actions: 1\n}\nfeature {\n name: \"a\"\n fid: 3\n}"
},
{
"path": "monolith/agent_service/tfs_client.py",
"chars": 18319,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/tfs_client_test.py",
"chars": 1593,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/tfs_monitor.py",
"chars": 11894,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/tfs_monitor_test.py",
"chars": 6599,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/tfs_wrapper.py",
"chars": 7322,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/utils.py",
"chars": 44088,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/utils_test.py",
"chars": 7201,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/zk_mirror.py",
"chars": 24146,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/agent_service/zk_mirror_test.py",
"chars": 7922,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/base_runner.py",
"chars": 1534,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/common/python/BUILD",
"chars": 489,
"preview": "load(\"@rules_python//python:defs.bzl\", \"py_library\")\n\nfilegroup(\n name = \"libtcmalloc\",\n srcs = [\"@gperftools//:li"
},
{
"path": "monolith/common/python/mem_profiling.py",
"chars": 2111,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/BUILD",
"chars": 4425,
"preview": "load(\"@pip_deps//:requirements.bzl\", \"requirement\")\nload(\"@rules_python//python:defs.bzl\", \"py_binary\", \"py_library\", \"p"
},
{
"path": "monolith/core/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "monolith/core/auto_checkpoint_feed_hook.py",
"chars": 15153,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_embedding_host_call.py",
"chars": 28637,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_embedding_host_call_test.py",
"chars": 2611,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_embedding_task.py",
"chars": 27724,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_host_call.py",
"chars": 6331,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_layer.py",
"chars": 5531,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_layer_test.py",
"chars": 1440,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_model_params.py",
"chars": 891,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_task.py",
"chars": 3579,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/base_tpu_test.py",
"chars": 2755,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/core_test_suite.py",
"chars": 1230,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/dense.py",
"chars": 7558,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/dense_test.py",
"chars": 3574,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/feature.py",
"chars": 22713,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/feature_test.py",
"chars": 7696,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/host_call.py",
"chars": 10397,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/hyperparams.py",
"chars": 14519,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/hyperparams_test.py",
"chars": 9693,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/mixed_emb_op_comb_nws.py",
"chars": 18207,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/model.py",
"chars": 12412,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/model_imports.py",
"chars": 3913,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/model_registry.py",
"chars": 5961,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/optimizers.py",
"chars": 965,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/py_utils.py",
"chars": 11054,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/testing_utils.py",
"chars": 8257,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/tpu_variable.py",
"chars": 6590,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/util.py",
"chars": 11396,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/util_test.py",
"chars": 6396,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/core/variance_scaling.py",
"chars": 6691,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/gpu_runner.py",
"chars": 8928,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/monolith_workspace.bzl",
"chars": 1249,
"preview": "load(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\","
},
{
"path": "monolith/native_training/BUILD",
"chars": 27576,
"preview": "load(\"@com_google_protobuf//:protobuf.bzl\", \"py_proto_library\")\nload(\"@pip_deps//:requirements.bzl\", \"requirement\")\nload"
},
{
"path": "monolith/native_training/alert/BUILD",
"chars": 824,
"preview": "load(\"@rules_python//python:defs.bzl\", \"py_library\", \"py_test\")\nload(\"@com_google_protobuf//:protobuf.bzl\", \"py_proto_li"
},
{
"path": "monolith/native_training/alert/alert.proto",
"chars": 1169,
"preview": "// Copyright 2022 ByteDance and/or its affiliates.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "monolith/native_training/alert/alert_manager.py",
"chars": 953,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/alert/alert_manager_test.py",
"chars": 989,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/barrier_ops.py",
"chars": 5717,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/barrier_ops_test.py",
"chars": 3864,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/basic_restore_hook.py",
"chars": 2016,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/basic_restore_hook_test.py",
"chars": 4129,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/clip_ops.py",
"chars": 3290,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/clip_ops_test.py",
"chars": 4046,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cluster_manager.py",
"chars": 6205,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cluster_manager_test.py",
"chars": 1266,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/consul.py",
"chars": 4586,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/consul_test.py",
"chars": 2014,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cpu_sync_training_test.py",
"chars": 14555,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cpu_training.py",
"chars": 108372,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cpu_training_distributed_test_binary.py",
"chars": 6886,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/cpu_training_test.py",
"chars": 22533,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
},
{
"path": "monolith/native_training/data/BUILD",
"chars": 9820,
"preview": "load(\"@rules_python//python:defs.bzl\", \"py_binary\", \"py_library\", \"py_test\")\nload(\"@org_tensorflow//tensorflow:tensorflo"
},
{
"path": "monolith/native_training/data/__init__.py",
"chars": 1057,
"preview": "# Copyright 2022 ByteDance and/or its affiliates.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
}
]
// ... and 1124 more files (download for full content)
About this extraction
This page contains the full source code of the bytedance/monolith GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1324 files (26.8 MB), approximately 2.6M tokens, and a symbol index with 8901 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.