Пример #1
0
int testioparams(PV_Init* initObj, int rank) {
   PV_Arguments * arguments = initObj->getArguments();
   arguments->resetState();
   // Ignore -r and -c switches
   arguments->setRestartFlag(false);
   arguments->setCheckpointReadDir(NULL);
   initObj->initialize();
   HyPerCol * hc = build(initObj, NULL, 0);
   if (hc == NULL) {
      fprintf(stderr, "testioparams error: unable to build HyPerCol.\n");
      exit(EXIT_FAILURE);
   }
   int status = hc->run(); // Needed to generate pv.params file
   if (status != PV_SUCCESS) {
      fprintf(stderr, "testioparams error: run to generate pv.params file failed.\n");
      exit(EXIT_FAILURE);
   }
   const char * paramsfile = hc->getPrintParamsFilename();
   std::string paramsfileString = paramsfile;
   if (paramsfile[0]!='/') {
      const char * outputPath = hc->getOutputPath();
      paramsfileString.insert(0, "/");
      paramsfileString.insert(0, outputPath);
   }
   delete hc;

   arguments->setParamsFile(paramsfileString.c_str());
   if (rank==0) {
      printf("%s --testioparams running PetaVision with arguments\n", arguments->getProgramName());
      arguments->printState();
   }
   status = rebuildandrun(initObj, NULL, &assertAllZeroes, NULL, 0);
   return status;
}
Пример #2
0
int testrun(PV_Init * initObj, int rank) {
   PV_Arguments * arguments = initObj->getArguments();
   arguments->resetState();
   // Ignore restart flag and checkpoint directory
   arguments->setRestartFlag(false);
   arguments->setCheckpointReadDir(NULL);
   if (rank==0) {
      printf("%s --testrun running PetaVision with arguments\n", arguments->getProgramName());
      arguments->printState();
   }
   int status = rebuildandrun(initObj, NULL, &assertAllZeroes, NULL, 0);
   return status;
}
Пример #3
0
int generate(PV_Init* initObj, int rank) {
   PV_Arguments * arguments = initObj->getArguments();

   // Remove -r and -c
   arguments->setRestartFlag(false);
   arguments->setCheckpointReadDir(NULL);
   if (rank==0) {
      printf("%s --generate running PetaVision with arguments\n", arguments->getProgramName());
      arguments->printState();
   }
   if (rank==0) {
      PV_Stream * emptyinfile = PV_fopen("input/correct.pvp", "w", false/*verifyWrites*/);
      // Data for a CORRECT_PVP_NX-by-CORRECT_PVP_NY layer with CORRECT_PVP_NF features.
      // Sparse activity with no active neurons so file size doesn't change with number of features
      int emptydata[] = {80, 20, 2, CORRECT_PVP_NX, CORRECT_PVP_NY, CORRECT_PVP_NF, 1, 0, 4, 2, 1, 1, CORRECT_PVP_NX, CORRECT_PVP_NY, 0, 0, 0, 1, 0, 0, 0, 0, 0};
      size_t numwritten = PV_fwrite(emptydata, 23, sizeof(int), emptyinfile);
      if (numwritten != 23) {
         fprintf(stderr, "%s error writing placeholder data into input/correct.pvp file.\n", arguments->getProgramName());
      }
      PV_fclose(emptyinfile);
   }
   int status = rebuildandrun(initObj, NULL, &copyCorrectOutput, NULL, 0);
   return status;
}