Beispiel #1
0
def manage_forms(request):
    if not request.user.is_staff:
        return HttpResponseForbidden('admin access required')

    return render(request, 'manage_forms.html', {
            'formlist': json.dumps(util.get_latest()),
        })
Beispiel #2
0
def form_pull(request, study_id):
    study_id = int(study_id)
    study = Study.objects.get(id=study_id)
    errors = util.pull_latest(study.identifier)
    study_metadata = util.map_reduce(util.get_latest(), lambda s: [(s['id'], s)], lambda v: v[0])[study_id]['events']
    payload = {'study_data': study_metadata, 'errors': errors}
    return HttpResponse(json.dumps(payload), 'text/json')
Beispiel #3
0
    def run_training(self):
        self.log_path = os.path.join(self.logs_path, 'log.txt')
        binary_path = os.path.join(self.caffe_root, 'build/tools/caffe')

        # Check if there are any available snapshots and pick the
        # latest one for training continuation
        latest_snapshot = get_latest(self.snapshots_path, '*solverstate')

        if self.custom_command:
            training_string = 'srun --gres=gpu:1 {} 2>> {}'.format(
                self.custom_command, self.log_path)
        elif latest_snapshot:
            latest_snapshot = os.path.join(self.snapshots_path,
                                           latest_snapshot)

            training_string = ('srun --gres=gpu:1 '
                               '{} train '
                               '--solver={} '
                               '--snapshot={} '
                               '--gpu={} 2>> {}').format(
                                   binary_path, self.solver_path,
                                   latest_snapshot, GPU_ID, self.log_path)
        else:
            if self.experiment['weights']:
                weights_string = '--weights=' + self.experiment['weights']
            else:
                weights_string = ''

            training_string = ('srun --gres=gpu:1 '
                               '{} train '
                               '--solver={} {} '
                               '--gpu={} 2>> {}').format(
                                   binary_path, self.solver_path,
                                   weights_string, GPU_ID, self.log_path)

        file(os.path.join(self.path, 'training_string.txt'),
             'w').write(training_string)

        self.training_process = subprocess.Popen(training_string,
                                                 stdin=subprocess.PIPE,
                                                 shell=True,
                                                 preexec_fn=os.setsid)
Beispiel #4
0
    def run_training(self):
        self.log_path = os.path.join(self.logs_path, 'log.txt')
        binary_path = os.path.join(self.caffe_root, 'build/tools/caffe')

        # Check if there are any available snapshots and pick the
        # latest one for training continuation
        latest_snapshot = get_latest(self.snapshots_path, '*solverstate')

        if self.custom_command:
            training_string = 'srun --gres=gpu:1 {} 2>> {}'.format(
                self.custom_command, self.log_path)
        elif latest_snapshot:
            latest_snapshot = os.path.join(self.snapshots_path, latest_snapshot)

            training_string = (
                'srun --gres=gpu:1 '
                '{} train '
                '--solver={} '
                '--snapshot={} '
                '--gpu={} 2>> {}').format(
                    binary_path, self.solver_path, latest_snapshot, GPU_ID, 
                    self.log_path)
        else:
            if self.experiment['weights']:
                weights_string = '--weights=' + self.experiment['weights']
            else:
                weights_string = ''
                
            training_string = (
                'srun --gres=gpu:1 '
                '{} train '
                '--solver={} {} '
                '--gpu={} 2>> {}').format(
                    binary_path, self.solver_path, weights_string, GPU_ID, 
                    self.log_path)

        file(os.path.join(self.path, 'training_string.txt'), 'w').write(training_string)

        self.training_process = subprocess.Popen(training_string, 
            stdin=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
Beispiel #5
0
def get_studies(request):
    util.get_studies()
    return HttpResponse(json.dumps(util.get_latest()), 'text/json')