From 0db903f139aa2eb91308f99bb3be3619c2d9b217 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 5 Jun 2018 04:45:14 +0200 Subject: woooo smoother --- app/client/modules/samplernn/samplernn.datasets.js | 20 ++++++++++++++++---- app/client/modules/samplernn/samplernn.show.js | 14 +++++++++++--- app/client/modules/samplernn/samplernn.tasks.js | 6 ++++-- 3 files changed, 31 insertions(+), 9 deletions(-) (limited to 'app/client/modules') diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js index 50e7d59..3d4219e 100644 --- a/app/client/modules/samplernn/samplernn.datasets.js +++ b/app/client/modules/samplernn/samplernn.datasets.js @@ -92,11 +92,19 @@ class SampleRNNDatasets extends Component { const { samplernn, folder, runner, onPickDataset, onPickFile, datasetActions } = this.props const { datasetLookup, fileLookup } = samplernn.data const { mapFn, sortFn } = util.sort.orderByFn('date desc') + const moduleOnCPU = runner && runner.cpu.task && runner.cpu.task.module === samplernnModule.name const moduleOnGPU = runner && runner.gpu.task && runner.gpu.task.module === samplernnModule.name const datasets = folder.datasets.map(name => datasetLookup[name]).map(mapFn).sort(sortFn).map(pair => { const dataset = pair[1] - const isProcessing = moduleOnGPU && runner.gpu.task.dataset === dataset - const status = isProcessing ? util.gerund(runner.gpu.task.activity) : '' + let status = '' + let isProcessing = false, isFetching = false + if (moduleOnGPU && runner.gpu.task.dataset === dataset) { + status = util.gerund(runner.gpu.task.activity) + isProcessing = true + } else if (moduleOnCPU && runner.cpu.task.activity === 'fetch' && runner.cpu.task.opt.file_id === dataset.input[0]) { + isProcessing = true + isFetching = true + } return (
onPickDataset && onPickDataset(dataset)}> {this.props.beforeRow && this.props.beforeRow(dataset)} @@ -114,9 +122,13 @@ class SampleRNNDatasets extends Component { /> }
-
+
+ {this.props.datasetActions && this.props.datasetActions(dataset, isFetching, isProcessing)} {status} - {this.props.datasetActions && this.props.datasetActions(dataset)}
{!!dataset.checkpoints.length && diff --git a/app/client/modules/samplernn/samplernn.show.js b/app/client/modules/samplernn/samplernn.show.js index 8b6f357..1237d9b 100644 --- a/app/client/modules/samplernn/samplernn.show.js +++ b/app/client/modules/samplernn/samplernn.show.js @@ -21,6 +21,10 @@ const samplernnModule = { } class SampleRNNShow extends Component { + constructor(props){ + super(props) + this.datasetActions = this.datasetActions.bind(this) + } render(){ const { samplernn, match, history } = this.props const { folderLookup } = (samplernn.data || {}) @@ -51,12 +55,12 @@ class SampleRNNShow extends Component { console.log('picked a file', file) this.handlePick(file) }} - datasetActions={(dataset) => this.datasetActions(dataset)} + datasetActions={this.datasetActions} />
) } - datasetActions(dataset){ + datasetActions(dataset, isFetching=false, isProcessing=false){ const { samplernn, remote } = this.props const { fileLookup } = samplernn.data const input = fileLookup[dataset.input[0]] @@ -76,8 +80,12 @@ class SampleRNNShow extends Component { {'fetched '} remote.clear_cache_task(dataset)}>rm
+ : isFetching + ?
+ {'fetching'} +
:
- remote.fetch_task(input.url)}>fetch + remote.fetch_task(input.url, input.id, dataset.name)}>fetch
} diff --git a/app/client/modules/samplernn/samplernn.tasks.js b/app/client/modules/samplernn/samplernn.tasks.js index 28354d7..21939dd 100644 --- a/app/client/modules/samplernn/samplernn.tasks.js +++ b/app/client/modules/samplernn/samplernn.tasks.js @@ -20,14 +20,16 @@ export const train_task = (dataset, epochs=1) => dispatch => { console.log(task) return actions.queue.add_task(task) } -export const fetch_task = (url) => dispatch => { +export const fetch_task = (url, file_id, dataset) => dispatch => { if (! url) return console.log('input file inaccessible (no url)') const task = { module: 'samplernn', activity: 'fetch', dataset: name, opt: { - url: url, + url, + file_id, + dataset, } } return actions.queue.add_task(task) -- cgit v1.2.3-70-g09d2