Repository URL to install this package:
|
Version:
2.7.2 ▾
|
syntax = "proto3";
import "sarus_synthetic_data/protobuf/synthesizer.proto";
import "google/protobuf/any.proto";
message Query {
message DPSGD {
Model model = 1;
string optimizer = 2;
string loss = 3;
float learning_rate = 4;
int32 batch_size = 5;
int32 epochs = 6;
float noise_multiplier = 7;
int32 microbatches = 8;
float l2_clipping_bound = 9;
}
message SyntheticDPSGD {
GeneratorParams generator = 1;
int32 batch_size = 2;
float noise_multiplier = 3;
float sampling_ratio = 4;
}
message Marginals{
float noise = 1;
}
message Bounds{
float noise = 1;
}
message Size{
float noise = 1;
}
message Links{
int32 nb_quantiles = 1;
float sampling_ratio_quantiles = 2;
float noise = 3;
}
message MaxMultiplicity{
float max_max_multiplicity = 1;
float noise = 2;
float epsilon_queries = 3;
}
message XGBoost{
string objective = 1;
int32 max_depth = 4;
float learning_rate = 5;
float lambd = 6;
float base_score = 7;
float subsample = 8;
float min_child_weight = 9;
int32 nthread = 10;
int32 n_estimators = 11;
int32 verbose = 12;
int32 early_stopping_rounds = 13;
string booster = 14;
float dp_epsilon_per_tree = 15;
}
message SQL {
string sql_query = 1;
bool sql_unlimited = 2;
float epsilon = 3;
float delta = 4;
}
message LaplaceMechanism {
float noise = 1;
}
message GaussianMechanism {
float noise = 1;
}
message EpsilonMechanism {
float epsilon = 1;
}
message Sum {
float noise = 1;
}
message Mean {
float noise = 1;
}
message Median {
float noise = 1;
}
message Std {
float noise_mean = 1;
float noise_square = 2;
float noise_count = 3;
}
message Covariance {
float epsilon = 1;
int32 dims = 2;
}
message TauThresholding {
float epsilon_tau_thresholding =1;
float delta_tau_thresholding =2;
}
oneof parameters {
Query.DPSGD dpsgd = 1;
Query.Marginals marginals = 2;
Query.SQL sql = 3;
Query.Size size = 4;
Query.Bounds bounds = 5;
Query.MaxMultiplicity max_multiplicity = 6;
Query.XGBoost xgboost = 7;
Query.SyntheticDPSGD synthetic_dpsgd = 8;
Query.Links links = 9;
Query.LaplaceMechanism laplace_mechanism = 10;
Query.GaussianMechanism gaussian_mechanism = 11;
Query.EpsilonMechanism epsilon_mechanism = 12;
Query.Sum sum = 13;
Query.Mean mean = 14;
Query.Median median = 15;
Query.Std std = 16;
Query.Covariance covariance = 17;
Query.TauThresholding tau_thresholding = 18;
}
}
message Model {
bytes protobuf = 1;
map<string, bytes> assets = 2;
map<string, bytes> variables = 3;
bytes keras_metadata = 4;
}
// Tasks returned by the QB
message DPSGD {
Model model = 1;
string optimizer = 2;
string loss = 3;
float learning_rate = 4;
int32 batch_size = 5;
int32 epochs = 6;
float noise_multiplier = 7;
int32 microbatches = 8;
float l2_clipping_bound = 9;
}
message SyntheticData {
float sampling_ratio = 1;
GeneratorParams generator = 2;
}
message ComposedTask {
repeated google.protobuf.Any subtasks = 1;
}
message GenericTask { // for standard mechanisms (Laplace, Gaussian ...)
map<string, float> parameters = 1;
}