diff options
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 827 |
1 files changed, 652 insertions, 175 deletions
diff --git a/public/bundle.js b/public/bundle.js index a5985c1..976a3c4 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -451,7 +451,7 @@ exports.actions = exports.parser = exports.util = undefined; var _crud = __webpack_require__(/*! ./crud.actions */ "./app/client/api/crud.actions.js"); -var _util = __webpack_require__(/*! ../util */ "./app/client/util.js"); +var _util = __webpack_require__(/*! ../util */ "./app/client/util/index.js"); var util = _interopRequireWildcard(_util); @@ -946,9 +946,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( Object.defineProperty(exports, "__esModule", { value: true }); -exports.FileRow = exports.fieldSet = exports.orderByFn = exports.FileList = undefined; - -var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); +exports.FileRow = exports.fieldSet = exports.FileList = undefined; var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); @@ -962,7 +960,7 @@ var _moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js var _moment2 = _interopRequireDefault(_moment); -var _util = __webpack_require__(/*! ../util */ "./app/client/util.js"); +var _util = __webpack_require__(/*! ../util */ "./app/client/util/index.js"); var util = _interopRequireWildcard(_util); @@ -970,7 +968,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var defaultFields = new Set(['date', 'size']); +var defaultFields = new Set(['name', 'date', 'size']); var FileList = exports.FileList = function FileList(props) { var files = props.files, @@ -988,9 +986,9 @@ var FileList = exports.FileList = function FileList(props) { _props$rowClassName = props.rowClassName, rowClassName = _props$rowClassName === undefined ? 'row file' : _props$rowClassName; - var _orderByFn = orderByFn(orderBy), - mapFn = _orderByFn.mapFn, - sortFn = _orderByFn.sortFn; + var _util$sort$orderByFn = util.sort.orderByFn(orderBy), + mapFn = _util$sort$orderByFn.mapFn, + sortFn = _util$sort$orderByFn.sortFn; var fileList = (files || []).map(mapFn).sort(sortFn).map(function (pair) { return (0, _preact.h)(FileRow, { @@ -1025,64 +1023,6 @@ var FileList = exports.FileList = function FileList(props) { ); }; -var numericSort = { - asc: function asc(a, b) { - return a[0] - b[0]; - }, - desc: function desc(a, b) { - return b[0] - a[0]; - } -}; -var stringSort = { - asc: function asc(a, b) { - return a[0].localeCompare(b[0]); - }, - desc: function desc(a, b) { - return b[0].localeCompare(a[0]); - } -}; -var orderByFn = exports.orderByFn = function orderByFn() { - var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'name asc'; - - var _s$split = s.split(' '), - _s$split2 = _slicedToArray(_s$split, 2), - _s$split2$ = _s$split2[0], - field = _s$split2$ === undefined ? 'name' : _s$split2$, - _s$split2$2 = _s$split2[1], - direction = _s$split2$2 === undefined ? 'asc' : _s$split2$2; - - var mapFn = void 0, - sortFn = void 0; - switch (field) { - case 'epoch': - mapFn = function mapFn(a) { - return [a.epoch || a.epochs, a]; - }; - sortFn = numericSort[direction]; - break; - case 'size': - mapFn = function mapFn(a) { - return [a.size, a]; - }; - sortFn = numericSort[direction]; - break; - case 'date': - mapFn = function mapFn(a) { - return [+new Date(a.date || a.created_at), a]; - }; - sortFn = numericSort[direction]; - break; - case 'name': - default: - mapFn = function mapFn(a) { - return [a.id || a.name, a]; - }; - sortFn = stringSort[direction]; - break; - } - return { mapFn: mapFn, sortFn: sortFn }; -}; - var fieldSet = exports.fieldSet = function fieldSet(fields) { if (fields) { if (fields instanceof Set) { @@ -1106,16 +1046,17 @@ var FileRow = exports.FileRow = function FileRow(props) { var size = util.hush_size(file.size); var date = file.date || file.created_at; + var epoch = file.epoch || file.epochs || 0; return (0, _preact.h)( 'div', { 'class': className, key: file.name }, - (0, _preact.h)( + fields.has('name') && (0, _preact.h)( 'div', { className: 'filename', title: file.name || file.url }, file.persisted === false ? (0, _preact.h)( 'span', - null, + { className: 'unpersisted' }, file.name || file.url ) : linkFiles && file.url ? (0, _preact.h)( 'a', @@ -1139,6 +1080,11 @@ var FileRow = exports.FileRow = function FileRow(props) { { className: "username" }, username ), + fields.has('epoch') && (0, _preact.h)( + 'div', + { className: "epoch " + util.hush_null(epoch)[0] }, + epoch > 0 ? 'ep. ' + epoch : '' + ), fields.has('date') && (0, _preact.h)( 'div', { className: "date " + util.carbon_date(date) }, @@ -1154,11 +1100,6 @@ var FileRow = exports.FileRow = function FileRow(props) { { className: "size " + size[0] }, size[1] ), - fields.has('epoch') && (0, _preact.h)( - 'div', - { className: 'epoch' }, - file.epoch > 0 ? 'epoch ' + file.epoch : ' ' - ), (fields.has('activity') || fields.has('module')) && (0, _preact.h)( 'div', { className: 'activity' }, @@ -2316,7 +2257,7 @@ var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-r var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); -var _util = __webpack_require__(/*! ../util */ "./app/client/util.js"); +var _util = __webpack_require__(/*! ../util */ "./app/client/util/index.js"); var util = _interopRequireWildcard(_util); @@ -2957,7 +2898,7 @@ var _socket = __webpack_require__(/*! ./socket */ "./app/client/socket/index.js" var socket = _interopRequireWildcard(_socket); -var _util = __webpack_require__(/*! ./util */ "./app/client/util.js"); +var _util = __webpack_require__(/*! ./util */ "./app/client/util/index.js"); var util = _interopRequireWildcard(_util); @@ -4402,24 +4343,30 @@ var _samplernn = __webpack_require__(/*! ./samplernn.datasets */ "./app/client/m var _samplernn2 = _interopRequireDefault(_samplernn); -var _samplernn3 = __webpack_require__(/*! ./samplernn.inspect */ "./app/client/modules/samplernn/samplernn.inspect.js"); +var _samplernn3 = __webpack_require__(/*! ./samplernn.results */ "./app/client/modules/samplernn/samplernn.results.js"); var _samplernn4 = _interopRequireDefault(_samplernn3); -var _samplernn5 = __webpack_require__(/*! ./samplernn.loss */ "./app/client/modules/samplernn/samplernn.loss.js"); +var _samplernn5 = __webpack_require__(/*! ./samplernn.inspect */ "./app/client/modules/samplernn/samplernn.inspect.js"); var _samplernn6 = _interopRequireDefault(_samplernn5); +var _samplernn7 = __webpack_require__(/*! ./samplernn.loss */ "./app/client/modules/samplernn/samplernn.loss.js"); + +var _samplernn8 = _interopRequireDefault(_samplernn7); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function router() { return (0, _preact.h)( 'div', null, - (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/graph/', component: _samplernn6.default }), - (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/inspect/', component: _samplernn4.default }), + (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/graph/', component: _samplernn8.default }), + (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/inspect/', component: _samplernn6.default }), + (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/datasets/', component: _samplernn2.default }), (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/datasets/:id/', component: _samplernn2.default }), - (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/datasets/new/', component: _samplernn2.default }) + (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/datasets/new/', component: _samplernn2.default }), + (0, _preact.h)(_reactRouterDom.Route, { exact: true, path: '/samplernn/results/', component: _samplernn4.default }) ); } @@ -4500,23 +4447,48 @@ function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); } var load_directories = exports.load_directories = function load_directories(id) { return function (dispatch) { // console.log(actions) - Promise.all([_actions2.default.folder.index({ module: 'samplernn' }), _actions2.default.file.index({ module: 'samplernn' }), _actions2.default.task.index({ module: 'samplernn' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'datasets' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'results' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'output' })]).then(function (res) { + Promise.all([_actions2.default.folder.index({ module: 'samplernn' }), _actions2.default.file.index({ module: 'samplernn' }), _actions2.default.task.index({ module: 'samplernn' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'datasets' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'results' }), _actions2.default.socket.list_directory({ module: 'samplernn', dir: 'output' }), load_loss()(dispatch)]).then(function (res) { // console.log(res) - var _res = _slicedToArray(res, 6), + var _res = _slicedToArray(res, 7), folders = _res[0], files = _res[1], tasks = _res[2], datasets = _res[3], results = _res[4], - output = _res[5]; + output = _res[5], + lossReport = _res[6]; + + var unsortedFolder = { + id: 0, + name: 'unsorted', + datasets: [] + }; + + var datasetLookup = {}; + + var get_dataset = function get_dataset(name) { + var folder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : unsortedFolder; + var date = arguments[2]; + + var dataset = datasetLookup[name] || empty_dataset(name, folder); + if (date) { + dataset.date = dataset.date ? Math.max(+new Date(date), dataset.date) : +new Date(date); + } + return dataset; + }; var empty_dataset = function empty_dataset(name) { - return { + var folder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : unsortedFolder; + + var dataset = { name: name, input: [], checkpoints: [], output: [] }; + datasetLookup[dataset.name] = dataset; + folder.datasets.push(dataset); + return dataset; }; // take all of the folders and put them in a lookup @@ -4525,11 +4497,7 @@ var load_directories = exports.load_directories = function load_directories(id) folder.datasets = []; return folderLookup; }, { - 'unsorted': { - id: 0, - name: 'unsorted', - datasets: [] - } + unsorted: unsortedFolder }); // prepare the files by splitting into two groups @@ -4541,40 +4509,24 @@ var load_directories = exports.load_directories = function load_directories(id) }); // build the initial dataset lookup table using the ungenerated files - var datasetLookup = ungeneratedFiles.reduce(function (datasetLookup, file) { - file.checkpoints = []; + ungeneratedFiles.reduce(function (datasetLookup, file) { if (!file.name) { file.name = (file.opt || {}).token || file.url; - // datasetLookup[] = file } var name = (file.name || 'unsorted').split('.')[0]; - if (!datasetLookup[name]) { - var dataset = empty_dataset(name); - datasetLookup[dataset.name] = dataset; - dataset.input.push(file); - folderLookup[file.folder_id].datasets.push(dataset); - } else { - datasetLookup[name].input.push(file); - } + var dataset = get_dataset(name, folderLookup[file.folder_id], unsortedFolder, file.date); + dataset.input.push(file); return datasetLookup; - }, { - unsorted: empty_dataset('unsorted') - }); + }, datasetLookup); // go over the generated files and add addl datasets (if the files were deleted) generatedFiles.map(function (file) { var pair = file.name.split('.')[0].split('-'); - var dataset = datasetLookup[pair[0]]; - if (!dataset) { - dataset = empty_dataset(pair[0]); - datasetLookup[dataset.name] = dataset; - folderLookup[file.folder_id].datasets.push(dataset); - } + var dataset = get_dataset(pair[0], folderLookup[file.folder_id], unsortedFolder, file.date); dataset.output.push(file); file.epoch = file.epoch || pair[1]; }); - // console.log(datasets) var flatDatasets = datasets.filter(function (s) { return s.name.match(/(wav|aiff?|flac|mp3)$/) && !s.dir; }); @@ -4582,23 +4534,13 @@ var load_directories = exports.load_directories = function load_directories(id) return s.dir; }); builtDatasets.forEach(function (dir) { - var dataset = datasetLookup[dir.name]; - if (!dataset) { - dataset = empty_dataset(dir.name); - datasetLookup[dataset.name] = dataset; - folderLookup.unsorted.datasets.push(dataset); - } + var dataset = get_dataset(dir.name); dataset.isBuilt = true; }); flatDatasets.forEach(function (file) { var name = file.name.split('.')[0]; - var dataset = datasetLookup[name]; - if (!dataset) { - dataset = empty_dataset(name); - datasetLookup[dataset.name] = dataset; - folderLookup.unsorted.datasets.push(dataset); - } + var dataset = get_dataset(name, unsortedFolder, file.date); file.persisted = false; dataset.input.push(file); }); @@ -4614,14 +4556,15 @@ var load_directories = exports.load_directories = function load_directories(id) }).reduce(function (a, b) { return (a[b[0]] = b[1]) && a; }, {}); - checkpoint.name = checkpoint.dataset || checkpoint.exp; + checkpoint.name = checkpoint.name || checkpoint.dataset || checkpoint.exp; checkpoint.date = s.date; checkpoint.dir = s; - var dataset = datasetLookup[checkpoint.dataset]; - if (!dataset) { - dataset = empty_dataset(checkpoint.dataset); - datasetLookup[dataset.name] = dataset; - folderLookup.unsorted.datasets.push(dataset); + checkpoint.persisted = false; + var dataset = get_dataset(checkpoint.name, unsortedFolder, checkpoint.date); + var loss = lossReport[checkpoint.name]; + if (loss) { + dataset.epoch = checkpoint.epoch = loss.length; + checkpoint.training_loss = loss; } dataset.checkpoints.push(checkpoint); return checkpoint; @@ -4629,14 +4572,10 @@ var load_directories = exports.load_directories = function load_directories(id) output.map(function (file) { var pair = file.name.split('.')[0].split('-'); - var dataset = datasetLookup[pair[0]]; - if (!dataset) { - dataset = empty_dataset(pair[0]); - datasetLookup[dataset.name] = dataset; - folderLookup.unsorted.datasets.push(dataset); - } + var dataset = get_dataset(pair[0], unsortedFolder, file.date); file.persisted = false; - file.epoch = file.epoch || pair[1].replace(/^\D+/, ''); + file.epoch = parseInt(file.epoch || pair[1].replace(/^\D+/, '')) || 0; + dataset.epoch = Math.max(file.epoch, dataset.epoch || 0); dataset.output.push(file); }); @@ -4665,7 +4604,7 @@ var load_directories = exports.load_directories = function load_directories(id) var load_loss = exports.load_loss = function load_loss() { return function (dispatch) { - _actions2.default.socket.run_script({ module: 'samplernn', activity: 'report' }).then(function (report) { + return _actions2.default.socket.run_script({ module: 'samplernn', activity: 'report' }).then(function (report) { var lossReport = {}; report.stdout.split('\n\n').filter(function (a) { return !!a; @@ -4688,6 +4627,7 @@ var load_loss = exports.load_loss = function load_loss() { type: _types2.default.samplernn.load_loss, lossReport: lossReport }); + return lossReport; }); }; }; @@ -4733,6 +4673,10 @@ var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js" var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +var _util = __webpack_require__(/*! ../../util */ "./app/client/util/index.js"); + +var util = _interopRequireWildcard(_util); + var _samplernn = __webpack_require__(/*! ./samplernn.actions */ "./app/client/modules/samplernn/samplernn.actions.js"); var samplernnActions = _interopRequireWildcard(_samplernn); @@ -4783,11 +4727,15 @@ var SampleRNNDatasets = function (_Component) { _this.fileOptions = _this.fileOptions.bind(_this); _this.pickFile = _this.pickFile.bind(_this); - var id = props.match.params.id; + var id = props.match.params.id || localStorage.getItem('samplernn.last_id'); if (!id && props.location.pathname.match(/\/new\//)) { id = 'new'; + } else if (id) { + localStorage.setItem('samplernn.last_id', id); + } + if (id && (!props.samplernn.folder || props.samplernn.folder.id !== id)) { + props.actions.load_directories(id); } - props.actions.load_directories(id); return _this; } @@ -4837,25 +4785,31 @@ var SampleRNNDatasets = function (_Component) { ); } }, { - key: 'fetchURL', - value: function fetchURL(url) {} - }, { key: 'render', value: function render() { var samplernn = this.props.samplernn; var folder = samplernn.folder; if (!folder.name) return; - console.log(folder); - var datasets = folder.datasets.map(function (dataset) { - console.log(dataset); + + var _util$sort$orderByFn = util.sort.orderByFn('date desc'), + mapFn = _util$sort$orderByFn.mapFn, + sortFn = _util$sort$orderByFn.sortFn; + + var datasets = folder.datasets.map(mapFn).sort(sortFn).map(function (pair) { + var dataset = pair[1]; return (0, _preact.h)( 'div', { className: 'row dataset' }, (0, _preact.h)( 'div', { className: 'col' }, - !!dataset.input.length && (0, _preact.h)(_fileList.FileList, { files: dataset.input, className: 'input_files', fileListClassName: '', rowClassName: 'input_file' }) + !!dataset.input.length && (0, _preact.h)(_fileList.FileList, { + files: dataset.input, + className: 'input_files', + fileListClassName: '', + rowClassName: 'input_file' + }) ), (0, _preact.h)( 'div', @@ -4863,18 +4817,26 @@ var SampleRNNDatasets = function (_Component) { (0, _preact.h)( 'div', null, - dataset.isBuilt ? 'has dataset' : 'not built' + dataset.isBuilt ? 'cached' : '' ) ), (0, _preact.h)( 'div', { className: 'col checkpoint' }, - !!dataset.checkpoints.length && (0, _preact.h)(_fileList.FileRow, { file: dataset.checkpoints[0] }) + !!dataset.checkpoints.length && (0, _preact.h)(_fileList.FileRow, { + file: dataset.checkpoints[0], + fields: 'name date epoch', + className: 'row checkpoint' + }) ), (0, _preact.h)( 'div', { className: 'col' }, - !!dataset.output.length && (0, _preact.h)(_fileList.FileList, { files: dataset.output, orderBy: 'epoch desc' }) + !!dataset.output.length && (0, _preact.h)(_fileList.FileList, { + files: dataset.output, + orderBy: 'epoch desc', + fields: 'name date epoch size' + }) ) ); }); @@ -4885,7 +4847,7 @@ var SampleRNNDatasets = function (_Component) { 'div', { className: 'heading' }, (0, _preact.h)( - 'h3', + 'h2', null, 'SampleRNN' ) @@ -4901,11 +4863,7 @@ var SampleRNNDatasets = function (_Component) { { 'class': 'col' }, 'input' ), - (0, _preact.h)( - 'div', - { 'class': 'col' }, - 'dataset' - ), + (0, _preact.h)('div', { 'class': 'col' }), (0, _preact.h)( 'div', { 'class': 'col' }, @@ -4926,18 +4884,6 @@ var SampleRNNDatasets = function (_Component) { return SampleRNNDatasets; }(_preact.Component); -// <Dataset -// canRename -// canUpload -// canAddURL -// canDeleteFile -// linkFiles -// fileOptions={this.fileOptions} -// onPick={this.handlePick} -// folder={samplernn.folder} -// files={samplernn.folder.files} -// /> - var mapStateToProps = function mapStateToProps(state) { return { samplernn: state.module.samplernn, @@ -5181,7 +5127,7 @@ var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js" var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); -var _util = __webpack_require__(/*! ../../util */ "./app/client/util.js"); +var _util = __webpack_require__(/*! ../../util */ "./app/client/util/index.js"); var _samplernn = __webpack_require__(/*! ./samplernn.actions */ "./app/client/modules/samplernn/samplernn.actions.js"); @@ -5328,9 +5274,15 @@ var SampleRNNLoss = function (_Component) { // if ( (ii % 1) < 0.1) { // ctx.strokeStyle = 'rgba(255,255,255,1.0)' ctx.lineWidth = 2; + ctx.setLineDash([4, 4]); ctx.stroke(); ctx.stroke(); ctx.stroke(); + ctx.setLineDash([0, 0]); + var fontSize = 12; + ctx.font = 'italic ' + fontSize * devicePixelRatio + 'px "Georgia"'; + ctx.fill = 'black'; + ctx.fillText(ii.toFixed(1), w - 50, h - Y + fontSize + 10 * devicePixelRatio); // } } ctx.lineWidth = 1; @@ -5339,7 +5291,7 @@ var SampleRNNLoss = function (_Component) { var loss = lossReport[key]; var vf = parseFloat(loss[loss.length - 1].training_loss) || 0; var vg = parseFloat(loss[0].training_loss) || 5; - console.log(vf); + // console.log(vf) var vv = 1 - (0, _util.norm)(vf, scaleMin, scaleMax / 2); ctx.lineWidth = (1 - (0, _util.norm)(vf, scaleMin, scaleMax)) * 5; ctx.strokeStyle = 'rgba(' + [(0, _util.randrange)(30, 190), (0, _util.randrange)(30, 150), (0, _util.randrange)(60, 120)].join(',') + ',' + 0.8 + ')'; @@ -5477,6 +5429,225 @@ exports.default = samplernnReducer; /***/ }), +/***/ "./app/client/modules/samplernn/samplernn.results.js": +/*!***********************************************************!*\ + !*** ./app/client/modules/samplernn/samplernn.results.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +var _util = __webpack_require__(/*! ../../util */ "./app/client/util/index.js"); + +var util = _interopRequireWildcard(_util); + +var _samplernn = __webpack_require__(/*! ./samplernn.actions */ "./app/client/modules/samplernn/samplernn.actions.js"); + +var samplernnActions = _interopRequireWildcard(_samplernn); + +var _dataset = __webpack_require__(/*! ../../dataset/dataset.component */ "./app/client/dataset/dataset.component.js"); + +var _dataset2 = _interopRequireDefault(_dataset); + +var _group = __webpack_require__(/*! ../../common/group.component */ "./app/client/common/group.component.js"); + +var _group2 = _interopRequireDefault(_group); + +var _slider = __webpack_require__(/*! ../../common/slider.component */ "./app/client/common/slider.component.js"); + +var _slider2 = _interopRequireDefault(_slider); + +var _select = __webpack_require__(/*! ../../common/select.component */ "./app/client/common/select.component.js"); + +var _select2 = _interopRequireDefault(_select); + +var _button = __webpack_require__(/*! ../../common/button.component */ "./app/client/common/button.component.js"); + +var _button2 = _interopRequireDefault(_button); + +var _fileList = __webpack_require__(/*! ../../common/fileList.component */ "./app/client/common/fileList.component.js"); + +var _textInput = __webpack_require__(/*! ../../common/textInput.component */ "./app/client/common/textInput.component.js"); + +var _textInput2 = _interopRequireDefault(_textInput); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var SampleRNNResults = function (_Component) { + _inherits(SampleRNNResults, _Component); + + function SampleRNNResults(props) { + _classCallCheck(this, SampleRNNResults); + + var _this = _possibleConstructorReturn(this, (SampleRNNResults.__proto__ || Object.getPrototypeOf(SampleRNNResults)).call(this)); + + _this.fileOptions = _this.fileOptions.bind(_this); + _this.pickFile = _this.pickFile.bind(_this); + var id = props.match.params.id || localStorage.getItem('samplernn.last_id'); + if (!props.samplernn.data) props.actions.load_directories(); + return _this; + } + + _createClass(SampleRNNResults, [{ + key: 'pickFile', + value: function pickFile(file) { + console.log('pick', file); + } + }, { + key: 'fileOptions', + value: function fileOptions(file) { + var _this2 = this; + + if (file.activity === 'url' && !file.dataset) { + if (this.props.runner.cpu.status !== 'IDLE') { + return (0, _preact.h)( + 'div', + { className: 'gray' }, + 'fetching...' + ); + } else { + return (0, _preact.h)( + 'div', + { className: 'link', onClick: function onClick() { + return _this2.fetchURL(file.url); + } }, + 'fetch' + ); + } + } + return (0, _preact.h)( + 'div', + null, + (0, _preact.h)( + 'div', + { className: 'link', onClick: function onClick() { + return _this2.train(file); + } }, + 'train' + ), + file.epoch == 0 && (0, _preact.h)( + 'div', + { className: 'epochs' }, + file.epochs, + ' ep.' + ) + ); + } + }, { + key: 'render', + value: function render() { + if (this.props.samplernn.loading) return (0, _preact.h)( + 'span', + null, + 'Loading' + ); + console.log(this.props.samplernn.data); + var folderLookup = this.props.samplernn.data.folderLookup; + // const { folderLookup } = samplernn + + console.log(this.props); + + var renders = Object.keys(folderLookup).sort(util.sort.stringSort.asc).map(function (key) { + var folder = folderLookup[key]; + + var _util$sort$orderByFn = util.sort.orderByFn('epoch desc'), + mapFn = _util$sort$orderByFn.mapFn, + sortFn = _util$sort$orderByFn.sortFn; + + console.log(mapFn, sortFn); + var datasetPairs = folder.datasets.map(mapFn).sort(sortFn); + var bestRenders = datasetPairs.map(function (pair) { + return pair[1]; + }).filter(function (dataset) { + return dataset.output.length; + }).map(function (dataset) { + var output = dataset.output; + + return output.map(mapFn).sort(sortFn)[0][1]; + }); + console.log(bestRenders.map(function (r) { + return r.epoch; + })); + return (0, _preact.h)( + 'div', + { className: 'col' }, + (0, _preact.h)( + 'h3', + null, + key + ), + !!bestRenders.length && (0, _preact.h)(_fileList.FileList, { + files: bestRenders, + orderBy: 'epoch desc', + fields: 'name date epoch size' + }) + ); + }); + + return (0, _preact.h)( + 'div', + { className: 'app' }, + (0, _preact.h)( + 'div', + { className: 'heading' }, + (0, _preact.h)( + 'h2', + null, + 'SampleRNN' + ) + ), + (0, _preact.h)( + 'div', + { 'class': 'rows params renders' }, + renders + ) + ); + } + }]); + + return SampleRNNResults; +}(_preact.Component); + +var mapStateToProps = function mapStateToProps(state) { + return { + samplernn: state.module.samplernn, + runner: state.system.runner, + task: state.task + }; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return { + actions: (0, _redux.bindActionCreators)(samplernnActions, dispatch) + }; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SampleRNNResults); + +/***/ }), + /***/ "./app/client/queue/queue.actions.js": /*!*******************************************!*\ !*** ./app/client/queue/queue.actions.js ***! @@ -6891,14 +7062,320 @@ exports.default = (_system$app$folder$fi = { /***/ }), -/***/ "./app/client/util.js": -/*!****************************!*\ - !*** ./app/client/util.js ***! - \****************************/ +/***/ "./app/client/util/index.js": +/*!**********************************!*\ + !*** ./app/client/util/index.js ***! + \**********************************/ /*! no static exports found */ -/***/ (function(module, exports) { +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.is_desktop = exports.is_mobile = exports.is_android = exports.is_ipad = exports.is_iphone = exports.sort = undefined; +exports.clamp = clamp; +exports.norm = norm; +exports.lerp = lerp; +exports.mix = mix; +exports.randint = randint; +exports.randrange = randrange; +exports.timeInSeconds = timeInSeconds; +exports.gerund = gerund; +exports.commatize = commatize; +exports.carbon_date = carbon_date; +exports.hush_views = hush_views; +exports.hush_threads = hush_threads; +exports.hush_size = hush_size; +exports.hush_null = hush_null; +exports.get_age = get_age; +exports.courtesy_s = courtesy_s; + +var _sort = __webpack_require__(/*! ./sort */ "./app/client/util/sort.js"); + +var sort = _interopRequireWildcard(_sort); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +exports.sort = sort; +var is_iphone = exports.is_iphone = !!(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i)); +var is_ipad = exports.is_ipad = !!navigator.userAgent.match(/iPad/i); +var is_android = exports.is_android = !!navigator.userAgent.match(/Android/i); +var is_mobile = exports.is_mobile = is_iphone || is_ipad || is_android; +var is_desktop = exports.is_desktop = !is_mobile; + +var htmlClassList = document.body.parentNode.classList; +htmlClassList.add(is_desktop ? 'desktop' : 'mobile'); +htmlClassList.remove('loading'); + +// window.debug = false + +function clamp(n, a, b) { + return n < a ? a : n < b ? n : b; +} +function norm(n, a, b) { + return (n - a) / (b - a); +} +function lerp(n, a, b) { + return (b - a) * n + a; +} +function mix(n, a, b) { + return a * (1 - n) + b * n; +} +function randint(n) { + return Math.floor(Math.random() * n); +} +function randrange(a, b) { + return Math.random() * (b - a) + a; +} -throw new Error("Module build failed: Error: ENOENT: no such file or directory, open '/Users/user/neural/live-cortex/app/client/util.js'"); +document.body.style.backgroundImage = 'linear-gradient(' + (randint(40) + 40) + 'deg, #fde, #ffe)'; + +function timeInSeconds(n) { + return (n / 10).toFixed(1) + ' s.'; +} +function gerund(s) { + return s.replace(/e?$/, 'ing'); +} +function commatize(n, radix) { + radix = radix || 1024; + var nums = [], + i, + counter = 0, + r = Math.floor; + if (n > radix) { + n /= radix; + nums.unshift(r(n * 10 % 10)); + nums.unshift("."); + } + do { + i = n % 10; + n = r(n / 10); + if (n && !(++counter % 3)) { + i = ' ' + r(i); + } + nums.unshift(r(i)); + } while (n); + return nums.join(""); +} +function carbon_date(date, no_bold) { + var span = (+new Date() - new Date(date)) / 1000, + color; + if (!no_bold && span < 86400) // modified today + { + color = "new"; + } else if (span < 604800) // modifed this week + { + color = "recent"; + } else if (span < 1209600) // modifed 2 weeks ago + { + color = "med"; + } else if (span < 3024000) // modifed 5 weeks ago + { + color = "old"; + } else if (span < 12315200) // modifed 6 months ago + { + color = "older"; + } else { + color = "quiet"; + } + return color; +} +function hush_views(n, bias, no_bold) { + var txt = commatize(n, 1000); + bias = bias || 1; + n = n || 0; + if (n < 30) { + return ["quiet", n + " v."]; + } + if (n < 200) { + return ["quiet", txt + " v."]; + } else if (n < 500) { + return ["quiet", txt + " v."]; + } else if (n < 1000) { + return ["old", txt + " v."]; + } else if (n < 5000) { + return ["med", txt + " kv."]; + } else if (no_bold || n < 10000) { + return ["recent", txt + " kv."]; + } else { + return ["new", txt + " kv."]; + } +} +function hush_threads(n, bias, no_bold) { + var txt = commatize(n, 1000); + bias = bias || 1; + n = n || 0; + if (n < 10) { + return ["quiet", n + " t."]; + } else if (n < 25) { + return ["old", txt + " t."]; + } else if (n < 50) { + return ["med", txt + " t."]; + } else if (no_bold || n < 100) { + return ["recent", txt + " t."]; + } else { + return ["new", txt + " t."]; + } +} +function hush_size(n, bias, no_bold) { + var txt = commatize(Math.round(n / 1024)); + bias = 1 || bias; + n = n || 0; + if (!n) { + return ['', '']; + } + if (n < 1000) { + return ["quiet", n + " b."]; + } + if (n < 1000000) { + return ["quiet", txt + " kb."]; + } else if (n < 20000000 / bias) { + return ["quiet", txt + " mb."]; + } else if (n < 50000000 / bias) { + return ["old", txt + " mb."]; + } else if (n < 80000000 / bias) { + return ["med", txt + " mb."]; + } else if (no_bold || n < 170000000 / bias) { + return ["recent", txt + " mb."]; + } else { + return ["new", txt + " mb."]; + } +} +function hush_null(n, unit, no_bold) { + var s = unit ? n + " " + unit + "." : n; + if (n < 3) { + return ["quiet", s]; + } else if (n < 6) { + return ["older", s]; + } else if (n < 10) { + return ["old", s]; + } else if (n < 16) { + return ["med", s]; + } else if (no_bold || n < 21) { + return ["recent", s]; + } else { + return ["new", s]; + } +} +function get_age(t) { + var age = Math.abs(+Date.now() - new Date(t)) / 1000; + var r = Math.floor; + var m; + if (age < 5) { + return "now"; + } + if (age < 60) { + return r(age) + "s"; + } + age /= 60; + if (age < 60) { + return r(age) + "m"; + } + m = r(age % 60); + age /= 60; + if (m > 0 && age < 2) { + return r(age) + "h" + m + "m"; + } + if (age < 24) { + return r(age) + "h"; + } + age /= 24; + if (age < 7) { + return r(age) + "d"; + } + age /= 7; + if (age < 12) { + return r(age) + "w"; + } + age /= 4; + if (age < 12) { + return r(age) + "m"; + } + age /= 12; + return r(age) + "y"; +} +function courtesy_s(n, s) { + return n == 1 ? "" : s || "s"; +} + +/***/ }), + +/***/ "./app/client/util/sort.js": +/*!*********************************!*\ + !*** ./app/client/util/sort.js ***! + \*********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var numericSort = exports.numericSort = { + asc: function asc(a, b) { + return a[0] - b[0]; + }, + desc: function desc(a, b) { + return b[0] - a[0]; + } +}; +var stringSort = exports.stringSort = { + asc: function asc(a, b) { + return a[0].localeCompare(b[0]); + }, + desc: function desc(a, b) { + return b[0].localeCompare(a[0]); + } +}; +var orderByFn = exports.orderByFn = function orderByFn() { + var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'name asc'; + + var _s$split = s.split(' '), + _s$split2 = _slicedToArray(_s$split, 2), + _s$split2$ = _s$split2[0], + field = _s$split2$ === undefined ? 'name' : _s$split2$, + _s$split2$2 = _s$split2[1], + direction = _s$split2$2 === undefined ? 'asc' : _s$split2$2; + + var mapFn = void 0, + sortFn = void 0; + switch (field) { + case 'epoch': + mapFn = function mapFn(a) { + return [parseInt(a.epoch || a.epochs) || 0, a]; + }; + sortFn = numericSort[direction]; + break; + case 'size': + mapFn = function mapFn(a) { + return [a.size, a]; + }; + sortFn = numericSort[direction]; + break; + case 'date': + mapFn = function mapFn(a) { + return [+new Date(a.date || a.created_at), a]; + }; + sortFn = numericSort[direction]; + break; + case 'name': + default: + mapFn = function mapFn(a) { + return [a.id || a.name, a]; + }; + sortFn = stringSort[direction]; + break; + } + return { mapFn: mapFn, sortFn: sortFn }; +}; /***/ }), |
