summaryrefslogtreecommitdiff
path: root/app/client
diff options
context:
space:
mode:
Diffstat (limited to 'app/client')
-rw-r--r--app/client/modules/biggan/biggan.actions.js168
-rw-r--r--app/client/modules/biggan/views/biggan.new.js2
-rw-r--r--app/client/modules/biggan/views/biggan.results.js30
3 files changed, 170 insertions, 30 deletions
diff --git a/app/client/modules/biggan/biggan.actions.js b/app/client/modules/biggan/biggan.actions.js
index 188a0d8..df78481 100644
--- a/app/client/modules/biggan/biggan.actions.js
+++ b/app/client/modules/biggan/biggan.actions.js
@@ -10,3 +10,171 @@ import actions from '../../actions'
import util from '../../util'
import bigganModule from './biggan.module'
+
+export const load_directories = (id) => (dispatch) => {
+ const module = bigganModule.name
+ util.allProgress([
+ datasetLoader.load(module),
+ actions.socket.list_directory({ module, dir: 'sequences' }),
+ actions.socket.list_directory({ module, dir: 'datasets' }),
+ actions.socket.list_directory({ module, dir: 'checkpoints' }),
+ // actions.socket.disk_usage({ module, dir: 'datasets' }),
+ ], (percent, i, n) => {
+ console.log('biggan load progress', i, n)
+ dispatch({
+ type: types.app.load_progress,
+ progress: { i, n },
+ data: { module: 'biggan' },
+ })
+ }).then(res => {
+ const [datasetApiReport, sequences, datasets, checkpoints] = res //, datasets, results, output, datasetUsage, lossReport] = res
+ const {
+ folderLookup,
+ fileLookup,
+ datasetLookup,
+ folders,
+ files,
+ unsortedFolder,
+ resultsFolder,
+ } = datasetApiReport
+ // console.log(datasetUsage)
+
+ const sequenceDirectories = sequences.filter(s => s.dir)
+ // console.log(sequenceDirectories)
+ sequenceDirectories.forEach(dir => {
+ const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name)
+ dataset.isBuilt = true
+ // console.log(dir.name, dataset)
+ })
+
+ datasets.filter(s => s.dir).forEach(dir => {
+ const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name)
+ dataset.hasDataset = true
+ })
+
+ const checkpointDirectories = checkpoints.filter(s => s.dir)
+ checkpointDirectories.forEach(dir => {
+ const dataset = datasetLoader.getDataset(module, datasetLookup, dir.name)
+ dataset.hasCheckpoints = true
+ dataset.checkpoints = [dir]
+ })
+
+ // console.log(res)
+
+ // flatDatasets.forEach(file => {
+ // file.uuid = uuidv1()
+ // fileLookup[file.uuid] = file
+ // const name = file.name.split('.')[0]
+ // const dataset = datasetLoader.getDataset(module, datasetLookup, name, unsortedFolder, file.date)
+ // file.persisted = false
+ // dataset.input.push(file.uuid)
+ // })
+
+ // // exp:coccokit_3-frame_sizes:8,2-n_rnn:2-dataset:coccokit_3
+ // const checkpoints = results.filter(s => s.dir).map(s => {
+ // const checkpoint = s.name
+ // .split('-')
+ // .map(s => s.split(':'))
+ // .filter(b => b.length && b[1])
+ // .reduce((a,b) => (a[b[0]] = b[1]) && a, {})
+ // checkpoint.name = checkpoint.name || checkpoint.dataset || checkpoint.exp
+ // checkpoint.date = s.date
+ // checkpoint.dir = s
+ // checkpoint.persisted = false
+ // const dataset = datasetLoader.getDataset(module, datasetLookup, checkpoint.name, unsortedFolder, checkpoint.date)
+ // const loss = lossReport[checkpoint.name]
+ // if (loss) {
+ // dataset.epoch = checkpoint.epoch = loss.length
+ // checkpoint.training_loss = loss
+ // }
+ // dataset.checkpoints.push(checkpoint)
+ // return checkpoint
+ // })
+
+ // output.map(file => {
+ // file.uuid = uuidv1()
+ // fileLookup[file.uuid] = file
+ // const pair = file.name.split('.')[0].split('-')
+ // const dataset = datasetLoader.getDataset(module, datasetLookup, pair[0], unsortedFolder, file.date)
+ // file.persisted = false
+ // file.epoch = parseInt(file.epoch || pair[1].replace(/^\D+/, '')) || 0
+ // dataset.epoch = Math.max(file.epoch, dataset.epoch || 0)
+ // // here check if the file exists in dataset, if so just check that it's persisted
+ // const found = dataset.output.some(file_id => {
+ // // if (f.name ===
+ // if (fileLookup[file_id].name === file.name) {
+ // fileLookup[file_id].persisted = true
+ // return true
+ // }
+ // return false
+ // })
+ // if (! found) {
+ // dataset.output.push(file.uuid)
+ // }
+ // })
+
+ dispatch({
+ type: types.dataset.load,
+ data: {
+ module,
+ folderLookup,
+ fileLookup,
+ datasetLookup,
+ folders, files,
+ sequences: sequenceDirectories,
+ datasets,
+ checkpoints: checkpointDirectories,
+ resultsFolder,
+ },
+ })
+ if (id) {
+ console.log('folder id', id)
+ dispatch({
+ type: types.dataset.set_folder,
+ data: {
+ folder_id: id,
+ module
+ },
+ })
+ }
+ }).catch(e => {
+ console.error(e)
+ })
+ if (id) {
+ console.log('folder id', id)
+ dispatch({
+ type: types.dataset.set_folder,
+ data: {
+ folder_id: id,
+ module
+ },
+ })
+ }
+}
+
+export const load_results = (id) => (dispatch) => {
+ const module = bigganModule.name
+ util.allProgress([
+ actions.folder.index({ name: 'results' }),
+ actions.file.index({ module, generated: 1, limit: 250 }),
+ // actions.socket.list_directory({ module, dir: 'renders' }),
+ // actions.socket.list_sequences({ module, dir: 'results' }),
+ ], (percent, i, n) => {
+ console.log('biggan load progress', i, n)
+ dispatch({
+ type: types.app.load_progress,
+ progress: { i, n },
+ data: { module: 'biggan' },
+ })
+ }).then(res => {
+ const [folders, files] = res //, datasets, results, output, datasetUsage, lossReport] = res
+ // console.log(files, results, renders)
+ dispatch({
+ type: types.biggan.load_results,
+ results: {
+ resultsFolder: folders[0],
+ files,
+ }
+ })
+ })
+}
diff --git a/app/client/modules/biggan/views/biggan.new.js b/app/client/modules/biggan/views/biggan.new.js
index 0d0f74f..ca28b92 100644
--- a/app/client/modules/biggan/views/biggan.new.js
+++ b/app/client/modules/biggan/views/biggan.new.js
@@ -13,7 +13,7 @@ function BigGANNew(props){
return (
<Views.New
db={props.biggan}
- path='/biggan/sequences/'
+ path='/biggan/datasets/'
actions={props.actions}
module={bigganModule}
history={props.history}
diff --git a/app/client/modules/biggan/views/biggan.results.js b/app/client/modules/biggan/views/biggan.results.js
index d76b301..3cdb470 100644
--- a/app/client/modules/biggan/views/biggan.results.js
+++ b/app/client/modules/biggan/views/biggan.results.js
@@ -54,34 +54,6 @@ class BigGANResults extends Component {
}
}}
/>
- <br />
-
- <h3>renders on server</h3>
- <FileList
- files={renders}
- orderBy='date desc'
- fields={'name date size'}
- onClick={(file, e) => {
- e.preventDefault()
- e.stopPropagation()
- console.log('picked a result', file)
- this.handlePick(file)
- }}
- />
- <br />
-
- <h3>folders on server</h3>
- <FileList
- files={results}
- orderBy='date desc'
- fields={'name date count'}
- onClick={(file, e) => {
- e.preventDefault()
- e.stopPropagation()
- console.log('picked a result', file)
- this.handlePick(file)
- }}
- />
</div>
</div>
@@ -102,4 +74,4 @@ const mapDispatchToProps = (dispatch, ownProps) => ({
// audioPlayer: bindActionCreators(audioPlayerActions, dispatch),
})
-export default connect(mapStateToProps, mapDispatchToProps)(bigganResults)
+export default connect(mapStateToProps, mapDispatchToProps)(BigGANResults)