Belle II Software
release-08-02-06
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
x
z
Typedefs
a
b
c
d
e
g
i
k
l
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
e
f
g
n
p
s
v
z
Enumerator
c
d
f
p
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
k
l
m
n
o
p
r
s
t
u
v
w
z
Related Functions
b
c
d
g
i
o
r
s
t
Files
File List
File Members
All
Functions
Typedefs
Macros
trgcdc_neurorootconverter.cc
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
9
#include <trg/cdc/NeuroTrigger.h>
10
#include <trg/cdc/NeuroTriggerParameters.h>
11
#include <trg/cdc/dataobjects/CDCTriggerMLP.h>
12
#include <nlohmann/json.hpp>
13
#include <fstream>
14
#include <iostream>
15
16
using namespace
Belle2
;
17
18
int
main
(
int
argc,
const
char
* argv[])
19
{
20
21
// get arguments
22
if
(argc < 4) {
23
std::cout <<
"Program needs at 3 arguments:"
<< std::endl
24
<<
" 1: json weights"
<< std::endl
25
<<
" 2: configuration file name"
<< std::endl
26
<<
" 3: output filename"
<< std::endl;
27
return
-1;
28
}
29
std::string jsonweights = argv[1];
30
std::string configfile = argv[2];
31
std::string outputfile = argv[3];
32
33
NeuroTriggerParameters
p(configfile);
34
NeuroTrigger
m_nnt;
35
m_nnt.
initialize
(p);
36
std::ifstream netfile(jsonweights, std::ifstream::binary);
37
nlohmann::json nets;
38
netfile >> nets;
39
40
for
(
unsigned
expert = 0; expert < m_nnt.
nSectors
(); expert++) {
41
42
std::vector<float> weights;
43
for
(
unsigned
i = 0; i < nets[
"expert_"
+ std::to_string(expert)][
"shapes"
].size(); i = i + 2) {
44
int
numnode = 0;
45
for
(
auto
node : nets[
"expert_"
+ std::to_string(expert)][
"weights"
][
"model.net."
+ std::to_string(i) +
".weight"
]) {
46
for
(
float
w : node) {
47
weights.push_back(w);
48
}
49
weights.push_back(nets[
"expert_"
+ std::to_string(expert)][
"weights"
][
"model.net."
+ std::to_string(i) +
".bias"
][numnode]);
50
++numnode;
51
}
52
}
53
std::cout <<
" writing "
<< weights.size() <<
" weights for expert "
<< expert << std::endl;
54
m_nnt[expert].setWeights(weights);
55
}
56
m_nnt.
save
(outputfile,
"MLPs"
);
57
58
59
return
0;
60
}
Belle2::NeuroTriggerParameters
Definition:
NeuroTriggerParameters.h:70
Belle2::NeuroTrigger
Class to represent the CDC Neurotrigger.
Definition:
NeuroTrigger.h:40
Belle2::NeuroTrigger::initialize
void initialize(const Parameters &p)
Set parameters and get some network independent parameters.
Belle2::NeuroTrigger::save
void save(const std::string &filename, const std::string &arrayname="MLPs")
Save MLPs to file.
Definition:
NeuroTrigger.cc:1130
Belle2::NeuroTrigger::nSectors
unsigned nSectors() const
return number of neural networks
Definition:
NeuroTrigger.h:164
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:17
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:91
trg
cdc
tools
trgcdc_neurorootconverter.cc
Generated on Tue Jan 28 2025 01:59:03 for Belle II Software by
1.9.1