2:- module(test, 3 [test/0,test_all/0]). 4:- use_module(library(plunit)). 5 6test:- 7 test_all. 8 9test_all:- 10 tests(A), 11 run_tests(A). 12 13tests([carc,muta,nba,bongard]). 14 15 16:- begin_tests(carc, []). 17:-ensure_loaded(library(examples_lift/carc)). 18:-use_module(library(cplint_test/cplint_test)). 19 20test(induce_par_carc):- 21 set_lift(verbosity,0), 22 set_lift(parameter_learning,em_python), 23 set_lift(iter,100), 24 induce_par_lift([train],P), 25 test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 26 writeln('Result:'), 27 writeln(P), 28 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 29 writeln(St), 30 atomic_list_concat(['Expected:\n', 31 '\nLL =', -26.41604269110072, 32 '\nAUCROC =',0.6710526315789473, 33 '\nAUCPR =', 0.5989337661969046],St1), 34 writeln(St1). 35 36test(induce_par_em_torch_carc):- 37 set_lift(verbosity,0), 38 set_lift(parameter_learning,em_torch), 39 set_lift(iter,100), 40 induce_par_lift([train],P), 41 test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 42 writeln('Result:'), 43 writeln(P), 44 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 45 writeln(St), 46 atomic_list_concat(['Expected:\n', 47 '\nLL =', -26.41604269110072, 48 '\nAUCROC =',0.6710526315789473, 49 '\nAUCPR =', 0.5989337661969046],St1), 50 writeln(St1). 51 52test(induce_par_gd_carc):- 53 set_lift(verbosity,0), 54 set_lift(parameter_learning,gd_python), 55 set_lift(eta,0.01), 56 set_lift(iter,100), 57 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 58 writeln('Result:'), 59 writeln(P), 60 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 61 writeln(St), 62 atomic_list_concat(['Expected:\n', 63 '\nLL =', -26.433804567011133, 64 '\nAUCROC =',0.6710526315789473, 65 '\nAUCPR =', 0.5989337661969046],St1), 66 writeln(St1). 67 68:- end_tests(carc). 69 70 71:- begin_tests(muta, []). 72:-ensure_loaded(library(examples_lift/muta)). 73:-use_module(library(cplint_test/cplint_test)). 74 75 76test(induce_par_muta):- 77 set_lift(verbosity,0), 78 set_lift(parameter_learning,em_python), 79 induce_par_lift([1,2,3,4,5,6,7,8,9],P),test_lift(P,[10],LL,AUCROC,_ROC,AUCPR,_PR), 80 writeln('Result:'), 81 writeln(P), 82 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 83 writeln(St), 84 atomic_list_concat(['Expected:\n', 85 '\nLL =',-50.3968461506984, 86 '\nAUCROC =',0.4924242424242425, 87 '\nAUCPR =', 0.7123209210586535],St1), 88 writeln(St1). 89 90test(induce_par_em_torch_muta):- 91 set_lift(verbosity,0), 92 set_lift(parameter_learning,em_torch), 93 induce_par_lift([1,2,3,4,5,6,7,8,9],P),test_lift(P,[10],LL,AUCROC,_ROC,AUCPR,_PR), 94 writeln('Result:'), 95 writeln(P), 96 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 97 writeln(St), 98 atomic_list_concat(['Expected:\n', 99 '\nLL =',-50.3968461506984, 100 '\nAUCROC =',0.4924242424242425, 101 '\nAUCPR =', 0.7123209210586535],St1), 102 writeln(St1). 103 104test(induce_par_gd_muta):- 105 set_lift(verbosity,0), 106 set_lift(parameter_learning,gd_python), 107 set_lift(parameter_update,adam), 108 set_lift(eta,0.01), 109 induce_par_lift([1,2,3,4,5,6,7,8,9],P),test_lift(P,[10],LL,AUCROC,_ROC,AUCPR,_PR), 110 writeln('Result:'), 111 writeln(P), 112 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 113 writeln(St), 114 atomic_list_concat(['Expected:\n', 115 '\nLL =',-48.955482123491436, 116 '\nAUCROC =',0.6287878787878788, 117 '\nAUCPR =', 0.8184241612528028],St1), 118 writeln(St1). 119 120 121:- end_tests(muta). 122 123 124:- begin_tests(nba, []). 125:-ensure_loaded(library(examples_lift/nba)). 126:-use_module(library(cplint_test/cplint_test)). 127 128test(induce_nba_l1):- 129 set_lift(verbosity,0), 130 set_lift(regularization,l1), 131 set_lift(parameter_learning,em_python), 132 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 133 writeln('Result:'), 134 writeln(P), 135 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 136 writeln(St), 137 atomic_list_concat(['Expected:\n', 138 '\nLL =', -49.7938188339248, 139 '\nAUCROC =',0.625, 140 '\nAUCPR =', 0.8189102564102563],St1), 141 writeln(St1). 142 143test(induce_nba_l2):- 144 set_lift(verbosity,0), 145 set_lift(parameter_learning,em_python), 146 set_lift(regularization,l2), 147 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 148 writeln('Result:'), 149 writeln(P), 150 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 151 writeln(St), 152 atomic_list_concat(['Expected:\n', 153 '\nLL =', -43.57330116702434, 154 '\nAUCROC =',0.625, 155 '\nAUCPR =', 0.8189102564102563],St1), 156 writeln(St1). 157 158test(induce_nba_bayesian):- 159 set_lift(verbosity,0), 160 set_lift(regularization,bayesian), 161 set_lift(parameter_learning,em_python), 162 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 163 writeln('Result:'), 164 writeln(P), 165 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 166 writeln(St), 167 atomic_list_concat(['Expected:\n', 168 '\nLL =', -47.070639401222, 169 '\nAUCROC =',0.625, 170 '\nAUCPR =', 0.8189102564102563],St1), 171 writeln(St1). 172 173 174test(induce_nba_em_torch_l1):- 175 set_lift(verbosity,0), 176 set_lift(regularization,l1), 177 set_lift(parameter_learning,em_torch), 178 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 179 writeln('Result:'), 180 writeln(P), 181 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 182 writeln(St), 183 atomic_list_concat(['Expected:\n', 184 '\nLL =', -49.7938188339248, 185 '\nAUCROC =',0.625, 186 '\nAUCPR =', 0.8189102564102563],St1), 187 writeln(St1). 188 189test(induce_nba_em_torch_l2):- 190 set_lift(verbosity,0), 191 set_lift(regularization,l2), 192 set_lift(parameter_learning,em_torch), 193 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 194 writeln('Result:'), 195 writeln(P), 196 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 197 writeln(St), 198 atomic_list_concat(['Expected:\n', 199 '\nLL =', -49.7938188339248, 200 '\nAUCROC =',0.625, 201 '\nAUCPR =', 0.8189102564102563],St1), 202 writeln(St1). 203 204test(induce_nba_em_torch_bayesian):- 205 set_lift(verbosity,0), 206 set_lift(regularization,bayesian), 207 set_lift(parameter_learning,em_torch), 208 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 209 writeln('Result:'), 210 writeln(P), 211 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 212 writeln(St), 213 atomic_list_concat(['Expected:\n', 214 '\nLL =', -49.7938188339248, 215 '\nAUCROC =',0.625, 216 '\nAUCPR =', 0.8189102564102563],St1), 217 writeln(St1). 218 219:- end_tests(nba). 220 221 222:- begin_tests(bongard, []). 223:-ensure_loaded(library(examples_lift/bongard)). 224:-use_module(library(cplint_test/cplint_test)). 225 226 227test(induce_par_gd_bongard):- 228 set_lift(verbosity,4), 229 set_lift(parameter_learning,gd_python), 230 set_lift(eta,0.01), 231 set_lift(regularization, no), 232 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 233 writeln('Result:'), 234 writeln(P), 235 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 236 writeln(St), 237 atomic_list_concat(['Expected:\n', 238 '\nLL =',-218.22925642272494, 239 '\nAUCROC =',0.7485951468710089, 240 '\nAUCPR =', 0.5979409655734421],St1), 241 writeln(St1). 242 243test(induce_gd_bongard):- 244 set_lift(verbosity,1), 245 set_lift(parameter_learning,gd_python), 246 set_lift(regularization, no), 247 set_lift(eta,0.01), 248 set_lift(gamma,0.1), 249 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 250 writeln('Result:'), 251 writeln(P), 252 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 253 writeln(St), 254 atomic_list_concat(['Expected:\n', 255 '\nLL =',-88.11894369013643, 256 '\nAUCROC =',0.8199872286079184, 257 '\nAUCPR =',0.6676162174173899],St1), 258 writeln(St1). 259 260 261 262test(induce_conc_bongard):- 263 set_lift(verbosity,1), 264 set_lift(parameter_learning,em_python), 265 set_lift(threads,2), 266 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 267 writeln('Result:'), 268 writeln(P), 269 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 270 writeln(St), 271 atomic_list_concat(['Expected:\n', 272 '\nLL =',-88.11894369013643, 273 '\nAUCROC =',0.8199872286079184, 274 '\nAUCPR =',0.6676162174173899],St1), 275 writeln(St1). 276 277 test(induce_conc_em_torch_bongard):- 278 set_lift(verbosity,1), 279 set_lift(parameter_learning,em_torch), 280 set_lift(threads,2), 281 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 282 writeln('Result:'), 283 writeln(P), 284 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 285 writeln(St), 286 atomic_list_concat(['Expected:\n', 287 '\nLL =',-88.11894369013643, 288 '\nAUCROC =',0.8199872286079184, 289 '\nAUCPR =',0.6676162174173899],St1), 290 writeln(St1). 291 292test(induce_gd_l1_bongard):- 293 set_lift(verbosity,1), 294 set_lift(parameter_learning,gd_python), 295 set_lift(regularization, l1), 296 set_lift(eta,0.01), 297 set_lift(gamma,1), 298 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 299 writeln('Result:'), 300 writeln(P), 301 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 302 writeln(St), 303 atomic_list_concat(['Expected:\n', 304 '\nLL =',-86.45340693767905, 305 '\nAUCROC =',0.8247126436781609, 306 '\nAUCPR =', 0.6620667885942804],St1), 307 writeln(St1). 308 309test(induce_gd_l2_bongard):- 310 set_lift(verbosity,1), 311 set_lift(parameter_learning,gd_python), 312 set_lift(regularization, l2), 313 set_lift(eta,0.01), 314 set_lift(gamma,1), 315 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 316 writeln('Result:'), 317 writeln(P), 318 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 319 writeln(St), 320 atomic_list_concat(['Expected:\n', 321 '\nLL =',-87.36727076138638, 322 '\nAUCROC =',0.8188378033205619, 323 '\nAUCPR =', 0.6550280976471973],St1), 324 writeln(St1). 325 326 327test(induce_par_gd_adam_bongard):- 328 set_lift(verbosity,1), 329 set_lift(parameter_learning,gd_python), 330 set_lift(parameter_update, adam), 331 set_lift(gamma,1), 332 set_lift(iter,20), 333 set_lift(adam_params,[0.2,0.8,0.9,1e-8]), 334 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 335 writeln('Result:'), 336 writeln(P), 337 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 338 writeln(St), 339 atomic_list_concat(['Expected:\n', 340 '\nLL =',-218.57571674633985, 341 '\nAUCROC =',0.7485951468710089, 342 '\nAUCPR =', 0.5979409655734421],St1), 343 writeln(St1). 344 345 346:- end_tests(bongard).