项目文件夹

文件
wehub-resource-sync 593b94c120
pytest / Unit Tests (push) Has been cancelled
pytest / Integration (integration_tests_a) (push) Has been cancelled
pytest / Integration (integration_tests_b) (push) Has been cancelled
pytest / Integration (integration_tests_c) (push) Has been cancelled
pytest / Integration (integration_tests_d) (push) Has been cancelled
pytest / Integration (integration_tests_e) (push) Has been cancelled
pytest / Integration (integration_tests_f) (push) Has been cancelled
pytest / Integration (integration_tests_g) (push) Has been cancelled
pytest / Integration (integration_tests_h) (push) Has been cancelled
pytest / Integration (integration_tests_i) (push) Has been cancelled
pytest / Integration (integration_tests_j) (push) Has been cancelled
pytest / Distributed (distributed_a) (push) Has been cancelled
pytest / Distributed (distributed_b) (push) Has been cancelled
pytest / Distributed (distributed_c) (push) Has been cancelled
pytest / Distributed (distributed_d) (push) Has been cancelled
pytest / Distributed (distributed_e) (push) Has been cancelled
pytest / Distributed (distributed_f) (push) Has been cancelled
pytest / Minimal Install (push) Has been cancelled
pytest / Event File (push) Has been cancelled
pytest (slow) / py-slow (push) Has been cancelled
Publish JSON Schema / publish-schema (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:49:20 +08:00

108 行
4.2 KiB
Python

from ludwig.api_annotations import DeveloperAPI
from ludwig.constants import LOSS, MODEL_ECD, SEQUENCE, SEQUENCE_SOFTMAX_CROSS_ENTROPY
from ludwig.schema import utils as schema_utils
from ludwig.schema.decoders.base import BaseDecoderConfig
from ludwig.schema.decoders.utils import DecoderDataclassField
from ludwig.schema.encoders.base import BaseEncoderConfig
from ludwig.schema.encoders.utils import EncoderDataclassField
from ludwig.schema.features.base import BaseInputFeatureConfig, BaseOutputFeatureConfig
from ludwig.schema.features.loss.loss import BaseLossConfig
from ludwig.schema.features.loss.utils import LossDataclassField
from ludwig.schema.features.preprocessing.base import BasePreprocessingConfig
from ludwig.schema.features.preprocessing.utils import PreprocessingDataclassField
from ludwig.schema.features.utils import (
ecd_defaults_config_registry,
ecd_input_config_registry,
ecd_output_config_registry,
input_mixin_registry,
output_mixin_registry,
)
from ludwig.schema.metadata import FEATURE_METADATA
from ludwig.schema.metadata.parameter_metadata import INTERNAL_ONLY
from ludwig.schema.utils import LudwigBaseConfig
@DeveloperAPI
@input_mixin_registry.register(SEQUENCE)
class SequenceInputFeatureConfigMixin(LudwigBaseConfig):
"""SequenceInputFeatureConfigMixin is a dataclass that configures the parameters used in both the sequence
input feature and the sequence global defaults section of the Ludwig Config."""
preprocessing: BasePreprocessingConfig = PreprocessingDataclassField(feature_type=SEQUENCE)
encoder: BaseEncoderConfig = EncoderDataclassField(
MODEL_ECD,
feature_type=SEQUENCE,
default="embed",
)
@DeveloperAPI
@ecd_input_config_registry.register(SEQUENCE)
class SequenceInputFeatureConfig(SequenceInputFeatureConfigMixin, BaseInputFeatureConfig):
"""SequenceInputFeatureConfig is a dataclass that configures the parameters used for a sequence input
feature."""
type: str = schema_utils.ProtectedString(SEQUENCE)
@DeveloperAPI
@output_mixin_registry.register(SEQUENCE)
class SequenceOutputFeatureConfigMixin(LudwigBaseConfig):
"""SequenceOutputFeatureConfigMixin is a dataclass that configures the parameters used in both the sequence
output feature and the sequence global defaults section of the Ludwig Config."""
decoder: BaseDecoderConfig = DecoderDataclassField(
MODEL_ECD,
feature_type=SEQUENCE,
default="generator",
)
loss: BaseLossConfig = LossDataclassField(
feature_type=SEQUENCE,
default=SEQUENCE_SOFTMAX_CROSS_ENTROPY,
)
@DeveloperAPI
@ecd_output_config_registry.register(SEQUENCE)
class SequenceOutputFeatureConfig(SequenceOutputFeatureConfigMixin, BaseOutputFeatureConfig):
"""SequenceOutputFeatureConfig is a dataclass that configures the parameters used for a sequence output
feature."""
type: str = schema_utils.ProtectedString(SEQUENCE)
default_validation_metric: str = schema_utils.StringOptions(
[LOSS],
default=LOSS,
description="Internal only use parameter: default validation metric for sequence output feature.",
parameter_metadata=INTERNAL_ONLY,
)
dependencies: list = schema_utils.List(
default=[],
description="List of input features that this feature depends on.",
parameter_metadata=FEATURE_METADATA[SEQUENCE]["dependencies"],
)
preprocessing: BasePreprocessingConfig = PreprocessingDataclassField(feature_type="sequence_output")
reduce_dependencies: str = schema_utils.ReductionOptions(
default="sum",
description="How to reduce the dependencies of the output feature.",
parameter_metadata=FEATURE_METADATA[SEQUENCE]["reduce_dependencies"],
)
reduce_input: str = schema_utils.ReductionOptions(
default="sum",
description="How to reduce an input that is not a vector, but a matrix or a higher order tensor, on the first "
"dimension (second if you count the batch dimension)",
parameter_metadata=FEATURE_METADATA[SEQUENCE]["reduce_input"],
)
@DeveloperAPI
@ecd_defaults_config_registry.register(SEQUENCE)
class SequenceDefaultsConfig(SequenceInputFeatureConfigMixin, SequenceOutputFeatureConfigMixin):
pass