diff --git a/v5.3/checkpoint_100000/dataset_train.yaml b/v5.3/checkpoint_100000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_100000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_100000/dataset_val.yaml b/v5.3/checkpoint_100000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_100000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_100000/expression_space.yaml b/v5.3/checkpoint_100000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_100000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_100000/nsr.yaml b/v5.3/checkpoint_100000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_100000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_100000/skeleton_pool_train.yaml b/v5.3/checkpoint_100000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_100000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_100000/skeleton_pool_val.yaml b/v5.3/checkpoint_100000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_100000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_100000/state_dict.pt b/v5.3/checkpoint_100000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..645963da8e4def34fd65ae1065a284b792ac7b72 --- /dev/null +++ b/v5.3/checkpoint_100000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dae7f794dd13bacdf479f920e13dbd63670c6bbc02565ce4732c61b247d298c3 +size 108513553 diff --git a/v5.3/checkpoint_100000/train.yaml b/v5.3/checkpoint_100000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_100000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1000000/dataset_train.yaml b/v5.3/checkpoint_1000000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1000000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1000000/dataset_val.yaml b/v5.3/checkpoint_1000000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1000000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1000000/expression_space.yaml b/v5.3/checkpoint_1000000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1000000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1000000/nsr.yaml b/v5.3/checkpoint_1000000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1000000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1000000/skeleton_pool_train.yaml b/v5.3/checkpoint_1000000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1000000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1000000/skeleton_pool_val.yaml b/v5.3/checkpoint_1000000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1000000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1000000/state_dict.pt b/v5.3/checkpoint_1000000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..cf7b310c084c427042b0ce7cf51248db3308a374 --- /dev/null +++ b/v5.3/checkpoint_1000000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a93d75add9ae234b290c554332ee026e96e5e9a6cb9124e212b221970406b91e +size 108513553 diff --git a/v5.3/checkpoint_1000000/train.yaml b/v5.3/checkpoint_1000000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1000000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1100000/dataset_train.yaml b/v5.3/checkpoint_1100000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1100000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1100000/dataset_val.yaml b/v5.3/checkpoint_1100000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1100000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1100000/expression_space.yaml b/v5.3/checkpoint_1100000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1100000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1100000/nsr.yaml b/v5.3/checkpoint_1100000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1100000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1100000/skeleton_pool_train.yaml b/v5.3/checkpoint_1100000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1100000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1100000/skeleton_pool_val.yaml b/v5.3/checkpoint_1100000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1100000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1100000/state_dict.pt b/v5.3/checkpoint_1100000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..1ccbe5a46b91a60da6e16ad5c687bd4431977d62 --- /dev/null +++ b/v5.3/checkpoint_1100000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfbf8d8f8f577e74135ad5b8b419b76a99e49ba4136b9e0250b7c6e088688fe3 +size 108513553 diff --git a/v5.3/checkpoint_1100000/train.yaml b/v5.3/checkpoint_1100000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1100000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1200000/dataset_train.yaml b/v5.3/checkpoint_1200000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1200000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1200000/dataset_val.yaml b/v5.3/checkpoint_1200000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1200000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1200000/expression_space.yaml b/v5.3/checkpoint_1200000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1200000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1200000/nsr.yaml b/v5.3/checkpoint_1200000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1200000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1200000/skeleton_pool_train.yaml b/v5.3/checkpoint_1200000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1200000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1200000/skeleton_pool_val.yaml b/v5.3/checkpoint_1200000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1200000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1200000/state_dict.pt b/v5.3/checkpoint_1200000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..1d82c38fe89b4f128be8af93693faf6d474808f5 --- /dev/null +++ b/v5.3/checkpoint_1200000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc60398a9092a49a46bb9f27a52eec878fc62909742031dfe1e458fff2f36e9a +size 108513553 diff --git a/v5.3/checkpoint_1200000/train.yaml b/v5.3/checkpoint_1200000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1200000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1300000/dataset_train.yaml b/v5.3/checkpoint_1300000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1300000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1300000/dataset_val.yaml b/v5.3/checkpoint_1300000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1300000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1300000/expression_space.yaml b/v5.3/checkpoint_1300000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1300000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1300000/nsr.yaml b/v5.3/checkpoint_1300000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1300000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1300000/skeleton_pool_train.yaml b/v5.3/checkpoint_1300000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1300000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1300000/skeleton_pool_val.yaml b/v5.3/checkpoint_1300000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1300000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1300000/state_dict.pt b/v5.3/checkpoint_1300000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..eed290d6b863ba09a7a4f8eaacbf0e5574e639d4 --- /dev/null +++ b/v5.3/checkpoint_1300000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a650e3e2abf63125eee1123c76af8dfc26a9c5aee57ed02f044164ea031307 +size 108513553 diff --git a/v5.3/checkpoint_1300000/train.yaml b/v5.3/checkpoint_1300000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1300000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1400000/dataset_train.yaml b/v5.3/checkpoint_1400000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1400000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1400000/dataset_val.yaml b/v5.3/checkpoint_1400000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1400000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1400000/expression_space.yaml b/v5.3/checkpoint_1400000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1400000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1400000/nsr.yaml b/v5.3/checkpoint_1400000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1400000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1400000/skeleton_pool_train.yaml b/v5.3/checkpoint_1400000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1400000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1400000/skeleton_pool_val.yaml b/v5.3/checkpoint_1400000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1400000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1400000/state_dict.pt b/v5.3/checkpoint_1400000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..cc896069a47a9c2745f50e7bc8f25df964c78ebd --- /dev/null +++ b/v5.3/checkpoint_1400000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1562f1d9c8fcb07de6fd3668ba1c0ca319bfb7ad3b90f4ef74061baa361e889c +size 108513553 diff --git a/v5.3/checkpoint_1400000/train.yaml b/v5.3/checkpoint_1400000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1400000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_1500000/dataset_train.yaml b/v5.3/checkpoint_1500000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_1500000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_1500000/dataset_val.yaml b/v5.3/checkpoint_1500000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_1500000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_1500000/expression_space.yaml b/v5.3/checkpoint_1500000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_1500000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_1500000/nsr.yaml b/v5.3/checkpoint_1500000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_1500000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_1500000/skeleton_pool_train.yaml b/v5.3/checkpoint_1500000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_1500000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1500000/skeleton_pool_val.yaml b/v5.3/checkpoint_1500000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_1500000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_1500000/state_dict.pt b/v5.3/checkpoint_1500000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..99738d44d420860ddf1633ef038460a6584ccc35 --- /dev/null +++ b/v5.3/checkpoint_1500000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299df95838be915b3b562f34a38f5d81a80e1c7353b009ed8736b83dda395de4 +size 108513553 diff --git a/v5.3/checkpoint_1500000/train.yaml b/v5.3/checkpoint_1500000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_1500000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_200000/dataset_train.yaml b/v5.3/checkpoint_200000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_200000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_200000/dataset_val.yaml b/v5.3/checkpoint_200000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_200000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_200000/expression_space.yaml b/v5.3/checkpoint_200000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_200000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_200000/nsr.yaml b/v5.3/checkpoint_200000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_200000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_200000/skeleton_pool_train.yaml b/v5.3/checkpoint_200000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_200000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_200000/skeleton_pool_val.yaml b/v5.3/checkpoint_200000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_200000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_200000/state_dict.pt b/v5.3/checkpoint_200000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..95db13bd7a42534ed78cf121422ec92c5e516e32 --- /dev/null +++ b/v5.3/checkpoint_200000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c172ca1601a6c99ea6e6c25cb246746a9426be0e6f5aded24b3c6ef1751321f0 +size 108513553 diff --git a/v5.3/checkpoint_200000/train.yaml b/v5.3/checkpoint_200000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_200000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_300000/dataset_train.yaml b/v5.3/checkpoint_300000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_300000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_300000/dataset_val.yaml b/v5.3/checkpoint_300000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_300000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_300000/expression_space.yaml b/v5.3/checkpoint_300000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_300000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_300000/nsr.yaml b/v5.3/checkpoint_300000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_300000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_300000/skeleton_pool_train.yaml b/v5.3/checkpoint_300000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_300000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_300000/skeleton_pool_val.yaml b/v5.3/checkpoint_300000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_300000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_300000/state_dict.pt b/v5.3/checkpoint_300000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..a48e408a79e26e6baed84c24c21d8b06e2413d17 --- /dev/null +++ b/v5.3/checkpoint_300000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a7ad6b1c0e4564d1c430db1c5b95a1d2a43cbe7565ce01bb487b525fdfa9fc +size 108513553 diff --git a/v5.3/checkpoint_300000/train.yaml b/v5.3/checkpoint_300000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_300000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_400000/dataset_train.yaml b/v5.3/checkpoint_400000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_400000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_400000/dataset_val.yaml b/v5.3/checkpoint_400000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_400000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_400000/expression_space.yaml b/v5.3/checkpoint_400000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_400000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_400000/nsr.yaml b/v5.3/checkpoint_400000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_400000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_400000/skeleton_pool_train.yaml b/v5.3/checkpoint_400000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_400000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_400000/skeleton_pool_val.yaml b/v5.3/checkpoint_400000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_400000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_400000/state_dict.pt b/v5.3/checkpoint_400000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..ad8878b478ec03bfcc3447fd44474b555370cb06 --- /dev/null +++ b/v5.3/checkpoint_400000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecf2bdbabdd53382d908e31eb065521a9569e30b1be40af2ef79650c85caf081 +size 108513553 diff --git a/v5.3/checkpoint_400000/train.yaml b/v5.3/checkpoint_400000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_400000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_500000/dataset_train.yaml b/v5.3/checkpoint_500000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_500000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_500000/dataset_val.yaml b/v5.3/checkpoint_500000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_500000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_500000/expression_space.yaml b/v5.3/checkpoint_500000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_500000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_500000/nsr.yaml b/v5.3/checkpoint_500000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_500000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_500000/skeleton_pool_train.yaml b/v5.3/checkpoint_500000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_500000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_500000/skeleton_pool_val.yaml b/v5.3/checkpoint_500000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_500000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_500000/state_dict.pt b/v5.3/checkpoint_500000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..e501f1446b6ff5125d32aa1ddd3a667b8b50f07f --- /dev/null +++ b/v5.3/checkpoint_500000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad3e825d5521f84f95245d0ad28927a21ce0911a07175b4aefc19f4e297b915 +size 108513553 diff --git a/v5.3/checkpoint_500000/train.yaml b/v5.3/checkpoint_500000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_500000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_600000/dataset_train.yaml b/v5.3/checkpoint_600000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_600000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_600000/dataset_val.yaml b/v5.3/checkpoint_600000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_600000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_600000/expression_space.yaml b/v5.3/checkpoint_600000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_600000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_600000/nsr.yaml b/v5.3/checkpoint_600000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_600000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_600000/skeleton_pool_train.yaml b/v5.3/checkpoint_600000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_600000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_600000/skeleton_pool_val.yaml b/v5.3/checkpoint_600000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_600000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_600000/state_dict.pt b/v5.3/checkpoint_600000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..a86bc4f571137d1fa155d1f0190dabd2d8c38c87 --- /dev/null +++ b/v5.3/checkpoint_600000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:943ddc33162a35b4a7f4ebe8251ea47b6f067e4777169fec8c81499a7950cfde +size 108513553 diff --git a/v5.3/checkpoint_600000/train.yaml b/v5.3/checkpoint_600000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_600000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_700000/dataset_train.yaml b/v5.3/checkpoint_700000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_700000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_700000/dataset_val.yaml b/v5.3/checkpoint_700000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_700000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_700000/expression_space.yaml b/v5.3/checkpoint_700000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_700000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_700000/nsr.yaml b/v5.3/checkpoint_700000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_700000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_700000/skeleton_pool_train.yaml b/v5.3/checkpoint_700000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_700000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_700000/skeleton_pool_val.yaml b/v5.3/checkpoint_700000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_700000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_700000/state_dict.pt b/v5.3/checkpoint_700000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..213eccf85001e73821af50657b9a7257ab00de34 --- /dev/null +++ b/v5.3/checkpoint_700000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22deb80e6b6dc362694585701d619b4cec65e0b093f44190310d544ffc0e275a +size 108513553 diff --git a/v5.3/checkpoint_700000/train.yaml b/v5.3/checkpoint_700000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_700000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_800000/dataset_train.yaml b/v5.3/checkpoint_800000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_800000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_800000/dataset_val.yaml b/v5.3/checkpoint_800000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_800000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_800000/expression_space.yaml b/v5.3/checkpoint_800000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_800000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_800000/nsr.yaml b/v5.3/checkpoint_800000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_800000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_800000/skeleton_pool_train.yaml b/v5.3/checkpoint_800000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_800000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_800000/skeleton_pool_val.yaml b/v5.3/checkpoint_800000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_800000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_800000/state_dict.pt b/v5.3/checkpoint_800000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..9821341fa9759b5ef086a22351bae765441dab99 --- /dev/null +++ b/v5.3/checkpoint_800000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d76a50f9736798cd53bbc8cf5ba4574969b09aa22945bef4aa93efd25e1aef67 +size 108513553 diff --git a/v5.3/checkpoint_800000/train.yaml b/v5.3/checkpoint_800000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_800000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/checkpoint_900000/dataset_train.yaml b/v5.3/checkpoint_900000/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/checkpoint_900000/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/checkpoint_900000/dataset_val.yaml b/v5.3/checkpoint_900000/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/checkpoint_900000/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/checkpoint_900000/expression_space.yaml b/v5.3/checkpoint_900000/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/checkpoint_900000/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/checkpoint_900000/nsr.yaml b/v5.3/checkpoint_900000/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/checkpoint_900000/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/checkpoint_900000/skeleton_pool_train.yaml b/v5.3/checkpoint_900000/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/checkpoint_900000/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_900000/skeleton_pool_val.yaml b/v5.3/checkpoint_900000/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/checkpoint_900000/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/checkpoint_900000/state_dict.pt b/v5.3/checkpoint_900000/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..3745b3f0ee3cff9ea4a2a349ffea32e2c610265c --- /dev/null +++ b/v5.3/checkpoint_900000/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c5e8b504c7871bf54abfbc5e6456c38a4209cfb2d95ea1599d0aca5d895f7e8 +size 108513553 diff --git a/v5.3/checkpoint_900000/train.yaml b/v5.3/checkpoint_900000/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/checkpoint_900000/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda diff --git a/v5.3/dataset_train.yaml b/v5.3/dataset_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2baac35dd30d83b3b46bd75ec2db5389d64c7cf1 --- /dev/null +++ b/v5.3/dataset_train.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_train.yaml +padding: zero diff --git a/v5.3/dataset_val.yaml b/v5.3/dataset_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b6b0b5d55c3784c36a1ee2406acc48966147 --- /dev/null +++ b/v5.3/dataset_val.yaml @@ -0,0 +1,2 @@ +skeleton_pool: ./skeleton_pool_val.yaml +padding: zero diff --git a/v5.3/expression_space.yaml b/v5.3/expression_space.yaml new file mode 100644 index 0000000000000000000000000000000000000000..01b9176053bf8d014309e89d80a5f5f8da97c30a --- /dev/null +++ b/v5.3/expression_space.yaml @@ -0,0 +1,287 @@ +operators: + +: + realization: + + alias: + - add + - plus + inverse: '-' + arity: 2 + weight: 10 + precedence: 1 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + '-': + realization: '-' + alias: + - sub + - minus + inverse: + + arity: 2 + weight: 5 + precedence: 1 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + neg: + realization: nsrops.neg + wolfram: Negative + alias: + - negative + inverse: neg + arity: 1 + weight: 5 + precedence: 2.5 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + '*': + realization: '*' + alias: + - mul + - times + inverse: / + arity: 2 + weight: 10 + precedence: 2 + commutative: true + symmetry: 0 + positive: false + monotonicity: 0 + /: + realization: / + alias: + - div + - divide + inverse: '*' + arity: 2 + weight: 5 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 0 + abs: + realization: abs + wolfram: Abs + alias: + - absolute + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + inv: + realization: nsrops.inv + wolfram: Inverse + alias: + - inverse + inverse: inv + arity: 1 + weight: 4 + precedence: 4 + commutative: false + symmetry: -1 + positive: false + monotonicity: -1 + pow2: + realization: nsrops.pow2 + alias: + - square + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow3: + realization: nsrops.pow3 + alias: + - cube + inverse: pow1_3 + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow4: + realization: nsrops.pow4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 1 + positive: true + monotonicity: 0 + pow5: + realization: nsrops.pow5 + alias: [] + inverse: pow1_5 + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_2: + realization: nsrops.pow1_2 + alias: + - sqrt + inverse: null + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_3: + realization: nsrops.pow1_3 + alias: [] + inverse: null + arity: 1 + weight: 2 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + pow1_4: + realization: nsrops.pow1_4 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + pow1_5: + realization: nsrops.pow1_5 + alias: [] + inverse: null + arity: 1 + weight: 1 + precedence: 3 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + sin: + realization: numpy.sin + wolfram: Sin + alias: [] + inverse: asin + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + cos: + realization: numpy.cos + wolfram: Cos + alias: [] + inverse: acos + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 1 + positive: false + monotonicity: 0 + tan: + realization: numpy.tan + wolfram: Tan + alias: [] + inverse: atan + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 0 + asin: + realization: numpy.arcsin + wolfram: ArcSin + alias: + - arcsin + inverse: sin + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + acos: + realization: numpy.arccos + wolfram: ArcCos + alias: + - arccos + inverse: cos + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + atan: + realization: numpy.arctan + wolfram: ArcTan + alias: + - arctan + inverse: tan + arity: 1 + weight: 2 + precedence: 2 + commutative: false + symmetry: -1 + positive: false + monotonicity: 1 + exp: + realization: numpy.exp + wolfram: Exp + alias: [] + inverse: log + arity: 1 + weight: 4 + precedence: 3 + commutative: false + symmetry: 0 + positive: true + monotonicity: 1 + log: + realization: numpy.log + wolfram: Log + alias: + - ln + inverse: exp + arity: 1 + weight: 4 + precedence: 2 + commutative: false + symmetry: 0 + positive: false + monotonicity: 1 +variables: +- x1 +- x2 +- x3 diff --git a/v5.3/nsr.yaml b/v5.3/nsr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..063071ae9c66fae67aaa7b7f4a66b446362704e0 --- /dev/null +++ b/v5.3/nsr.yaml @@ -0,0 +1,20 @@ +encoder_max_n_variables: 4 +size: 512 +pre_encoder_input_type: ieee-754 +pre_encoder_support_nan: false +encoder: SetTransformer +encoder_kwargs: + hidden_size: 512 + n_enc_isab: 5 + n_dec_sab: 2 + n_induce: 64 + n_heads: 8 + layer_norm: false + n_seeds: 10 +decoder_n_heads: 8 +decoder_ff_size: 512 +decoder_dropout: 0.1 +decoder_n_layers: 5 +learnable_positional_embeddings: false +max_input_length: null +expression_space: ./expression_space.yaml diff --git a/v5.3/skeleton_pool_train.yaml b/v5.3/skeleton_pool_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8998f28e15223be515cd5a23072a5985be09f36 --- /dev/null +++ b/v5.3/skeleton_pool_train.yaml @@ -0,0 +1,30 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/v5.3/skeleton_pool_val/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/skeleton_pool_val.yaml b/v5.3/skeleton_pool_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a227a2a3107f93ad0177d2e3cdcf31a36fe2cb78 --- /dev/null +++ b/v5.3/skeleton_pool_val.yaml @@ -0,0 +1,29 @@ +expression_space: ./expression_space.yaml +holdout_pools: +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/soose_nc/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/feynman/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/nguyen/skeleton_pool/' +- '{{ROOT}}/data/neural-symbolic-regression-data/test_set/hard_set/skeleton_pool/' +sample_strategy: + n_operator_distribution: length_proportional + min_operators: 0 + max_operators: 10 + power: 1 + max_length: 21 + max_tries: 1 +allow_nan: false +simplify: true +literal_prior: uniform +literal_prior_kwargs: + low: 1 + high: 5 +support_prior: uniform_intervals +support_prior_kwargs: + low: -10 + high: 10 +n_support_prior: uniform +n_support_prior_kwargs: + low: 16 + high: 512 + min_value: 16 + max_value: 512 diff --git a/v5.3/state_dict.pt b/v5.3/state_dict.pt new file mode 100644 index 0000000000000000000000000000000000000000..99738d44d420860ddf1633ef038460a6584ccc35 --- /dev/null +++ b/v5.3/state_dict.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299df95838be915b3b562f34a38f5d81a80e1c7353b009ed8736b83dda395de4 +size 108513553 diff --git a/v5.3/train.yaml b/v5.3/train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8951288b0707adbe6284a37205f21757307e141d --- /dev/null +++ b/v5.3/train.yaml @@ -0,0 +1,25 @@ +model: ./nsr.yaml +optimizer: + name: AdamW + kwargs: + lr: 1 + weight_decay: 0.01 + amsgrad: true +lr_scheduler: + name: WarmupLinearAnnealing + kwargs: + min_lr: 0 + max_lr: 1e-4 + warmup_steps: 10000 + total_steps: 1500000 +batch_size_scheduler: + name: Constant + kwargs: + batch_size: 128 +train_dataset: ./dataset_train.yaml +val_dataset: ./dataset_val.yaml +val_batch_size: 128 +val_size: 100000 +numeric_prediction_loss_weight: 0 +steps: 1500000 +device: cuda