triggerflow 0.3.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- trigger_dataset/__init__.py +0 -0
- trigger_dataset/core.py +88 -0
- trigger_loader/__init__.py +0 -0
- trigger_loader/cluster_manager.py +107 -0
- trigger_loader/loader.py +154 -0
- trigger_loader/processor.py +212 -0
- triggerflow/__init__.py +0 -0
- triggerflow/cli.py +122 -0
- triggerflow/core.py +617 -0
- triggerflow/interfaces/__init__.py +0 -0
- triggerflow/interfaces/uGT.py +187 -0
- triggerflow/mlflow_wrapper.py +270 -0
- triggerflow/starter/.gitignore +143 -0
- triggerflow/starter/README.md +0 -0
- triggerflow/starter/cookiecutter.json +5 -0
- triggerflow/starter/prompts.yml +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/.dvcignore +3 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/.gitignore +143 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/.gitlab-ci.yml +56 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/README.md +29 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/README.md +26 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/catalog.yml +84 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters.yml +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_compile.yml +14 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_data_processing.yml +8 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_load_data.yml +5 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_training.yml +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_validation.yml +5 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/catalog.yml +90 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters.yml +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_compile.yml +14 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_data_processing.yml +8 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_load_data.yml +5 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_training.yml +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_validation.yml +5 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/conf/logging.yml +43 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/condor_config.json +11 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/cuda_config.json +4 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/samples.json +24 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/settings.json +8 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/test.root +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/02_loaded/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/03_preprocessed/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/04_models/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/05_validation/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/06_compile/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/data/07_reporting/.gitkeep +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/dvc.yaml +7 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/environment.yml +23 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/pyproject.toml +50 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__init__.py +3 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__main__.py +25 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/any_object.py +20 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/base_dataset.py +137 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/base_loader.py +101 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/meta_dataset.py +49 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/{{ cookiecutter.python_package }}_dataset.py +35 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/{{ cookiecutter.python_package }}_loader.py +32 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/base_model.py +155 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/{{ cookiecutter.python_package }}_model.py +16 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipeline_registry.py +17 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/__init__.py +10 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/nodes.py +70 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/pipeline.py +20 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/__init__.py +10 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/nodes.py +41 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/pipeline.py +28 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/__init__.py +10 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/nodes.py +13 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/pipeline.py +20 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/__init__.py +10 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/nodes.py +48 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/pipeline.py +24 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/__init__.py +10 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/nodes.py +31 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/pipeline.py +24 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/settings.py +46 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/metric.py +4 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/plotting.py +598 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/test_pipeline.py +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/test_pipeline.py +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/test_pipeline.py +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/test_pipeline.py +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/__init__.py +0 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/test_pipeline.py +9 -0
- triggerflow/starter/{{ cookiecutter.repo_name }}/tests/test_run.py +27 -0
- triggerflow/templates/build_ugt.tcl +46 -0
- triggerflow/templates/data_types.h +524 -0
- triggerflow/templates/makefile +28 -0
- triggerflow/templates/makefile_version +15 -0
- triggerflow/templates/model-gt.cpp +104 -0
- triggerflow/templates/model_template.cpp +63 -0
- triggerflow/templates/scales.h +20 -0
- triggerflow-0.3.4.dist-info/METADATA +206 -0
- triggerflow-0.3.4.dist-info/RECORD +107 -0
- triggerflow-0.3.4.dist-info/WHEEL +5 -0
- triggerflow-0.3.4.dist-info/entry_points.txt +2 -0
- triggerflow-0.3.4.dist-info/top_level.txt +3 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#include "NN/{{PROJECT_NAME}}.h"
|
|
2
|
+
#include "emulator.h"
|
|
3
|
+
#include "NN/nnet_utils/nnet_common.h"
|
|
4
|
+
#include <any>
|
|
5
|
+
#include "ap_fixed.h"
|
|
6
|
+
#include "ap_int.h"
|
|
7
|
+
#include "scales.h"
|
|
8
|
+
|
|
9
|
+
using namespace {{NAMESPACE}};
|
|
10
|
+
|
|
11
|
+
class {{MODEL_NAME}}_emulator : public hls4mlEmulator::Model {
|
|
12
|
+
|
|
13
|
+
private:
|
|
14
|
+
typedef {{UNSCALED_TYPE}} unscaled_t;
|
|
15
|
+
static const int N_INPUT_SIZE = {{N_INPUTS}};
|
|
16
|
+
static const int N_OUTPUT_SIZE = {{N_OUTPUTS}};
|
|
17
|
+
|
|
18
|
+
unscaled_t _unscaled_input[N_INPUT_SIZE];
|
|
19
|
+
input_t _scaled_input[N_INPUT_SIZE];
|
|
20
|
+
result_t _result[N_OUTPUT_SIZE];
|
|
21
|
+
|
|
22
|
+
virtual void _scaleNNInputs(unscaled_t unscaled[N_INPUT_SIZE],
|
|
23
|
+
input_t scaled[N_INPUT_SIZE])
|
|
24
|
+
{
|
|
25
|
+
for (int i = 0; i < N_INPUT_SIZE; i++) {
|
|
26
|
+
unscaled_t tmp0 = unscaled[i] - ad_offsets[i];
|
|
27
|
+
input_t tmp1 = tmp0 >> ad_shift[i];
|
|
28
|
+
scaled[i] = tmp1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public:
|
|
33
|
+
virtual void prepare_input(std::any input) override {
|
|
34
|
+
unscaled_t* unscaled_input_p = std::any_cast<unscaled_t*>(input);
|
|
35
|
+
|
|
36
|
+
for (int i = 0; i < N_INPUT_SIZE; i++) {
|
|
37
|
+
_unscaled_input[i] = unscaled_input_p[i];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
_scaleNNInputs(_unscaled_input, _scaled_input);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
virtual void predict() override {
|
|
44
|
+
{{PROJECT_NAME}}(_scaled_input, _result);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
virtual void read_result(std::any result) override {
|
|
48
|
+
result_t* result_p =
|
|
49
|
+
std::any_cast<result_t*>(result);
|
|
50
|
+
|
|
51
|
+
for (int i = 0; i < N_OUTPUT_SIZE; i++) {
|
|
52
|
+
result_p[i] = _result[i];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
extern "C" hls4mlEmulator::Model* create_model() {
|
|
58
|
+
return new {{MODEL_NAME}}_emulator;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
extern "C" void destroy_model(hls4mlEmulator::Model* m) {
|
|
62
|
+
delete m;
|
|
63
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#ifndef __ADT_SCALES_H
|
|
2
|
+
#define __ADT_SCALES_H
|
|
3
|
+
|
|
4
|
+
#include "NN/{{MODEL_NAME}}_project.h"
|
|
5
|
+
|
|
6
|
+
namespace hls4ml_{{MODEL_NAME}} {
|
|
7
|
+
|
|
8
|
+
typedef ap_fixed<5,5> ad_shift_t;
|
|
9
|
+
typedef ap_fixed<10,10> ad_offset_t;
|
|
10
|
+
|
|
11
|
+
const ad_shift_t ad_shift[{{N_INPUTS}}] = {
|
|
12
|
+
{{AD_SHIFT}}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const ad_offset_t ad_offsets[{{N_INPUTS}}] = {
|
|
16
|
+
{{AD_OFFSETS}}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
} // namespace hls4ml_{{MODEL_NAME}}
|
|
20
|
+
#endif
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: triggerflow
|
|
3
|
+
Version: 0.3.4
|
|
4
|
+
Summary: Utilities for ML models targeting hardware triggers
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: cookiecutter>=2.3
|
|
8
|
+
Requires-Dist: PyYAML>=6
|
|
9
|
+
Requires-Dist: Jinja2>=3
|
|
10
|
+
Requires-Dist: kedro==1.0.0
|
|
11
|
+
Requires-Dist: kedro-datasets
|
|
12
|
+
Requires-Dist: kedro-mlflow==2.0.1
|
|
13
|
+
Requires-Dist: awkward<3,>=2.8
|
|
14
|
+
Requires-Dist: dask==2025.3.0
|
|
15
|
+
Requires-Dist: coffea>=2025.12
|
|
16
|
+
Requires-Dist: distributed==2025.3.0
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: pytest-cov~=3.0; extra == "dev"
|
|
19
|
+
Requires-Dist: pytest-mock<2.0,>=1.7.1; extra == "dev"
|
|
20
|
+
Requires-Dist: pytest~=7.2; extra == "dev"
|
|
21
|
+
Requires-Dist: ruff~=0.1.8; extra == "dev"
|
|
22
|
+
Provides-Extra: qkeras
|
|
23
|
+
Requires-Dist: tensorflow==2.13.0; extra == "qkeras"
|
|
24
|
+
Requires-Dist: QKeras==0.9.0; extra == "qkeras"
|
|
25
|
+
Requires-Dist: keras==2.13.1; extra == "qkeras"
|
|
26
|
+
Requires-Dist: qonnx==0.4.0; extra == "qkeras"
|
|
27
|
+
Requires-Dist: tf_keras; extra == "qkeras"
|
|
28
|
+
Requires-Dist: tf2onnx; extra == "qkeras"
|
|
29
|
+
Requires-Dist: hls4ml; extra == "qkeras"
|
|
30
|
+
Requires-Dist: conifer; extra == "qkeras"
|
|
31
|
+
Requires-Dist: coffea; extra == "qkeras"
|
|
32
|
+
Requires-Dist: dask; extra == "qkeras"
|
|
33
|
+
Requires-Dist: pyarrow==17.0.0; extra == "qkeras"
|
|
34
|
+
Requires-Dist: pandas==2.0.3; extra == "qkeras"
|
|
35
|
+
Requires-Dist: uproot==4.0.0; extra == "qkeras"
|
|
36
|
+
Requires-Dist: hist==2.7.3; extra == "qkeras"
|
|
37
|
+
Requires-Dist: awkward-pandas; extra == "qkeras"
|
|
38
|
+
Requires-Dist: matplotlib; extra == "qkeras"
|
|
39
|
+
Requires-Dist: mplhep; extra == "qkeras"
|
|
40
|
+
Requires-Dist: h5py; extra == "qkeras"
|
|
41
|
+
Requires-Dist: xxhash; extra == "qkeras"
|
|
42
|
+
Requires-Dist: shap; extra == "qkeras"
|
|
43
|
+
Requires-Dist: numpy==1.24.3; extra == "qkeras"
|
|
44
|
+
Provides-Extra: keras3
|
|
45
|
+
Requires-Dist: keras==3.11.0; extra == "keras3"
|
|
46
|
+
Requires-Dist: tensorflow==2.16.1; extra == "keras3"
|
|
47
|
+
Requires-Dist: hgq2; extra == "keras3"
|
|
48
|
+
Requires-Dist: hls4ml; extra == "keras3"
|
|
49
|
+
Requires-Dist: conifer; extra == "keras3"
|
|
50
|
+
Requires-Dist: pyarrow==17.0.0; extra == "keras3"
|
|
51
|
+
Requires-Dist: pandas==2.0.3; extra == "keras3"
|
|
52
|
+
Requires-Dist: uproot==4.0.0; extra == "keras3"
|
|
53
|
+
Requires-Dist: hist==2.7.3; extra == "keras3"
|
|
54
|
+
Requires-Dist: awkward-pandas; extra == "keras3"
|
|
55
|
+
Requires-Dist: matplotlib; extra == "keras3"
|
|
56
|
+
Requires-Dist: mplhep; extra == "keras3"
|
|
57
|
+
Requires-Dist: h5py; extra == "keras3"
|
|
58
|
+
Requires-Dist: xxhash; extra == "keras3"
|
|
59
|
+
Requires-Dist: shap; extra == "keras3"
|
|
60
|
+
|
|
61
|
+
# Machine Learning for Hardware Triggers
|
|
62
|
+
|
|
63
|
+
`triggerflow` provides a set of utilities for Machine Learning models targeting FPGA deployment.
|
|
64
|
+
The `TriggerModel` class consolidates several Machine Learning frontends and compiler backends to construct a "trigger model". MLflow utilities are for logging, versioning, and loading of trigger models.
|
|
65
|
+
|
|
66
|
+
## Installation
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pip install triggerflow
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Usage
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
|
|
76
|
+
from triggerflow.core import TriggerModel
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
scales = {'offsets': np.array([18, 0, 72, 7, 0, 73, 4, 0, 73, 4, 0, 72, 3, 0, 72, 6, -0, 286, 3, -2, 285, 3, -2, 282, 3, -2, 286, 29, 0, 72, 22, 0, 72, 18, 0, 72, 14, 0, 72, 11, 0, 72, 10, 0, 72, 10, 0, 73, 9, 0], dtype='int'),
|
|
80
|
+
'shifts': np.array([3, 0, 6, 2, 5, 6, 0, 5, 6, 0, 5, 6, -1, 5, 6, 2, 7, 8, 0, 7, 8, 0, 7, 8, 0, 7, 8, 4, 6, 6, 3, 6, 6, 3, 6, 6, 3, 6, 6, 3, 6, 6, 3, 6, 6, 3, 6, 6, 3, 6], dtype='int')}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
trigger_model = TriggerModel(
|
|
84
|
+
config="triggermodel_config.yaml",
|
|
85
|
+
native_model=model, #Native XGboost/Keras model
|
|
86
|
+
scales=scales
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
trigger_model() #Vivado requird on $PATH for Firmware build.
|
|
90
|
+
|
|
91
|
+
# then:
|
|
92
|
+
output_software = trigger_model.software_predict(input_data)
|
|
93
|
+
output_firmware = trigger_model.firmware_predict(input_data)
|
|
94
|
+
output_qonnx = trigger_model.qonnx_predict(input_data)
|
|
95
|
+
|
|
96
|
+
# save and load trigger models:
|
|
97
|
+
trigger_model.save("triggerflow.tar.xz")
|
|
98
|
+
|
|
99
|
+
# in a separate session:
|
|
100
|
+
from triggerflow.core import TriggerModel
|
|
101
|
+
triggerflow = TriggerModel.load("triggerflow.tar.xz")
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## The Config file:
|
|
105
|
+
|
|
106
|
+
Use this `.yaml` template and change as needed.
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
compiler:
|
|
110
|
+
name: "AXO"
|
|
111
|
+
ml_backend: "keras"
|
|
112
|
+
compiler: "hls4ml"
|
|
113
|
+
fpga_part: "xc7vx690t-ffg1927-2"
|
|
114
|
+
clock_period: 25
|
|
115
|
+
n_outputs: 1
|
|
116
|
+
project_name: "AXO_project"
|
|
117
|
+
namespace: "AXO"
|
|
118
|
+
io_type: "io_parallel"
|
|
119
|
+
backend: "Vitis"
|
|
120
|
+
write_weights_txt: false
|
|
121
|
+
|
|
122
|
+
subsystem:
|
|
123
|
+
name: "uGT"
|
|
124
|
+
n_inputs: 50
|
|
125
|
+
offset_type: "ap_fixed<10,10>"
|
|
126
|
+
shift_type: "ap_fixed<10,10>"
|
|
127
|
+
|
|
128
|
+
objects:
|
|
129
|
+
muons:
|
|
130
|
+
size: 4
|
|
131
|
+
features: [pt, eta_extrapolated, phi_extrapolated]
|
|
132
|
+
|
|
133
|
+
jets:
|
|
134
|
+
size: 4
|
|
135
|
+
features: [et, eta, phi]
|
|
136
|
+
|
|
137
|
+
egammas:
|
|
138
|
+
size: 4
|
|
139
|
+
features: [et, eta, phi]
|
|
140
|
+
|
|
141
|
+
taus:
|
|
142
|
+
size: 4
|
|
143
|
+
features: [et, eta, phi]
|
|
144
|
+
|
|
145
|
+
global_features:
|
|
146
|
+
#- et.et
|
|
147
|
+
#- ht.et
|
|
148
|
+
- etmiss.et
|
|
149
|
+
- etmiss.phi
|
|
150
|
+
#- htmiss.et
|
|
151
|
+
#- htmiss.phi
|
|
152
|
+
#- ethfmiss.et
|
|
153
|
+
#- ethfmiss.phi
|
|
154
|
+
#- hthfmiss.et
|
|
155
|
+
#- hthfmiss.phi
|
|
156
|
+
|
|
157
|
+
muon_size: 4
|
|
158
|
+
jet_size: 4
|
|
159
|
+
egamma_size: 4
|
|
160
|
+
tau_size: 4
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Logging with MLflow
|
|
164
|
+
|
|
165
|
+
```python
|
|
166
|
+
# logging with MLFlow:
|
|
167
|
+
import mlflow
|
|
168
|
+
from triggerflow.mlflow_wrapper import log_model
|
|
169
|
+
|
|
170
|
+
mlflow.set_tracking_uri("https://ngt.cern.ch/models")
|
|
171
|
+
experiment_id = mlflow.create_experiment("example-experiment")
|
|
172
|
+
|
|
173
|
+
with mlflow.start_run(run_name="trial-v1", experiment_id=experiment_id):
|
|
174
|
+
log_model(triggerflow, registered_model_name="TriggerModel")
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Note: This package doesn't install dependencies so it won't disrupt specific training environments or custom compilers. For a reference environment, see `environment.yml`.
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
# Creating a kedro pipeline
|
|
181
|
+
|
|
182
|
+
This repository also comes with a default pipeline for trigger models based on kedro.
|
|
183
|
+
One can create a new pipeline via:
|
|
184
|
+
|
|
185
|
+
NOTE: no "-" and upper cases!
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Create a conda environment & activate it
|
|
189
|
+
conda create -n triggerflow python=3.11
|
|
190
|
+
conda activate triggerflow
|
|
191
|
+
|
|
192
|
+
# install triggerflow
|
|
193
|
+
pip install triggerflow
|
|
194
|
+
|
|
195
|
+
# Create a pipeline
|
|
196
|
+
triggerflow new demo_pipeline
|
|
197
|
+
|
|
198
|
+
# NOTE: since we dont install dependency one has to create a
|
|
199
|
+
# conda env based on the environment.yml file of the pipeline
|
|
200
|
+
# this file can be changed to the needs of the indiviual project
|
|
201
|
+
cd demo_pipeline
|
|
202
|
+
conda env update -n triggerflow --file environment.yml
|
|
203
|
+
|
|
204
|
+
# Run Kedro
|
|
205
|
+
kedro run
|
|
206
|
+
```
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
trigger_dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
trigger_dataset/core.py,sha256=ZX96U6rWxxfCatDQbst6IRZvtlyDj1_2JA7stPydGTQ,2645
|
|
3
|
+
trigger_loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
trigger_loader/cluster_manager.py,sha256=XgmY1xeW8zrpQDJqssKamWzjn6TQ60NGNzpcdZwL6NE,3617
|
|
5
|
+
trigger_loader/loader.py,sha256=Qe78Lp4i7rqsSSwQOo_Jwop31LQOdw_ruXYs8Zqzl-Y,5335
|
|
6
|
+
trigger_loader/processor.py,sha256=dQnO7OMpy-f6BkedurbBDiDAqVOxc7ZIsDMGg2Di7Zw,7777
|
|
7
|
+
triggerflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
triggerflow/cli.py,sha256=ZNQb3XQN8Ir6Hp6KX_ugec9bm2kqxLNZ0KdVGJmnqFA,4498
|
|
9
|
+
triggerflow/core.py,sha256=cF8IxcwKh2i2L7QvmvPsVfQFto2UoQ0M-m-x0tjTUV0,22701
|
|
10
|
+
triggerflow/mlflow_wrapper.py,sha256=df2KjBVBoH_Qzv0H3jV6oTr4kx-umO2CFz9R-frfev0,10664
|
|
11
|
+
triggerflow/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
triggerflow/interfaces/uGT.py,sha256=HG6zwHnBmYQtqKm764A4Qd-q_QokpcxLtHaLzEi41hw,5781
|
|
13
|
+
triggerflow/starter/.gitignore,sha256=tH2z_M-tPM9MLWC2wPz1Z43Dq-wdVmb_kVYtrLT3tN4,2052
|
|
14
|
+
triggerflow/starter/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
triggerflow/starter/cookiecutter.json,sha256=neplzXvVe3g6OVqYD8M2olfmjRKNr1UKqmflzP3j1UY,259
|
|
16
|
+
triggerflow/starter/prompts.yml,sha256=j-X_5sOsH2nvE1wg9awdNDtkNiZ7QjbvVKs9d9xyMaM,330
|
|
17
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/.dvcignore,sha256=HYBS6WcsRMYtwnpN9zztNW8gy5wY0ae1qgkkkwlglYM,139
|
|
18
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/.gitignore,sha256=tH2z_M-tPM9MLWC2wPz1Z43Dq-wdVmb_kVYtrLT3tN4,2052
|
|
19
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/.gitlab-ci.yml,sha256=lcahT5HExM3JsqXj3u44cNEmrEl-q97JUrGxPMG6jsQ,941
|
|
20
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/README.md,sha256=4t7erte67zY0Cp6qZco04EkXSXk2lb0uFVXaAx0C154,955
|
|
21
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/dvc.yaml,sha256=G9TOE23-awIEt3BmMH66OCN7x04aPqFdsJDC8VbApVg,74
|
|
22
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/environment.yml,sha256=ev-RAx_5hv2M5NiWNsVHI-YWwmWfCAVg5ozHmYNtzNc,322
|
|
23
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/pyproject.toml,sha256=2maFdFnLln3Q6z8YODT2Wpw-jEi5bKN2yoC-QG3rGVM,1378
|
|
24
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/README.md,sha256=0jCfkFBPK5SqR2wJOKd7XTB9e1yvN0gw4D4Zi3nI8aI,1067
|
|
25
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/logging.yml,sha256=SaMNpZDTQhhuyCV_x6DaW1Vb8BX3WxxcV3euK98XmGg,1038
|
|
26
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/catalog.yml,sha256=_EjIB4CZ0Julf9-qWCxePJcNGOOZFpBWUjPD3dJoojs,2385
|
|
27
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_compile.yml,sha256=I88osguJBIfLWyKJcMZg-TOUL-HOVo0sEbro8tTndBI,392
|
|
29
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_data_processing.yml,sha256=YYWXiyHDzRnr2kIMytw_umfEpazLqPDYRG7USSPwLUo,273
|
|
30
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_load_data.yml,sha256=Jol2shPtxOEtVpju9e8xXsWkiuyuvVrdpLC0LSMezbU,235
|
|
31
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_training.yml,sha256=l4QPLJ66i73sZ7wT03r6aOFWzhhBIIulsBoMsBVOw-g,335
|
|
32
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_validation.yml,sha256=6eBMmMoTJRp0dsTo0Tdjr6Mig3BrrBSlIs_ZN98hyPQ,242
|
|
33
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/catalog.yml,sha256=pnomjkJfHY49vRigtUdTTTtWUCZQRNs3CaPXKmtInH0,2677
|
|
34
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_compile.yml,sha256=yDB39m9OszZaqX67RgcUcwh37EHGWfJAp_WRblwNFI4,397
|
|
36
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_data_processing.yml,sha256=ABcV4sNpIAwsSkkbTk27wIcE_5QEDpaGix1t34mMvjk,278
|
|
37
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_load_data.yml,sha256=fDn4tpNdgwSl-mC6-nUZP_bykj08eeEAt8XrEfHEuzY,240
|
|
38
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_training.yml,sha256=l4QPLJ66i73sZ7wT03r6aOFWzhhBIIulsBoMsBVOw-g,335
|
|
39
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_validation.yml,sha256=zroINrWbzGvp1A2TiYdO_bp8LuPav0fIpVa1fbK8dGc,244
|
|
40
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/condor_config.json,sha256=Xqv7bGHh3xIIgW0a-JYuIOqrRLIsnZ7beWQhL2w9S2c,219
|
|
42
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/cuda_config.json,sha256=sIcpqZElUyPd4toQYoK5KZeWMOlTax_tkVOEMRp5o8k,57
|
|
43
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/samples.json,sha256=bkqck2NiKKnwq95vA9Z6sFKRjsacIrhqR-MW24Euht8,617
|
|
44
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/settings.json,sha256=bh9TE-FQpLbKqE3yydzl9_r1rMArsJyNptBKk1VdZVs,154
|
|
45
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/test.root,sha256=xc56ojj7s68mPIL7NLuUwBLUUjZ2iF64mKLPD2rqVaY,11198402
|
|
46
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/02_loaded/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/03_preprocessed/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/04_models/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/05_validation/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/06_compile/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/data/07_reporting/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__init__.py,sha256=a-MTXhipkVaDsY3XW0DVoRSmAxbE4_NRNQo7lT4IqsM,59
|
|
53
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__main__.py,sha256=YGS0Nx3OcMauvo68ReZhvznjKK_XoEUzLcnTdP1806g,659
|
|
54
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipeline_registry.py,sha256=LZHowiYdVJu2N1I0G2u2l7IcTU44FM8a4u_EAXZBpTk,435
|
|
55
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/settings.py,sha256=TRMhMNzWwELn7LuO3Xswbrcidxb4uP-0-YhvCSgglFg,1648
|
|
56
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/any_object.py,sha256=0y5nOkz17N8rr8b8U053eOQ2DUmPakAhdBfJmvd-npQ,367
|
|
57
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/base_dataset.py,sha256=VZityUPdOigfGrqj9TMT5DtyYpMS5jXfoBmlfRGmF5Q,4972
|
|
58
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/base_loader.py,sha256=i1c6JP26gUoRqIxBrxpouPmCbe1veU23Uf6HkbzGc2k,3351
|
|
59
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/meta_dataset.py,sha256=zZtrYAx3CtlTjh9dGfAmZMYkQ-E2HPh6lFiQXy8VzHo,1666
|
|
60
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/{{ cookiecutter.python_package }}_dataset.py,sha256=VLj4E7hsxZwswVKxyPCYrCzJ5ZCunSvNyijCWHzrPUo,936
|
|
61
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/{{ cookiecutter.python_package }}_loader.py,sha256=J-7W2cfvs8F2EbDww_4UFE86Wp4-2L0E3Ca8_OAbTgw,890
|
|
62
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/base_model.py,sha256=PJ1S_1qIk8UyMvoGEY7UiHE7nilE4xrnwWVY9gPRh_k,4788
|
|
64
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/{{ cookiecutter.python_package }}_model.py,sha256=VkHps3wrtQcfM-CA_Ic6fsw-VSJv_FZcrSRfIKBJ1Xs,419
|
|
65
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/__init__.py,sha256=X2jAlHHzleo1Pb9hKoh4aHOo3L6BqrnlsAxA4AVBfMM,168
|
|
66
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/nodes.py,sha256=zMpr808yNtfmBBYw1XkwhjpGX4ncJsMoDIwpxiOqYP0,1825
|
|
67
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/pipeline.py,sha256=abfjL5_GT9eS9CItVJIlEiF9-mqAB_COjOhsRpy44x8,560
|
|
68
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/__init__.py,sha256=Eflz9--0_L6PipS2SW9vmSKR3g0yZBjxbEnNoZ9bjQM,176
|
|
69
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/nodes.py,sha256=lfZ8eh_T4TTfZvJqi56_XGYSopX8p-AGSZKqab_H4hk,1067
|
|
70
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/pipeline.py,sha256=PjFIWN0esIMUQ2-b1fz2FZNY7Tbn5tymBW6tF57Tm04,989
|
|
71
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/__init__.py,sha256=M4_hXNbopG9IGnCLazqQLMT5yjMoNdUbyimcmaIFX0U,175
|
|
72
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/nodes.py,sha256=VdpnO9pWrjbHi5OqmiEJ41C8Ry3J0bIDhZda8MClDzU,333
|
|
73
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/pipeline.py,sha256=h2K8_zxK8A0j-K_NYktxLK34jPKmRzSX65jZ7IDQwXY,609
|
|
74
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/__init__.py,sha256=M4_hXNbopG9IGnCLazqQLMT5yjMoNdUbyimcmaIFX0U,175
|
|
75
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/nodes.py,sha256=jLc_KTDLjA8BRWN6j8V5w0MsUVxODTDOS1Mzkn625HM,1642
|
|
76
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/pipeline.py,sha256=Cv8f3PKhfCGdVX3WKn0URoBxetk_d17WWyV836fzZFw,678
|
|
77
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/__init__.py,sha256=uHp2bxK1LF7_NXcftYOb1wb4QU41_cGL_VV2-J18lJw,177
|
|
78
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/nodes.py,sha256=EIL1kEXkzZnVoCKSKAb4Xvuwtwy0UQKw6XNHPi-kG9M,703
|
|
79
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/pipeline.py,sha256=iUhZhIJ2waEQpCxn6iGEaM28VTtAC47gUww_DkQ-VIo,654
|
|
80
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/metric.py,sha256=nS5PCf2VaLlgl44uqAcz-PraQ3GW53coeVbuG9c19R0,82
|
|
82
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/plotting.py,sha256=YkB8bll9dtRiQ0gIbLDdKR2afG6OYVrFmhLwPP60oJ8,18527
|
|
83
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/test_run.py,sha256=aGLSgzTBQGKPcezqsMDmxMj3vNZBV7VTaPwpd4XwIrQ,912
|
|
85
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/test_pipeline.py,sha256=bhbQ8Pteov85kD_4rH6oaJFmxoO--zgE5BWBwv7bYog,290
|
|
88
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/test_pipeline.py,sha256=LhrGZ619rDs3Mr2wsR6iysATVYj9pSBrsBJZrtlhGUg,298
|
|
90
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/test_pipeline.py,sha256=BlPsVwdspuEuQwvyVcPztAQFN6aSo1Z0Y1WK4BBJbhk,292
|
|
92
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/test_pipeline.py,sha256=0N747l50lEmjAgCy9K8LrNMW436edMUMo1E7tS4MADY,297
|
|
94
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
+
triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/test_pipeline.py,sha256=2BTupcyuFEXTyMrGLVmF6Yv0CAZcdedc7fxEfmLGmxo,299
|
|
96
|
+
triggerflow/templates/build_ugt.tcl,sha256=P1y42s9Ju6zDyRskCVlD-vSnblAmTafw7Jpzsq4_HWA,1061
|
|
97
|
+
triggerflow/templates/data_types.h,sha256=m7_jLsRixSVjp8auxHZUUNAcSO777C5TTZl__9ENk90,12640
|
|
98
|
+
triggerflow/templates/makefile,sha256=A-aetsLC51Bop0T_-yPY8Z8Hg29ApN4YPvKx_jjPuHw,970
|
|
99
|
+
triggerflow/templates/makefile_version,sha256=6kFc_u2oiM9l2rH7RK_BLzdZu1ZEK8PQTQKGBLRY0v4,328
|
|
100
|
+
triggerflow/templates/model-gt.cpp,sha256=C2TvGeF1YBKI5H3GdbNAVDNjDA_c8awP_g7Zae4kADc,2966
|
|
101
|
+
triggerflow/templates/model_template.cpp,sha256=bQvmoeFWZs3oT6zg2Jpp4Ga-llcAErX-1gwiNsTQTRk,1709
|
|
102
|
+
triggerflow/templates/scales.h,sha256=MFcB5S0DEvfzHuUhyZqILR0O4ktugOG-fLnuCDUUewM,373
|
|
103
|
+
triggerflow-0.3.4.dist-info/METADATA,sha256=CF-6X7AI4cL-puBxw6zSuBSdqJyvd5fd4jb8CbygNck,6027
|
|
104
|
+
triggerflow-0.3.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
105
|
+
triggerflow-0.3.4.dist-info/entry_points.txt,sha256=5QSV9YDseB_FqgVh9q10BdL4b1I6t68rGwPLXgVL60g,53
|
|
106
|
+
triggerflow-0.3.4.dist-info/top_level.txt,sha256=cX0jkuM9tfxGp002ZBQ1AYgx-6D_NgBtomgPL0WA9bE,43
|
|
107
|
+
triggerflow-0.3.4.dist-info/RECORD,,
|