neuralogic.dataset packageο
Submodulesο
neuralogic.dataset.base moduleο
- class BaseDataset[source]ο
Bases:
objectBase class for logic datasets.
- dump(queries_fp: Any, examples_fp: Any, sep: str = '\n') None[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.
- class ConvertibleDataset[source]ο
Bases:
BaseDatasetBase class for datasets that can be converted into a standard dataset format.
neuralogic.dataset.csv moduleο
- class CSVDataset(csv_files: list[CSVFile] | CSVFile, csv_queries: CSVFile | None = None, mode: Mode = Mode.ONE_EXAMPLE)[source]ο
Bases:
ConvertibleDatasetRepresents a dataset composed of one or more CSV files.
- class CSVFile(relation_name: str, csv_source: TextIO | Path, sep: str = ',', value_column: str | int | None = None, default_value: float | int | None = None, value_mapper: Callable | None = None, term_columns: Sequence[str | int] | None = None, header: bool = False, skip_rows: int = 0, n_rows: int | None = None, replace_empty_column: str | float | int = 0)[source]ο
Bases:
objectRepresents a single CSV file source and its configuration for conversion to logic relations.
- csv_sourceο
- default_valueο
- headerο
- n_rowsο
- relation_nameο
- replace_empty_columnο
- sepο
- skip_rowsο
- term_columnsο
- to_logic_form() list[BaseRelation | Rule][source]ο
Converts the CSV source to a list of logic relations.
- Returns:
The list of created logic relations.
- Return type:
list[DatasetEntries]
- value_columnο
- value_mapperο
neuralogic.dataset.db moduleο
- class DBDataset(connection: Any, db_sources: list[DBSource] | DBSource, queries_db_source: DBSource | None = None, mode: Mode = Mode.ONE_EXAMPLE)[source]ο
Bases:
ConvertibleDatasetRepresents a dataset composed of one or more database sources.
- class DBSource(relation_name: str, table_name: str, term_columns: list[str], value_column: str | None = None, default_value: float | int = 1.0, value_mapper: Callable | None = None, skip_rows: int = 0, n_rows: int | None = None, replace_empty_column: str | float | int = 0, sep: str = ',')[source]ο
Bases:
objectRepresents a database source (table) and its configuration for conversion to logic relations.
- default_valueο
- n_rowsο
- relation_nameο
- replace_empty_columnο
- sepο
- skip_rowsο
- table_nameο
- term_columnsο
- to_csv(cursor: Any) CSVFile[source]ο
Converts the database source to an intermediate CSV representation.
- Parameters:
cursor (Any) β The database cursor to use for execution.
- Returns:
The intermediate CSVFile object.
- Return type:
- value_columnο
- value_mapperο
neuralogic.dataset.file moduleο
- class FileDataset(examples_file: str | None = None, queries_file: str | None = None)[source]ο
Bases:
BaseDatasetFileDatasetrepresents samples stored in files in the NeuraLogic (logic) format.- Parameters:
examples_file (str | None) β Path to the examples file. Default:
Nonequeries_file (str | None) β Path to the queries file. Default:
None
- dump(queries_fp, examples_fp, sep: str = '\n')[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.
neuralogic.dataset.logic moduleο
- class Dataset(samples: list[Sample] | Sample | None = None)[source]ο
Bases:
BaseDatasetDataset encapsulating (learning) samples in the form of logic format, allowing users to fully take advantage of the PyNeuraLogic library.
- add(query: BaseRelation | list[BaseRelation] | None, example: list[BaseRelation | Rule] | None) Dataset[source]ο
- samplesο
- class Sample(query: BaseRelation | list[BaseRelation] | None, example: Sequence[BaseRelation | Rule] | BaseRelation | Rule | None)[source]ο
Bases:
object- exampleο
- queryο
neuralogic.dataset.pddl moduleο
- class PDDLDataset(domain: str, problems: str | list[str], include_actions: bool = True)[source]ο
Bases:
ConvertibleDatasetPDDLDataset converts PDDL domain and problem files into a logic dataset. It supports creating samples from the initial state and using the goal state as a query.
neuralogic.dataset.tensor moduleο
- class Data(x: Sequence, edge_index: Sequence, y: Sequence | float | int = 0.0, edge_attr: Sequence | None = None, y_mask: Sequence | None = None)[source]ο
Bases:
objectThe
Datainstance stores information about one specific graph instance.Example
For example, the directed graph \(G = (V, E)\), where \(E = \{(0, 1), (1, 2), (2, 0)\}\), node features \(X = \{[0], [1], [0]\}\) and target nodesβ labels \(Y = \{0, 1, 0\}\) would be represented as:
data = Data( x=[[0], [1], [0]], edge_index=[ [0, 1, 2], [1, 2, 0], ], y=[0, 1, 0], )
- Parameters:
x (Sequence) β Sequence of node features.
edge_index (Sequence) β Edges represented via a graph connectivity format - matrix
[[...src], [...dst]].y (Union[Sequence, float, int]) β Sequence of labels of all nodes or one graph label.
edge_attr (Sequence | None) β Optional sequence of edge features. Default:
Noney_mask (Sequence | None) β Optional sequence of node ids to generate queries for. Default:
None(all nodes)
- static from_pyg(data) List[Data][source]ο
Converts a PyTorch Geometric Data instance into a list of PyNeuraLogic
Datainstances. The conversion supportstrain_mask,test_maskandval_maskattributes - for each mask the conversion yields a new data instance.- Parameters:
data β The PyTorch Geometric Data instance
- Returns:
The list of PyNeuraLogic
Datainstances
- class TensorDataset(data: List[Data], one_hot_encode_labels: bool = False, one_hot_decode_features: bool = False, one_hot_decode_edge_features: bool = False, number_of_classes: int = 1, feature_name: str = 'node_feature', edge_name: str = 'edge', output_name: str = 'predict')[source]ο
Bases:
ConvertibleDatasetThe
TensorDatasetholds a list ofDatainstances - a list of graphs represented in a tensor format.- Parameters:
data (List[Data]) β List of data (graph) instances.
one_hot_encode_labels (bool) β Turn numerical labels into one hot encoded vectors - e.g., label
2would be turned into a vector[0, 0, 1, .., 0]of lengthnumber_of_classes. Default:Falseone_hot_decode_features (bool = False) β Turn one hot encoded feature vectors into a scalar - e.g., feature vector
[0, 0, 1]would be turned into a predicate<feature_name>_2. Default:Falseone_hot_decode_edge_features (bool = False) β Turn one hot encoded edge feature vectors into a scalar - e.g., edge feature vector
[0, 0, 1]would be turned into a predicate<edge_name>_2. Default:Falsenumber_of_classes (int) β Specifies the number of classes for converting numerical labels to one hot encoded vectors. Default:
1feature_name (str) β Specify the node feature predicate name used for converting into the logic format. Default:
"node_feature"edge_name (str) β Specify the edge predicate name used for converting into the logic format. Default:
"edge"output_name (str) β Specify the output predicate name used for converting into the logic format. Default:
"predict"
- dump(queries_fp, examples_fp, sep: str = '\n')[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.
Module contentsο
- class BaseDataset[source]ο
Bases:
objectBase class for logic datasets.
- dump(queries_fp: Any, examples_fp: Any, sep: str = '\n') None[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.
- class CSVDataset(csv_files: list[CSVFile] | CSVFile, csv_queries: CSVFile | None = None, mode: Mode = Mode.ONE_EXAMPLE)[source]ο
Bases:
ConvertibleDatasetRepresents a dataset composed of one or more CSV files.
- class CSVFile(relation_name: str, csv_source: TextIO | Path, sep: str = ',', value_column: str | int | None = None, default_value: float | int | None = None, value_mapper: Callable | None = None, term_columns: Sequence[str | int] | None = None, header: bool = False, skip_rows: int = 0, n_rows: int | None = None, replace_empty_column: str | float | int = 0)[source]ο
Bases:
objectRepresents a single CSV file source and its configuration for conversion to logic relations.
- csv_sourceο
- default_valueο
- headerο
- n_rowsο
- relation_nameο
- replace_empty_columnο
- sepο
- skip_rowsο
- term_columnsο
- to_logic_form() list[BaseRelation | Rule][source]ο
Converts the CSV source to a list of logic relations.
- Returns:
The list of created logic relations.
- Return type:
list[DatasetEntries]
- value_columnο
- value_mapperο
- class ConvertibleDataset[source]ο
Bases:
BaseDatasetBase class for datasets that can be converted into a standard dataset format.
- class DBDataset(connection: Any, db_sources: list[DBSource] | DBSource, queries_db_source: DBSource | None = None, mode: Mode = Mode.ONE_EXAMPLE)[source]ο
Bases:
ConvertibleDatasetRepresents a dataset composed of one or more database sources.
- class DBSource(relation_name: str, table_name: str, term_columns: list[str], value_column: str | None = None, default_value: float | int = 1.0, value_mapper: Callable | None = None, skip_rows: int = 0, n_rows: int | None = None, replace_empty_column: str | float | int = 0, sep: str = ',')[source]ο
Bases:
objectRepresents a database source (table) and its configuration for conversion to logic relations.
- default_valueο
- n_rowsο
- relation_nameο
- replace_empty_columnο
- sepο
- skip_rowsο
- table_nameο
- term_columnsο
- to_csv(cursor: Any) CSVFile[source]ο
Converts the database source to an intermediate CSV representation.
- Parameters:
cursor (Any) β The database cursor to use for execution.
- Returns:
The intermediate CSVFile object.
- Return type:
- value_columnο
- value_mapperο
- class Data(x: Sequence, edge_index: Sequence, y: Sequence | float | int = 0.0, edge_attr: Sequence | None = None, y_mask: Sequence | None = None)[source]ο
Bases:
objectThe
Datainstance stores information about one specific graph instance.Example
For example, the directed graph \(G = (V, E)\), where \(E = \{(0, 1), (1, 2), (2, 0)\}\), node features \(X = \{[0], [1], [0]\}\) and target nodesβ labels \(Y = \{0, 1, 0\}\) would be represented as:
data = Data( x=[[0], [1], [0]], edge_index=[ [0, 1, 2], [1, 2, 0], ], y=[0, 1, 0], )
- Parameters:
x (Sequence) β Sequence of node features.
edge_index (Sequence) β Edges represented via a graph connectivity format - matrix
[[...src], [...dst]].y (Union[Sequence, float, int]) β Sequence of labels of all nodes or one graph label.
edge_attr (Sequence | None) β Optional sequence of edge features. Default:
Noney_mask (Sequence | None) β Optional sequence of node ids to generate queries for. Default:
None(all nodes)
- static from_pyg(data) List[Data][source]ο
Converts a PyTorch Geometric Data instance into a list of PyNeuraLogic
Datainstances. The conversion supportstrain_mask,test_maskandval_maskattributes - for each mask the conversion yields a new data instance.- Parameters:
data β The PyTorch Geometric Data instance
- Returns:
The list of PyNeuraLogic
Datainstances
- class Dataset(samples: list[Sample] | Sample | None = None)[source]ο
Bases:
BaseDatasetDataset encapsulating (learning) samples in the form of logic format, allowing users to fully take advantage of the PyNeuraLogic library.
- add(query: BaseRelation | list[BaseRelation] | None, example: list[BaseRelation | Rule] | None) Dataset[source]ο
- samplesο
- class FileDataset(examples_file: str | None = None, queries_file: str | None = None)[source]ο
Bases:
BaseDatasetFileDatasetrepresents samples stored in files in the NeuraLogic (logic) format.- Parameters:
examples_file (str | None) β Path to the examples file. Default:
Nonequeries_file (str | None) β Path to the queries file. Default:
None
- dump(queries_fp, examples_fp, sep: str = '\n')[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.
- class Mode(value)[source]ο
Bases:
EnumEnum representing different modes of creating samples from CSV files.
- EXAMPLE_PER_SOURCE = 'example_per_source'ο
- ONE_EXAMPLE = 'one'ο
- ZIP = 'zip'ο
- class PDDLDataset(domain: str, problems: str | list[str], include_actions: bool = True)[source]ο
Bases:
ConvertibleDatasetPDDLDataset converts PDDL domain and problem files into a logic dataset. It supports creating samples from the initial state and using the goal state as a query.
- class Sample(query: BaseRelation | list[BaseRelation] | None, example: Sequence[BaseRelation | Rule] | BaseRelation | Rule | None)[source]ο
Bases:
object- exampleο
- queryο
- class TensorDataset(data: List[Data], one_hot_encode_labels: bool = False, one_hot_decode_features: bool = False, one_hot_decode_edge_features: bool = False, number_of_classes: int = 1, feature_name: str = 'node_feature', edge_name: str = 'edge', output_name: str = 'predict')[source]ο
Bases:
ConvertibleDatasetThe
TensorDatasetholds a list ofDatainstances - a list of graphs represented in a tensor format.- Parameters:
data (List[Data]) β List of data (graph) instances.
one_hot_encode_labels (bool) β Turn numerical labels into one hot encoded vectors - e.g., label
2would be turned into a vector[0, 0, 1, .., 0]of lengthnumber_of_classes. Default:Falseone_hot_decode_features (bool = False) β Turn one hot encoded feature vectors into a scalar - e.g., feature vector
[0, 0, 1]would be turned into a predicate<feature_name>_2. Default:Falseone_hot_decode_edge_features (bool = False) β Turn one hot encoded edge feature vectors into a scalar - e.g., edge feature vector
[0, 0, 1]would be turned into a predicate<edge_name>_2. Default:Falsenumber_of_classes (int) β Specifies the number of classes for converting numerical labels to one hot encoded vectors. Default:
1feature_name (str) β Specify the node feature predicate name used for converting into the logic format. Default:
"node_feature"edge_name (str) β Specify the edge predicate name used for converting into the logic format. Default:
"edge"output_name (str) β Specify the output predicate name used for converting into the logic format. Default:
"predict"
- dump(queries_fp, examples_fp, sep: str = '\n')[source]ο
Dumps the dataset queries and examples into the provided file-like objects.
- Parameters:
queries_fp (Any) β The file-like object to dump queries into.
examples_fp (Any) β The file-like object to dump examples into.
sep (str, optional) β The separator to use between samples. Default: βnβ.