in tzrec/features/sequence_feature.py [0:0]
def fg_json(self) -> List[Dict[str, Any]]:
"""Get fg json config."""
if self.config.default_value == "":
logger.warning(
"SequenceIdFeature not support empty default value now. reset to zero."
)
self.config.default_value = "0"
fg_cfg = {
"feature_type": "id_feature"
if self._is_grouped_seq
else "sequence_id_feature",
"feature_name": self.config.feature_name,
"default_value": self.config.default_value,
"expression": self.config.expression,
"value_type": "string",
"need_prefix": False,
}
if not self._is_grouped_seq:
fg_cfg["sequence_delim"] = self.config.sequence_delim
fg_cfg["sequence_length"] = self.config.sequence_length
if self.config.separator != "\x1d":
fg_cfg["separator"] = self.config.separator
if self.config.HasField("zch"):
fg_cfg["hash_bucket_size"] = MAX_HASH_BUCKET_SIZE
elif self.config.HasField("hash_bucket_size"):
fg_cfg["hash_bucket_size"] = self.config.hash_bucket_size
elif self.config.HasField("num_buckets"):
fg_cfg["num_buckets"] = self.config.num_buckets
elif len(self.vocab_list) > 0:
fg_cfg["vocab_list"] = self.vocab_list
fg_cfg["default_bucketize_value"] = self.default_bucketize_value
elif len(self.config.vocab_dict) > 0:
fg_cfg["vocab_dict"] = self.vocab_dict
fg_cfg["default_bucketize_value"] = self.default_bucketize_value
elif len(self.vocab_file) > 0:
fg_cfg["vocab_file"] = self.vocab_file
fg_cfg["default_bucketize_value"] = self.default_bucketize_value
if self.config.HasField("value_dim"):
fg_cfg["value_dim"] = self.config.value_dim
else:
fg_cfg["value_dim"] = 1
return [fg_cfg]