int main(int argc, char * argv[]) { #ifndef MAIN_USES_CUSTOM_GROUPS // // The most basic invocation of PetaVision, suitable if you are running from a params file with no custom classes. // int status = buildandrun(argc, argv); #else // MAIN_USES_CUSTOM_GROUPS PV_Init pv_initObj(&argc, &argv, false/*do not allow unrecognized arguments*/); // // The method PV_Init::registerKeyword(char const * keyword, ObjectCreatorFn creator)) // adds a new keyword known to the buildandrun functions. The type ObjectCreatorFn is a // function pointer to a function taking a C-style string (the keyword used in params files) // and a pointer to a HyPerCol, and returning a BaseObject pointer, created with the C++ new operator. // It is expected that the object will be added to the HyPerCol, or (in the case of weight initializers // and weight normalizers) a HyPerConn, and will therefore automatically be deleted when the HyPerCol is deleted. // If you create a new class that buildandrun needs to know about, you should also write a function taking // the name of the object and the parent HyPerCol as arguments. See, for example, createANNLayer in <layers/ANNLayer.cpp>. // The function pointer to that create-function can then be passed to the registerKeyword method: // // pv_initObj.registerKeyword("CustomClass1", createCustomClass1); // pv_initObj.registerKeyword("CustomClass2", createCustomClass2); // etc. pv_initObj.registerKeyword("TestPointProbe", createTestPointProbe); int status = buildandrun(&pv_initObj, NULL, NULL); #endif // MAIN_USES_CUSTOM_GROUPS return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; #ifdef MAIN_USES_CUSTOMGROUPS ParamGroupHandler * customGroupHandler = new CustomGroupHandler(); status = buildandrun(argc, argv, NULL, NULL, &customGroupHandler, 1); delete customGroupHandler; #else status = buildandrun(argc, argv); #endif // MAIN_USES_CUSTOMGROUPS return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; #ifdef MAIN_USES_CUSTOM_GROUPS PV_Init pv_initObj(&argc, &argv, false/*do not allow unrecognized arguments*/); pv_initObj.registerKeyword("ImageTestLayer", createImageTestLayer); pv_initObj.registerKeyword("ImagePvpTestLayer", createImagePvpTestLayer); pv_initObj.registerKeyword("MovieTestLayer", createMovieTestLayer); pv_initObj.registerKeyword("MoviePvpTestLayer", createMoviePvpTestLayer); status = buildandrun(&pv_initObj); #else status = buildandrun(argc, argv); #endif // MAIN_USES_CUSTOM_GROUPS return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; // If params file was not specified, add input/ShrunkenPatchTest.params to command line arguments int paramfileabsent = pv_getopt_str(argc, argv, "-p", NULL/*sVal*/, NULL/*paramusage*/); int num_cl_args; char ** cl_args; if( paramfileabsent ) { num_cl_args = argc + 2; cl_args = (char **) malloc((num_cl_args+1)*sizeof(char *)); cl_args[0] = argv[0]; cl_args[1] = strdup("-p"); cl_args[2] = strdup("input/ShrunkenPatchTest.params"); for( int k=1; k<argc; k++) { cl_args[k+2] = strdup(argv[k]); } cl_args[num_cl_args] = NULL; } else { num_cl_args = argc; cl_args = argv; } ParamGroupHandler * customGroupHandler = new CustomGroupHandler; status = buildandrun(num_cl_args, cl_args, NULL, NULL, &customGroupHandler, 1)==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; delete customGroupHandler; if( paramfileabsent ) { free(cl_args[1]); free(cl_args[2]); free(cl_args); } return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; PV_Init initObj(&argc, &argv, false/*allowUnrecognizedArguments*/); if (initObj.getParams()==NULL) { initObj.setParams("input/KernelActivationTest-fullData.params"); status = buildandrun(&initObj); if (status==PV_SUCCESS) { initObj.setParams("input/KernelActivationTest-maskData.params"); status = rebuildandrun(&initObj); } } else { status = buildandrun(&initObj); } return status; }
int main(int argc, char * argv[]) { // If command line args specify the params file, use that file; otherwise use input/CloneVLayerTest.params int paramfilestatus = pv_getopt_str(argc, argv, "-p", NULL/*sVal*/, NULL/*paramusage*/); int cl_argc = argc + (paramfilestatus!=0 ? 2 : 0); char ** cl_argv = (char **) malloc((size_t) (cl_argc+1) * sizeof(char *)); assert(cl_argv!=NULL); for (int a=0; a<argc; a++) { cl_argv[a] = strdup(argv[a]); assert(cl_argv[a]); } if (paramfilestatus!=0) { cl_argv[argc] = strdup("-p"); assert(cl_argv[argc]); cl_argv[argc+1] = strdup("input/CloneVLayerTest.params"); assert(cl_argv[argc+1]); } cl_argv[cl_argc] = NULL; int status; status = buildandrun(cl_argc, cl_argv, NULL, &customexit, NULL); for (int a=0; a<cl_argc; a++) { free(cl_argv[a]); } free(cl_argv); cl_argv = NULL; return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { ParamGroupHandler * customGroupHandler = new CustomGroupHandler; int status = buildandrun(argc, argv, NULL, NULL, &customGroupHandler, 1); delete customGroupHandler; return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; ParamGroupHandler * customGroupHandler = new UpdateFromCloneTestGroupHandler; status = buildandrun(argc, argv, NULL, NULL, &customGroupHandler, 1); delete customGroupHandler; return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { PV_Init pv_initObj(&argc, &argv, false/*do not allow unrecognized arguments*/); pv_initObj.registerKeyword("HyPerConnDebugInitWeights", createHyPerConnDebugInitWeights); pv_initObj.registerKeyword("GaborWeight", createInitGaborWeights); pv_initObj.registerKeyword("InitWeightTestProbe", createInitWeightTestProbe); pv_initObj.registerKeyword("KernelConnDebugInitWeights", createKernelConnDebugInitWeights); int status = buildandrun(&pv_initObj); return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; RescaleLayerTestGroupHandler * groupHandlerList[1]; groupHandlerList[0] = new RescaleLayerTestGroupHandler(); status = buildandrun(argc, argv, NULL, NULL, (ParamGroupHandler **) groupHandlerList, 1); delete groupHandlerList[0]; return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { PV_Init initObj(&argc, &argv, false/*allowUnrecognizedArguments*/); initObj.initialize(); PV::MLPRegisterKeywords(&initObj); initObj.registerKeyword("BatchNormTestProbe", PV::createBatchNormTestProbe); int rank = initObj.getWorldRank(); int status = buildandrun(&initObj, NULL, NULL); return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; status = buildandrun(argc, argv, NULL, customexit, NULL, 0); if (status == PV_SUCCESS) { printf("%s succeeded.\n", argv[0]); } else { fprintf(stderr, "%s failed with return code %d.\n", argv[0], status); } return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { PV_Init pv_initObj(&argc, &argv, false/*do not allow unrecognized arguments*/); int status; status = pv_initObj.registerKeyword("TriggerTestLayer", createTriggerTestLayer); assert(status==PV_SUCCESS); status = pv_initObj.registerKeyword("TriggerTestConn", createTriggerTestConn); assert(status==PV_SUCCESS); status = pv_initObj.registerKeyword("TriggerTestLayerProbe", createTriggerTestLayerProbe); assert(status==PV_SUCCESS); status = buildandrun(&pv_initObj); return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { ParamGroupHandler * bidsGroupHandler = new PVBIDS::BIDSGroupHandler(); int status = buildandrun(argc, argv, NULL, NULL, &bidsGroupHandler, 1); return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }
int main(int argc, char * argv[]) { int status; status = buildandrun(argc, argv, NULL, &customexit, NULL); return status==PV_SUCCESS ? EXIT_SUCCESS : EXIT_FAILURE; }