summaryrefslogtreecommitdiff
path: root/app/relay
diff options
context:
space:
mode:
Diffstat (limited to 'app/relay')
-rw-r--r--app/relay/modules/pix2pixhd.js27
-rw-r--r--app/relay/runner.js8
2 files changed, 33 insertions, 2 deletions
diff --git a/app/relay/modules/pix2pixhd.js b/app/relay/modules/pix2pixhd.js
index 7a8c7f4..0391480 100644
--- a/app/relay/modules/pix2pixhd.js
+++ b/app/relay/modules/pix2pixhd.js
@@ -132,8 +132,12 @@ const augment = {
if (!!task.opt.augment_name) {
args.push('--augment-name', task.opt.augment_name)
}
+ if (!!task.opt.no_symlinks) {
+ args.push('--no-symlinks')
+ }
return args
},
+ after: 'render_recursive',
}
const clear_recursive = {
type: 'pytorch',
@@ -191,12 +195,34 @@ const render = {
script: 'dir-to-movie.pl',
params: (task) => {
return [
+ '--path', 'results',
'--tag', task.dataset,
'--module', task.module,
'--endpoint', process.env.API_REMOTE + '/api/folder/' + task.opt.folder_id + '/upload/',
]
}
}
+const render_recursive = {
+ type: 'perl',
+ script: 'dir-to-movie.pl',
+ params: (task) => {
+ if (!!task.opt.mov) {
+ return 'CANCEL'
+ }
+ return [
+ '--path', 'recursive',
+ '--tag', task.checkpoint + '/' + task.dataset + '_' + pad(task.augment_take, 5) + '_' + pad(task.augment_make, 5),
+ '--module', task.module,
+ '--endpoint', process.env.API_REMOTE + '/api/folder/' + task.opt.folder_id + '/upload/',
+ ]
+ }
+}
+
+function pad(num, size) {
+ var s = num + "";
+ while (s.length < size) s = "0" + s;
+ return s;
+}
export default {
name, cwd, env,
@@ -209,5 +235,6 @@ export default {
clear_recursive,
live,
render,
+ render_recursive,
}
}
diff --git a/app/relay/runner.js b/app/relay/runner.js
index dbfcb4b..d42316d 100644
--- a/app/relay/runner.js
+++ b/app/relay/runner.js
@@ -98,6 +98,9 @@ export function build_params(module, activity, task) {
let opt_params, activity_params;
if (typeof activity.params === 'function') {
opt_params = activity.params(task)
+ if (opt_params === 'CANCEL') {
+ return { cancelled: true };
+ }
activity_params = []
}
else {
@@ -267,7 +270,8 @@ export function run_script(task, cb) {
}
const module = modules[task.module]
const activity = module.activities[task.activity]
- const { interpreter, params } = build_params(module, activity, task)
+ const { interpreter, params, cancelled } = build_params(module, activity, task)
+ if (cancelled) return { type: 'error', error: "Task builder cancelled process" }
if (! interpreter) return { type: 'error', error: "No such interpreter: " + activity.interpreter }
if (! activity.isScript) return { type: 'error', error: "Not a script: " + task.module }
@@ -306,7 +310,7 @@ export function run_task(task, preempt=false, watch=false){
}
export function run_task_with_activity(task, module, activity, preempt=false, watch=false) {
- const { interpreter, params } = build_params(module, activity, task)
+ const { interpreter, params, cancelled } = build_params(module, activity, task)
if (! interpreter) return { type: 'error', error: "No such interpreter: " + activity.interpreter }
if (interpreter.gpu && state.current_gpu_task.status !== 'IDLE') {