Stuff that you can launch, taking inputs and producing outputs
Grid Search
Random sampling
Latin Hypercube
Parallel data processing
...
Example: genetic algorithm
Access as the user would do it
Use user credential
No preliminary step
val i = Val[Double]
val res = Val[Double]
val exploration = ExplorationTask ( i in (0.0 to 10.0 by 1.0) )
val model =
ScalaTask ("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = LocalEnvironment(5)
val ex = exploration -< (model on env) start
val i = Val[Double]
val res = Val[Double]
val exploration = ExplorationTask ( i in (0.0 to 10.0 by 1.0) )
val model =
ScalaTask ("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = EGIEnvironment("biomed")
val ex = exploration -< (model on env) start
care -o hello.tgz.bin python hello.py 42 test.txt
val arg = Val[Int]
val output = Val[File]
val pythonTask =
CARETask(
workDirectory / "hello.tgz.bin",
"python hello.py ${arg} output.txt") set (
inputs += arg,
outputFiles += ("output.txt", output),
outputs += arg
)
val exploration = ExplorationTask(arg in (0 to 10))
val copy = CopyFileHook(output, workDirectory / "hello${arg}.txt")
exploration -< (pythonTask hook copy)
val algorithm =
NSGA2(
mu = 200,
genome =
Seq(
rMax in (2.0, 50000.0),
distanceDecay in (0.0, 4.0),
pCreation in (0.0, 0.01),
pDiffusion in (0.0, 0.01),
innovationImpact in (0.0, 2.0),
innovationLife in (1.0, 4001.0)
),
objectives = Seq(ksValue, deltaPop, deltaTime)
)
val evolution =
SteadyStateEvolution(
algorithm = algorithm,
evaluation = evaluateModel,
termination = 15 minutes
)
val island =
IslandEvolution(
evolution,
parallelism = 1000,
termination = 200000
)
val savePopulation =
SavePopulationHook(
island,
workDirectory / "populations"
)
val grid = EGIEnvironment("vo.complex-systems.eu")
(island on grid hook savePopulation)
Documentation | www.openmole.org |
Development version | next.openmole.org |
Source code | github.com/openmole |
Market place | github.com/openmole-market |
![]() |
romain.reuillon@iscpif.fr |
![]() |
mathieu.leclaire@iscpif.fr |
![]() |
j.passerat-palmbach@imperial.ac.uk |