mirror of
https://github.com/MPCStats/zk-stats-lib.git
synced 2026-01-10 05:57:55 -05:00
update examples
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,31 +1,8 @@
|
||||
{
|
||||
"input_data": [
|
||||
[
|
||||
23.2, 92.8, 91.0, 37.2, 82.0, 15.5, 79.3, 46.6, 98.1, 75.5, 78.9, 77.6,
|
||||
33.8, 75.7, 96.8, 12.3, 18.4, 13.4, 6.0, 8.2, 25.8, 41.3, 68.5, 15.2,
|
||||
74.7, 72.7, 18.0, 42.2, 36.1, 76.7, 1.2, 96.4, 4.9, 92.0, 12.8, 28.2,
|
||||
61.8, 56.9, 44.3, 50.4, 81.6, 72.5, 12.9, 40.3, 12.8, 28.8, 36.3, 16.1,
|
||||
68.4, 35.3, 79.2, 48.4, 97.1, 93.7, 77.0, 48.7, 93.7, 54.1, 65.4, 30.8,
|
||||
34.4, 31.4, 78.7, 12.7, 90.7, 39.4, 86.0, 55.9, 6.8, 22.2, 65.3, 18.8,
|
||||
7.1, 55.9, 38.6, 15.6, 59.2, 77.3, 76.9, 11.9, 19.9, 19.4, 54.3, 39.4,
|
||||
4.0, 61.1, 16.8, 81.9, 49.3, 76.9, 19.2, 68.2, 54.4, 70.2, 89.8, 23.4,
|
||||
67.5, 18.7, 10.8, 80.7, 80.3, 96.2, 62.3, 17.2, 23.0, 98.0, 19.1, 8.1,
|
||||
36.2, 7.5, 55.9, 1.2, 56.8, 85.1, 18.9, 23.0, 13.5, 64.3, 9.1, 14.1, 14.1,
|
||||
23.1, 73.2, 86.6, 39.1, 45.5, 85.0, 79.0, 15.8, 5.2, 81.5, 34.3, 24.3,
|
||||
14.2, 84.6, 33.7, 86.3, 83.3, 62.8, 72.7, 14.7, 36.8, 92.5, 4.7, 30.0,
|
||||
59.4, 57.6, 37.4, 22.0, 20.9, 61.6, 26.8, 47.1, 63.6, 6.0, 96.6, 61.2,
|
||||
80.2, 59.3, 23.1, 29.3, 46.3, 89.2, 77.6, 83.2, 87.2, 63.2, 81.8, 55.0,
|
||||
59.7, 57.8, 43.4, 92.4, 66.9, 82.1, 51.0, 22.1, 29.9, 41.0, 85.2, 61.5,
|
||||
14.6, 48.0, 52.7, 31.4, 83.9, 35.5, 77.3, 35.8, 32.6, 22.2, 19.3, 49.1,
|
||||
70.9, 43.9, 88.8, 56.3, 41.8, 90.3, 20.4, 80.4, 36.4, 91.5, 69.6, 75.3,
|
||||
92.4, 84.8, 17.7, 2.3, 41.3, 91.3, 68.6, 73.3, 62.5, 60.5, 73.5, 70.7,
|
||||
77.5, 76.8, 98.1, 40.9, 66.3, 8.6, 48.9, 75.4, 14.7, 35.9, 89.6, 15.1,
|
||||
45.0, 77.6, 30.5, 76.1, 46.9, 34.3, 65.1, 43.9, 91.6, 88.8, 8.9, 42.9,
|
||||
11.8, 32.1, 20.1, 48.9, 79.7, 15.3, 45.4, 80.1, 73.1, 76.5, 52.4, 9.6,
|
||||
41.9, 52.7, 55.1, 30.9, 83.7, 46.7, 39.3, 40.5, 52.4, 19.2, 25.8, 52.7,
|
||||
81.0, 38.0, 54.5, 15.3, 64.3, 88.3, 49.8, 90.5, 90.4, 79.7, 87.3, 32.3,
|
||||
11.9, 5.7, 33.6, 75.1, 65.9, 29.1, 39.4, 87.5, 3.3, 66.3, 79.0, 97.9,
|
||||
69.6, 22.0, 62.8, 97.1, 90.4, 39.5, 11.7, 30.3, 18.9, 34.6, 6.6
|
||||
]
|
||||
"x": [
|
||||
0, 1, 2, 3, 4
|
||||
],
|
||||
"y": [
|
||||
2.0, 5.2, 47.4, 23.6, 24.8
|
||||
]
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"x": [
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
|
||||
40, 41, 42, 43, 44, 45, 46, 47, 48, 49
|
||||
0, 1, 2, 3, 4, 5
|
||||
],
|
||||
"y": [
|
||||
2.0, 5.2, 47.4, 23.6, 24.8, 27.0, 47.2, 50.4, 58.6, 57.8, 60.0, 27.2, 40.4,
|
||||
63.6, 28.8, 19.0, 65.2, 50.4, 63.6, 24.8, 35.0, 41.2, 54.4, 61.6, 57.8,
|
||||
78.0, 63.2, 55.4, 78.6, 72.8, 51.0, 62.2, 42.4, 47.6, 83.8, 62.0, 47.26,
|
||||
90.4, 80.6, 87.8, 82.0, 50.2, 80.4, 86.6, 80.8, 66.0, 95.2, 58.4, 74.6, 95.8
|
||||
2.0, 5.2, 47.4, 23.6, 24.8, 27.0
|
||||
]
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -138,6 +138,17 @@
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [1]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
@@ -204,7 +215,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, 'default', \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -297,7 +308,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -331,7 +342,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -131,6 +131,17 @@
|
||||
"theory_output = torch.div(1.0,torch.mean(torch.div(1.0,data_tensor)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [6]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
@@ -181,7 +192,7 @@
|
||||
" def forward(self,X):\n",
|
||||
" return (torch.abs((self.w*torch.sum(torch.div(1.0,X)))-X.size()[1])<=torch.abs(0.1*X.size()[1]), self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [6], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -245,7 +256,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -274,7 +285,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
" count_equal = torch.sum((torch.abs(X-median)<=torch.abs(0.01*median)).double())\n",
|
||||
" len = X.size()[1]\n",
|
||||
" half_len = torch.floor(torch.div(len, 2))\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" # not support modulo yet\n",
|
||||
" less_cons = count_less<half_len+2*(len/2 - torch.floor(len/2))\n",
|
||||
" more_cons = count_less+count_equal>half_len\n",
|
||||
@@ -198,7 +198,7 @@
|
||||
"\n",
|
||||
" median_in_cons = torch.logical_and(less_cons, more_cons)\n",
|
||||
" median_out_cons = torch.logical_and(torch.logical_and(bound, bound_avg), torch.logical_and(torch.logical_and(lower_cons, upper_cons), torch.logical_and(lower_exist, upper_exist)))\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" return(torch.where(count_equal==0, median_out_cons, median_in_cons), median)\n"
|
||||
]
|
||||
},
|
||||
@@ -212,6 +212,17 @@
|
||||
" return (torch.abs(torch.sum(X)-X.size()[1]*(mean))<=torch.abs(0.01*X.size()[1]*mean), mean)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [1]\n",
|
||||
"selected_columns = ['col_1', 'col_2']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
@@ -257,7 +268,7 @@
|
||||
" bool3, output_mean = mean(torch.tensor([median1, median2]).reshape(1,-1,1), self.mean)\n",
|
||||
" return (torch.logical_and(torch.logical_and(bool1, bool2),bool3), output_mean )\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_1', 'col_2'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
@@ -315,9 +326,9 @@
|
||||
" bool3, output_mean = mean(torch.tensor([median1, median2]).reshape(1,-1,1), self.mean)\n",
|
||||
" return (torch.logical_and(torch.logical_and(bool1, bool2),bool3), output_mean )\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"prover_gen_settings(data_path,['col_1', 'col_2'], sel_data_path, prover_model,prover_model_path, 'default', \"resources\", settings_path)"
|
||||
"\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_1', 'col_2'], sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -381,7 +392,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -410,7 +421,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -437,7 +448,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
@@ -149,6 +149,17 @@
|
||||
"theory_output = torch.mean(data_tensor)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [5]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
@@ -205,8 +216,8 @@
|
||||
"\n",
|
||||
" def forward(self,X):\n",
|
||||
" return (torch.abs(torch.sum(X)-X.size()[1]*(self.w))<=torch.abs(0.01*X.size()[1]*self.w), self.w)\n",
|
||||
" \n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [5], \"resources\", settings_path)"
|
||||
"\n",
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -301,7 +312,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -321,7 +332,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
@@ -137,6 +137,17 @@
|
||||
"theory_output = torch.mean(data_tensor)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [15]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
@@ -161,7 +172,7 @@
|
||||
" def forward(self,X):\n",
|
||||
" return (torch.tensor(1), torch.mean(X))\n",
|
||||
" # return (torch.abs(torch.sum(X)-X.size()[1]*(self.w))<=torch.abs(0.01*X.size()[1]*self.w), self.w)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
@@ -201,7 +212,7 @@
|
||||
" def forward(self,X):\n",
|
||||
" return (torch.tensor(1),torch.mean(X))\n",
|
||||
" # return (torch.abs(torch.sum(X)-X.size()[1]*(self.w))<=torch.abs(0.01*X.size()[1]*self.w), self.w)\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [15], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -253,7 +264,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -282,7 +293,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, 'default', \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, 'default', \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -364,7 +364,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -160,6 +160,17 @@
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [1]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
@@ -195,7 +206,7 @@
|
||||
" count_equal = torch.sum((torch.abs(X-self.w)<=torch.abs(0.01*self.w)).double())\n",
|
||||
" result = torch.tensor([torch.sum((torch.abs(X-ele[0])<=torch.abs(0.01*ele[0])).double())<=count_equal for ele in X[0]])\n",
|
||||
" return (torch.sum(result) == X.size()[1], self.w)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
@@ -245,7 +256,7 @@
|
||||
" result = torch.tensor([torch.sum((torch.abs(X-ele[0])<=torch.abs(0.01*ele[0])).double())<=count_equal for ele in X[0]])\n",
|
||||
" return (torch.sum(result) == X.size()[1], self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, 'default', \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -309,7 +320,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -338,7 +349,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -133,6 +133,17 @@
|
||||
"data_mean = torch.mean(data_tensor)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
@@ -160,7 +171,7 @@
|
||||
" # since we square\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*self.w*X.size()[1])<=torch.abs(0.02*self.w*self.w*X.size()[1]),x_mean_cons ),self.w)\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
@@ -193,7 +204,7 @@
|
||||
" # since we square\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*self.w*X.size()[1])<=torch.abs(0.02*self.w*self.w*X.size()[1]),x_mean_cons ),self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -257,7 +268,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -286,7 +297,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -133,6 +133,17 @@
|
||||
"data_mean = torch.mean(data_tensor)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
@@ -191,7 +202,7 @@
|
||||
" x_mean_cons = torch.abs(torch.sum(X)-X.size()[1]*(self.data_mean))<=torch.abs(0.01*X.size()[1]*self.data_mean)\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*X.size()[1])<=torch.abs(0.01*self.w*X.size()[1]),x_mean_cons ),self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -255,7 +266,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -284,7 +295,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -155,6 +155,17 @@
|
||||
"dummy_w_tensor = torch.tensor(dummy_w_vals).reshape(1,-1,1)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [0]\n",
|
||||
"selected_columns = ['x1', 'x2', 'y']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
@@ -176,9 +187,9 @@
|
||||
" torch.sum(torch.abs(X_T @ X_one @ self.w - X_T @ Y)) <= 0.01 * torch.sum(torch.abs(X_T @ Y)),\n",
|
||||
" self.w\n",
|
||||
" )\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['x1','x2','y'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns, sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -219,7 +230,7 @@
|
||||
" self.w\n",
|
||||
" )\n",
|
||||
"# try scale = [3] for more accuracy\n",
|
||||
"prover_gen_settings(data_path,['x1','x2','y'], sel_data_path, prover_model,prover_model_path, [0], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -287,7 +298,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -317,7 +328,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -344,7 +355,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
@@ -142,6 +142,17 @@
|
||||
"print(dummy_theory_output)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
@@ -160,7 +171,7 @@
|
||||
" x_mean_cons = torch.abs(torch.sum(X)-X.size()[1]*(self.data_mean))<=torch.abs(0.01*X.size()[1]*self.data_mean)\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*self.w*(X.size()[1]-1))<=torch.abs(0.02*self.w*self.w*(X.size()[1]-1)),x_mean_cons),self.w)\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns, sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -192,7 +203,7 @@
|
||||
" x_mean_cons = torch.abs(torch.sum(X)-X.size()[1]*(self.data_mean))<=torch.abs(0.01*X.size()[1]*self.data_mean)\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*self.w*(X.size()[1]-1))<=torch.abs(0.02*self.w*self.w*(X.size()[1]-1)),x_mean_cons),self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -262,7 +273,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -291,7 +302,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -318,7 +329,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
@@ -133,6 +133,17 @@
|
||||
"data_mean = torch.mean(data_tensor)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
@@ -160,7 +171,7 @@
|
||||
" x_mean_cons = torch.abs(torch.sum(X)-X.size()[1]*(self.data_mean))<=torch.abs(0.01*X.size()[1]*self.data_mean)\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*(X.size()[1]-1))<=torch.abs(0.01*self.w*(X.size()[1]-1)),x_mean_cons ),self.w)\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -193,7 +204,7 @@
|
||||
" return (torch.logical_and(torch.abs(torch.sum((X-self.data_mean)*(X-self.data_mean))-self.w*(X.size()[1]-1))<=torch.abs(0.01*self.w*(X.size()[1]-1)),x_mean_cons ),self.w)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -257,7 +268,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -286,7 +297,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -139,6 +139,17 @@
|
||||
"theory_output = torch.exp(torch.mean(torch.log(gt20_data_tensor)))\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [8]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
@@ -167,8 +178,8 @@
|
||||
" num_fil_X = torch.sum(filter.double())\n",
|
||||
" fil_X = torch.where(filter, X, 1.0)\n",
|
||||
" return (torch.abs((torch.log(self.w)*num_fil_X)-torch.sum(torch.log(fil_X)))<=num_fil_X*torch.log(torch.tensor(1.01)), self.w)\n",
|
||||
" \n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns, sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -205,7 +216,7 @@
|
||||
" super(prover_model, self).__init__()\n",
|
||||
" # w represents mean in this case\n",
|
||||
" self.w = nn.Parameter(data = theory_output, requires_grad = False)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" def forward(self,X):\n",
|
||||
" # where part\n",
|
||||
" filter = (X>20)\n",
|
||||
@@ -214,8 +225,8 @@
|
||||
" print('self w: ', self.w)\n",
|
||||
" return (torch.abs((torch.log(self.w)*num_fil_X)-torch.sum(torch.log(fil_X)))<=num_fil_X*torch.log(torch.tensor(1.01)), self.w)\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [8], \"resources\", settings_path)"
|
||||
"\n",
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -279,7 +290,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -314,7 +325,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
"\n",
|
||||
"data = np.array(json.loads(open(data_path, \"r\").read())['col_name'])\n",
|
||||
"data_tensor = torch.reshape(torch.tensor(data),(1,-1, 1))\n",
|
||||
"# remember that our create_dummy creates random numbers in range 1 - 30, so need to make sure this example the filter doesnt \n",
|
||||
"# remember that our create_dummy creates random numbers in range 1 - 30, so need to make sure this example the filter doesnt\n",
|
||||
"# get filter out all data\n",
|
||||
"create_dummy(data_path, dummy_data_path)\n",
|
||||
"dummy_data = np.array(json.loads(open(dummy_data_path, \"r\").read())['col_name'])\n",
|
||||
@@ -142,6 +142,17 @@
|
||||
"theory_output = torch.mean(gt20_data_tensor)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 36,
|
||||
@@ -161,9 +172,9 @@
|
||||
" num_fil_X = torch.sum(filter.double())\n",
|
||||
" fil_X = torch.where(filter, X, 0.0)\n",
|
||||
" return (torch.abs(torch.sum(fil_X)-num_fil_X*self.w)<=torch.abs(0.01*num_fil_X*self.w), self.w)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -192,7 +203,7 @@
|
||||
" super(prover_model, self).__init__()\n",
|
||||
" # w represents mean in this case\n",
|
||||
" self.w = nn.Parameter(data = theory_output, requires_grad = False)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" def forward(self,X):\n",
|
||||
" # where part\n",
|
||||
" filter = (X>20)\n",
|
||||
@@ -200,9 +211,9 @@
|
||||
" fil_X = torch.where(filter, X, 0.0)\n",
|
||||
"\n",
|
||||
" return (torch.abs(torch.sum(fil_X)-num_fil_X*self.w)<=torch.abs(0.01*num_fil_X*self.w), self.w)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"\n",
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -266,7 +277,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -295,7 +306,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -140,6 +140,17 @@
|
||||
"upper_to_median = torch.tensor(np.sort(data[data<50])[int(len(data[data<50])/2)])\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 39,
|
||||
@@ -173,7 +184,7 @@
|
||||
" num_fil_X = X.size()[1]-num_lowest\n",
|
||||
" min_X = torch.min(X)\n",
|
||||
" fil_X = torch.where(filter, X, min_X-1)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" count_less = torch.sum((fil_X < 0.99*self.w).double()) - num_lowest\n",
|
||||
" count_equal = torch.sum((torch.abs(fil_X-self.w)<=torch.abs(0.01*self.w)).double())\n",
|
||||
" half_len = torch.floor(torch.div(num_fil_X, 2))\n",
|
||||
@@ -193,11 +204,11 @@
|
||||
"\n",
|
||||
" median_in_cons = torch.logical_and(less_cons, more_cons)\n",
|
||||
" median_out_cons = torch.logical_and(torch.logical_and(bound, bound_avg), torch.logical_and(torch.logical_and(lower_cons, upper_cons), torch.logical_and(lower_exist, upper_exist)))\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" return(torch.where(count_equal==0, median_out_cons, median_in_cons), self.w)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -234,7 +245,7 @@
|
||||
" num_fil_X = X.size()[1]-num_lowest\n",
|
||||
" min_X = torch.min(X)\n",
|
||||
" fil_X = torch.where(filter, X, min_X-1)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" count_less = torch.sum((fil_X < 0.99*self.w).double()) - num_lowest\n",
|
||||
" count_equal = torch.sum((torch.abs(fil_X-self.w)<=torch.abs(0.01*self.w)).double())\n",
|
||||
" half_len = torch.floor(torch.div(num_fil_X, 2))\n",
|
||||
@@ -258,7 +269,7 @@
|
||||
" return(torch.where(count_equal==0, median_out_cons, median_in_cons), self.w)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path,selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -322,7 +333,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -351,7 +362,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -155,6 +155,17 @@
|
||||
"theory_output = torch.tensor(mode_within(data[data>20],1))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
@@ -189,7 +200,7 @@
|
||||
" return (torch.sum(result) == X.size()[1], self.w)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -242,7 +253,7 @@
|
||||
" result = torch.tensor([torch.logical_or(torch.sum((torch.abs(X-ele[0])<=torch.abs(0.01*ele[0])).double())<=count_equal, torch.abs(min_X-1-ele[0])<=torch.abs(0.01*ele[0])) for ele in X[0]])\n",
|
||||
" return (torch.sum(result) == X.size()[1], self.w)\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path,selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -306,7 +317,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -335,7 +346,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -168,6 +168,17 @@
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [0]\n",
|
||||
"selected_columns = ['x1', 'x2', 'y']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
@@ -186,12 +197,12 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier/ data consumer side:\n",
|
||||
"# Want to calculate regression of y over \n",
|
||||
"# Want to calculate regression of y over\n",
|
||||
"class verifier_model(nn.Module):\n",
|
||||
" def __init__(self):\n",
|
||||
" super(verifier_model, self).__init__()\n",
|
||||
" self.w = nn.Parameter(data = lt20_dummy_w_tensor, requires_grad = False)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" def forward(self, *args):\n",
|
||||
" # infer Y from the last parameter\n",
|
||||
" Y = args[-1]\n",
|
||||
@@ -206,7 +217,7 @@
|
||||
" self.w\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, ['x1','x2','y'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -258,8 +269,8 @@
|
||||
" torch.sum(torch.abs(fil_X_T @ fil_X_one @ self.w - fil_X_T @ fil_Y)) <= 0.01 * torch.sum(torch.abs(fil_X_T @ fil_Y)),\n",
|
||||
" self.w\n",
|
||||
" )\n",
|
||||
" \n",
|
||||
"prover_gen_settings(data_path,['x1','x2','y'], sel_data_path, prover_model,prover_model_path, [0], \"resources\", settings_path)"
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -333,7 +344,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -363,7 +374,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -390,7 +401,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.0"
|
||||
"version": "3.12.1"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
"# Note, here we make\n",
|
||||
"gt5_data_tensor = data_tensor[data_tensor > 5].reshape(1,-1,1)\n",
|
||||
"\n",
|
||||
"create_dummy(data_path, dummy_data_path) \n",
|
||||
"create_dummy(data_path, dummy_data_path)\n",
|
||||
"dummy_data = np.array(json.loads(open(dummy_data_path, \"r\").read())['col_name'])\n",
|
||||
"\n",
|
||||
"dummy_data_tensor = torch.reshape(torch.tensor(dummy_data), (1,-1,1))\n",
|
||||
@@ -152,6 +152,17 @@
|
||||
"print(data_mean)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"scales = [2]\n",
|
||||
"selected_columns = ['col_name']\n",
|
||||
"commitment_maps = get_data_commitment_maps(data_path, scales)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 82,
|
||||
@@ -186,8 +197,8 @@
|
||||
" fil_std_X = torch.where(filter, X, self.data_mean)\n",
|
||||
" print(\"bool: \",torch.logical_and(torch.abs(torch.sum((fil_std_X-self.data_mean)*(fil_std_X-self.data_mean))-self.w*self.w*(num_fil_X-1))<=torch.abs(0.02*self.w*self.w*(num_fil_X-1)),x_mean_cons) )\n",
|
||||
" return (torch.logical_and(torch.abs(torch.sum((fil_std_X-self.data_mean)*(fil_std_X-self.data_mean))-self.w*self.w*(num_fil_X-1))<=torch.abs(0.02*self.w*self.w*(num_fil_X-1)),x_mean_cons),self.w)\n",
|
||||
" \n",
|
||||
"verifier_define_calculation(dummy_data_path, ['col_name'],sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
"\n",
|
||||
"verifier_define_calculation(dummy_data_path, selected_columns,sel_dummy_data_path,verifier_model, verifier_model_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -216,7 +227,7 @@
|
||||
" # w represents mean in this case\n",
|
||||
" self.w = nn.Parameter(data = theory_output, requires_grad = False)\n",
|
||||
" self.data_mean = nn.Parameter(data = data_mean, requires_grad = False)\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" def forward(self,X):\n",
|
||||
" filter = (X>5)\n",
|
||||
" num_fil_X = torch.sum(filter.double())\n",
|
||||
@@ -227,7 +238,7 @@
|
||||
" return (torch.logical_and(torch.abs(torch.sum((fil_std_X-self.data_mean)*(fil_std_X-self.data_mean))-self.w*self.w*(num_fil_X-1))<=torch.abs(0.02*self.w*self.w*(num_fil_X-1)),x_mean_cons),self.w)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"prover_gen_settings(data_path,['col_name'], sel_data_path, prover_model,prover_model_path, [2], \"resources\", settings_path)"
|
||||
"prover_gen_settings(data_path, selected_columns, sel_data_path, prover_model,prover_model_path, scales, \"resources\", settings_path)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -291,7 +302,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk. \n",
|
||||
"# Here verifier & prover can concurrently call setup since all params are public to get pk.\n",
|
||||
"# Here write as verifier function to emphasize that verifier must calculate its own vk to be sure\n",
|
||||
"verifier_setup(verifier_model_path, verifier_compiled_model_path, settings_path,vk_path, pk_path )\n",
|
||||
"\n",
|
||||
@@ -320,7 +331,7 @@
|
||||
],
|
||||
"source": [
|
||||
"# Verifier verifies\n",
|
||||
"verifier_verify(proof_path, settings_path, vk_path)"
|
||||
"verifier_verify(proof_path, settings_path, vk_path, selected_columns, commitment_maps)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
1413
poetry.lock
generated
1413
poetry.lock
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user