mirror of
https://github.com/socathie/circomlib-ml.git
synced 2026-01-10 06:28:08 -05:00
41 lines
896 B
Plaintext
41 lines
896 B
Plaintext
pragma circom 2.0.3;
|
|
|
|
include "../../circuits/Dense.circom";
|
|
include "../../circuits/ReLU.circom";
|
|
|
|
template model1() {
|
|
signal input in[3];
|
|
signal input Dense32weights[3][2];
|
|
signal input Dense21weights[2][1];
|
|
signal output out;
|
|
|
|
component Dense32 = Dense(3,2);
|
|
component relu = ReLU(2,1);
|
|
component Dense21 = Dense(2,1);
|
|
|
|
for (var i=0; i<3; i++) {
|
|
Dense32.in[i] <== in[i];
|
|
for (var j=0; j<2; j++) {
|
|
Dense32.weights[i][j] <== Dense32weights[i][j];
|
|
}
|
|
}
|
|
|
|
for (var i=0; i<2; i++) {
|
|
Dense32.bias[i] <== 0;
|
|
}
|
|
|
|
for (var i=0; i<2; i++) {
|
|
relu.in[i][0] <== Dense32.out[i];
|
|
}
|
|
|
|
for (var i=0; i<2; i++) {
|
|
Dense21.in[i] <== relu.out[i][0];
|
|
Dense21.weights[i][0] <== Dense21weights[i][0];
|
|
}
|
|
|
|
Dense21.bias[0] <== 0;
|
|
|
|
out <== Dense21.out[0];
|
|
}
|
|
|
|
component main = model1(); |