Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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;
}