Upload folder using huggingface_hub
Browse files
README.md
CHANGED
|
@@ -14,7 +14,7 @@ The code used to train this model is given in `train.py`.
|
|
| 14 |
|
| 15 |
```bash
|
| 16 |
conda env create -n mmgp_tensile2d -f https://huggingface.co/fabiencasenave/mmgp_tensile2d/resolve/main/environment.yml
|
| 17 |
-
conda mmgp_tensile2d
|
| 18 |
pip install git+https://huggingface.co/fabiencasenave/mmgp_tensile2d
|
| 19 |
```
|
| 20 |
|
|
@@ -28,9 +28,9 @@ import mmgp_tensile2d
|
|
| 28 |
model = mmgp_tensile2d.load()
|
| 29 |
|
| 30 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 31 |
-
ids_test = hf_dataset.description["split"]['test']
|
| 32 |
|
| 33 |
-
dataset_test, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_test, processes_number =
|
| 34 |
|
| 35 |
print("Check the 'U1' field is not present: dataset_test[0].get_field('U1') =", dataset_test[0].get_field('U1'))
|
| 36 |
|
|
|
|
| 14 |
|
| 15 |
```bash
|
| 16 |
conda env create -n mmgp_tensile2d -f https://huggingface.co/fabiencasenave/mmgp_tensile2d/resolve/main/environment.yml
|
| 17 |
+
conda activate mmgp_tensile2d
|
| 18 |
pip install git+https://huggingface.co/fabiencasenave/mmgp_tensile2d
|
| 19 |
```
|
| 20 |
|
|
|
|
| 28 |
model = mmgp_tensile2d.load()
|
| 29 |
|
| 30 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 31 |
+
ids_test = hf_dataset.description["split"]['test'][:5]
|
| 32 |
|
| 33 |
+
dataset_test, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_test, processes_number = 5, verbose = True)
|
| 34 |
|
| 35 |
print("Check the 'U1' field is not present: dataset_test[0].get_field('U1') =", dataset_test[0].get_field('U1'))
|
| 36 |
|
pipeline.joblib
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:39bf5857f390d114fede4a147e156f41c95d860b7870186f2e6cea83bc1ed258
|
| 3 |
+
size 71519577
|
test.py
CHANGED
|
@@ -5,9 +5,9 @@ import mmgp_tensile2d
|
|
| 5 |
model = mmgp_tensile2d.load()
|
| 6 |
|
| 7 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 8 |
-
ids_test = hf_dataset.description["split"]['test']
|
| 9 |
|
| 10 |
-
dataset_test, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_test, processes_number =
|
| 11 |
|
| 12 |
print("Check the 'U1' field is not present: dataset_test[0].get_field('U1') =", dataset_test[0].get_field('U1'))
|
| 13 |
|
|
|
|
| 5 |
model = mmgp_tensile2d.load()
|
| 6 |
|
| 7 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 8 |
+
ids_test = hf_dataset.description["split"]['test'][:5]
|
| 9 |
|
| 10 |
+
dataset_test, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_test, processes_number = 5, verbose = True)
|
| 11 |
|
| 12 |
print("Check the 'U1' field is not present: dataset_test[0].get_field('U1') =", dataset_test[0].get_field('U1'))
|
| 13 |
|
train.py
CHANGED
|
@@ -30,12 +30,12 @@ from mmgp.pipelines.mmgp_blocks import MMGPPreparer, MMGPTransformer
|
|
| 30 |
from mmgp_tensile2d.utils import length_scale_init, morphing
|
| 31 |
|
| 32 |
|
| 33 |
-
n_processes = min(max(1, os.cpu_count()),
|
| 34 |
|
| 35 |
|
| 36 |
# load dataset
|
| 37 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 38 |
-
ids_train = hf_dataset.description["split"]['train_500']
|
| 39 |
|
| 40 |
dataset_train, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_train, processes_number = n_processes, verbose = True)
|
| 41 |
|
|
@@ -58,7 +58,7 @@ input_scalar_scaler = WrappedPlaidSklearnTransformer(MinMaxScaler(), **config['i
|
|
| 58 |
nodes_preprocessor = Pipeline(
|
| 59 |
steps=[
|
| 60 |
("mmgp_nodes_transf", MMGPTransformer(**config['mmgp_nodes_transf'])),
|
| 61 |
-
('pca_nodes', WrappedPlaidSklearnTransformer(PCA(
|
| 62 |
]
|
| 63 |
)
|
| 64 |
|
|
@@ -82,7 +82,7 @@ kernel = Matern(length_scale_bounds=(1e-8, 1e8), nu = 2.5)
|
|
| 82 |
gpr = GaussianProcessRegressor(
|
| 83 |
kernel=kernel,
|
| 84 |
optimizer='fmin_l_bfgs_b',
|
| 85 |
-
n_restarts_optimizer=
|
| 86 |
random_state=42)
|
| 87 |
|
| 88 |
reg = MultiOutputRegressor(gpr)
|
|
@@ -95,7 +95,7 @@ regressor = WrappedPlaidSklearnRegressor(reg, **config['regressor_mach'], dynami
|
|
| 95 |
postprocessor = Pipeline(
|
| 96 |
steps=[
|
| 97 |
("mmgp_u1_transf", MMGPTransformer(**config['mmgp_u1_transf'])),
|
| 98 |
-
('pca_u1', WrappedPlaidSklearnTransformer(PCA(
|
| 99 |
]
|
| 100 |
)
|
| 101 |
|
|
@@ -103,7 +103,6 @@ postprocessor = Pipeline(
|
|
| 103 |
target_regressor = PlaidTransformedTargetRegressor(
|
| 104 |
regressor=regressor,
|
| 105 |
transformer=postprocessor,
|
| 106 |
-
# out_features_identifiers = config['pca_u1']['in_features_identifiers']
|
| 107 |
)
|
| 108 |
|
| 109 |
pipeline = Pipeline(
|
|
@@ -117,8 +116,8 @@ pipeline = Pipeline(
|
|
| 117 |
|
| 118 |
# Set hyperameter that have been optimized by cross-valdiation on the training set
|
| 119 |
optimized_pipeline = clone(pipeline).set_params(
|
| 120 |
-
preprocessor__column_preprocessor__nodes_preprocessor__pca_nodes__sklearn_block__n_components =
|
| 121 |
-
regressor__transformer__pca_u1__sklearn_block__n_components =
|
| 122 |
)
|
| 123 |
|
| 124 |
# Train the model
|
|
|
|
| 30 |
from mmgp_tensile2d.utils import length_scale_init, morphing
|
| 31 |
|
| 32 |
|
| 33 |
+
n_processes = min(max(1, os.cpu_count()), 24)
|
| 34 |
|
| 35 |
|
| 36 |
# load dataset
|
| 37 |
hf_dataset = load_dataset("PLAID-datasets/Tensile2d", split="all_samples")
|
| 38 |
+
ids_train = hf_dataset.description["split"]['train_500']
|
| 39 |
|
| 40 |
dataset_train, _ = huggingface_dataset_to_plaid(hf_dataset, ids = ids_train, processes_number = n_processes, verbose = True)
|
| 41 |
|
|
|
|
| 58 |
nodes_preprocessor = Pipeline(
|
| 59 |
steps=[
|
| 60 |
("mmgp_nodes_transf", MMGPTransformer(**config['mmgp_nodes_transf'])),
|
| 61 |
+
('pca_nodes', WrappedPlaidSklearnTransformer(PCA(), **config['pca_nodes'])),
|
| 62 |
]
|
| 63 |
)
|
| 64 |
|
|
|
|
| 82 |
gpr = GaussianProcessRegressor(
|
| 83 |
kernel=kernel,
|
| 84 |
optimizer='fmin_l_bfgs_b',
|
| 85 |
+
n_restarts_optimizer=2,
|
| 86 |
random_state=42)
|
| 87 |
|
| 88 |
reg = MultiOutputRegressor(gpr)
|
|
|
|
| 95 |
postprocessor = Pipeline(
|
| 96 |
steps=[
|
| 97 |
("mmgp_u1_transf", MMGPTransformer(**config['mmgp_u1_transf'])),
|
| 98 |
+
('pca_u1', WrappedPlaidSklearnTransformer(PCA(), **config['pca_u1'])),
|
| 99 |
]
|
| 100 |
)
|
| 101 |
|
|
|
|
| 103 |
target_regressor = PlaidTransformedTargetRegressor(
|
| 104 |
regressor=regressor,
|
| 105 |
transformer=postprocessor,
|
|
|
|
| 106 |
)
|
| 107 |
|
| 108 |
pipeline = Pipeline(
|
|
|
|
| 116 |
|
| 117 |
# Set hyperameter that have been optimized by cross-valdiation on the training set
|
| 118 |
optimized_pipeline = clone(pipeline).set_params(
|
| 119 |
+
preprocessor__column_preprocessor__nodes_preprocessor__pca_nodes__sklearn_block__n_components = 16,
|
| 120 |
+
regressor__transformer__pca_u1__sklearn_block__n_components = 32
|
| 121 |
)
|
| 122 |
|
| 123 |
# Train the model
|