From fe399143527972050534b3262c94dfbf291ddb41 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 31 May 2018 22:59:56 +0200 Subject: split out datasets folder --- app/client/modules/samplernn/samplernn.datasets.js | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 app/client/modules/samplernn/samplernn.datasets.js (limited to 'app/client/modules/samplernn/samplernn.datasets.js') diff --git a/app/client/modules/samplernn/samplernn.datasets.js b/app/client/modules/samplernn/samplernn.datasets.js new file mode 100644 index 0000000..5f15dbc --- /dev/null +++ b/app/client/modules/samplernn/samplernn.datasets.js @@ -0,0 +1,109 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { actions, parser } from '../../api' +import * as taskActions from '../../task/task.actions' +import * as systemActions from '../../system/system.actions' + +import Dataset from '../../dataset/dataset.component' + +import Group from '../../common/group.component' +import Slider from '../../common/slider.component' +import Select from '../../common/select.component' +import Button from '../../common/button.component' +import FileList from '../../common/fileList.component' +import TextInput from '../../common/textInput.component' + +class SampleRNNDatasets extends Component { + constructor(props){ + super() + // fetch file list + this.fileOptions = this.fileOptions.bind(this) + this.pickFile = this.pickFile.bind(this) + props.actions.folder.index({ module: 'samplernn' }) + props.actions.file.index({ module: 'samplernn' }) + } + pickFile(file){ + console.log('pick', file) + } + fileOptions(file){ + console.log(file) + if (file.activity === 'url' && !file.dataset) { + if (this.props.runner.cpu.status !== 'IDLE') { + return ( +
+ fetching... +
+ ) + } else { + return ( +
this.fetchURL(file.url)}> + fetch +
+ ) + } + } + return ( +
+
this.train(file)}>train
+ {file.epoch == 0 &&
{file.epochs} ep.
} +
+ ) + } + fetchURL(url) { + console.log(url) + this.props.actions.task.start_task({ + activity: 'fetch', + module: 'samplernn', + dataset: 'test', + epochs: 1, + opt: { url } + }, { preempt: true, watch: true }) + } + render(){ + const { samplernn } = this.props + console.log(samplernn.upload) + // sort files?? + const module = { + name: 'samplernn', + datatype: 'audio', + } + return ( +
+
+

SampleRNN

+
+ +
+ ) + } +} + +const mapStateToProps = state => ({ + samplernn: state.module.samplernn, + runner: state.system.runner, + task: state.task, +}) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + actions: { + folder: bindActionCreators(actions.folder, dispatch), + file: bindActionCreators(actions.file, dispatch), + task: bindActionCreators(taskActions, dispatch), + system: bindActionCreators(systemActions, dispatch), + } +}) + +export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNDatasets) -- cgit v1.2.3-70-g09d2