Ejemplo n.º 1
0
import os

import numpy as np
import pyopencl

from psyrun import Param
from psyrun.backend import LoadBalancingBackend

from cue.trials import HebbRepetitionTrial

rng = np.random.RandomState(39)
n_trials = 25
seeds = range(n_trials)

pspace = Param(extension=['forward-assoc', 'direct-assoc']) * Param(
    seed=seeds, trial=range(n_trials))
backend = LoadBalancingBackend
exclude_from_result = ['cl_context']
pool_size = 4
max_jobs = 1


def setup(proc_id):
    context = pyopencl.create_some_context(answers=[0, proc_id])
    return {'cl_context': context}


def execute(trial, **kwargs):
    result = HebbRepetitionTrial().run(progress=False, **kwargs)
    return result
Ejemplo n.º 2
0
import numpy as np

from psyrun import Param
from psyrun.backend import LoadBalancingBackend
from psyrun.scheduler import Slurm

from cue.trials import CueTrial

rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)

pspace = Param(seed=seeds,
               trial=range(n_trials),
               min_evidence=0.03,
               noise=0.009,
               distractor_rate=0.4,
               ordinal_prob=0.1)
exclude_from_result = ['cl_context']
min_items = 1

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    pool_size = 1
    max_jobs = 100
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)

    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:10'
        else:
Ejemplo n.º 3
0
from psyrun import Param

from cogsci17_decide.trial import DecisionTrial

pspace = (
    (Param(network=['LCA'], scale=[1.], share_thresholding_intercepts=[False])
     + Param(network=['IA']) * Param(share_thresholding_intercepts=[False]) *
     Param(scale=[1.])) * Param(baseline=[0.2, 0.6, 1.0]) *
    Param(target_sep=[0.05, 0.1, 0.15, 0.2]) *
    Param(noise=[0.0, 0.01, 0.02, 0.03, 0.04, 0.05]) * Param(seed=range(50)))

min_items = 20
max_jobs = None


def execute(**kwargs):
    return DecisionTrial().run(d=20, **kwargs)
Ejemplo n.º 4
0
import numpy as np

from psyrun import Param
from psyrun.backend import LoadBalancingBackend
from psyrun.scheduler import Slurm

from cue.trials import CueTrial

rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)

pspace = Param(seed=seeds,
               trial=range(n_trials),
               recall_duration=45.,
               noise=0.015,
               min_evidence=0.025,
               ordinal_prob=0.1)
exclude_from_result = ['cl_context']
min_items = 1

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    pool_size = 1
    max_jobs = 100
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)

    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:59'
        else:
Ejemplo n.º 5
0
import platform

import numpy as np

from psyrun import Param
from psyrun.scheduler import Slurm

from cue.trials import CueTrial

rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)

pspace = Param(seed=seeds,
               trial=range(n_trials),
               recall_duration=45.,
               noise=0.015,
               min_evidence=0.04,
               extension='disable_stm_recall')
min_items = 1
pool_size = 1
max_jobs = 100

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)

    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:59'
        else:
            return '0-02:59'
Ejemplo n.º 6
0
from psyrun import Param
from psyrun import LoadBalancingBackend
from psyrun.scheduler import Slurm

from cue.trials import CueTrial


rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)


pspace = Param(
    seed=seeds,
    trial=range(n_trials),
    noise=0.015,
    min_evidence=0.025,
    ordinal_prob=1.)
exclude_from_result = ['cl_context']
min_items = 1

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    pool_size = 1
    max_jobs = 100
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)
    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:10'
        else:
            return '0-02:59'
Ejemplo n.º 7
0
import platform

import numpy as np

from psyrun import Param
from psyrun.scheduler import Slurm, Sqsub

from cue.trials.default import CueTrial

rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)

pspace = Param(seed=seeds,
               trial=range(n_trials),
               recall_duration=90.,
               noise=0.015,
               min_evidence=0.02)
min_items = 1
pool_size = 1
max_jobs = 100

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)

    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:59'
        else:
            return '0-06:00'
Ejemplo n.º 8
0
import numpy as np

from psyrun import Param
from psyrun.backend import LoadBalancingBackend
from psyrun.scheduler import Slurm

from cue.trials import CueTrial

rng = np.random.RandomState(846777)
n_trials = 100
seeds = range(100)

pspace = Param(seed=seeds,
               trial=range(n_trials),
               min_evidence=0.0325,
               noise=0.015,
               distractor_rate=0.3,
               ordinal_prob=0.0)
exclude_from_result = ['cl_context']
min_items = 1

if platform.node().startswith('gra') or platform.node().startswith('cedar'):
    pool_size = 1
    max_jobs = 100
    workdir = '/scratch/jgosmann/cue'
    scheduler = Slurm(workdir)

    def timelimit(name):
        if 'split' in name or 'merge' in name:
            return '0-00:10'
        else:
Ejemplo n.º 9
0
import platform
import sys

import_path = os.path.abspath(
    os.path.join(os.path.dirname(__file__), '..', 'sparat'))
if import_path not in sys.path:
    sys.path.insert(0, import_path)

import numpy as np
from psyrun import Param
from psyrun.scheduler import Sqsub

from model.benchmark import ConnectionsRatModel

neurons_per_dimension = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
pspace = Param(neurons_per_dimension=neurons_per_dimension, seed=923)

min_items = 1
max_splits = 100

sharcnet_nodes = ['narwhal', 'bul', 'kraken', 'saw']
if any(platform.node().startswith(x) for x in sharcnet_nodes):
    workdir = '/work/jgosmann/rat'
    scheduler = Sqsub(workdir)
    scheduler_args = {
        'timelimit': '60m',
        'memory': '6G',
    }


def execute(**kwargs):
Ejemplo n.º 10
0
import numpy as np
import pyopencl

from psyrun import Param
from psyrun.backend import LoadBalancingBackend

from cue.trials import MixedSelTrial


rng = np.random.RandomState(9)
n_sequences = 6
seeds = [230] * n_sequences


pspace = Param(seed=seeds, sequence=range(n_sequences))
backend = LoadBalancingBackend
exclude_from_result = ['cl_context']
pool_size = 4
max_jobs = 1


def setup(proc_id):
    context = pyopencl.create_some_context(answers=[1, proc_id])
    return {'cl_context': context}


def execute(**kwargs):
    result = MixedSelTrial().run(progress=False, **kwargs)
    return result