diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/client/live/live.actions.js | 12 | ||||
| -rw-r--r-- | app/client/live/live.reducer.js | 10 | ||||
| -rw-r--r-- | app/client/modules/pix2pix/pix2pix.actions.js | 2 | ||||
| -rw-r--r-- | app/client/modules/pix2pix/pix2pix.tasks.js | 7 | ||||
| -rw-r--r-- | app/client/modules/pix2pix/views/pix2pix.live.js | 34 | ||||
| -rw-r--r-- | app/client/socket/socket.live.js | 23 | ||||
| -rw-r--r-- | app/client/types.js | 2 | ||||
| -rw-r--r-- | app/relay/modules/pix2pix.js | 2 |
8 files changed, 53 insertions, 39 deletions
diff --git a/app/client/live/live.actions.js b/app/client/live/live.actions.js index 0bdd8d7..348b58b 100644 --- a/app/client/live/live.actions.js +++ b/app/client/live/live.actions.js @@ -12,18 +12,18 @@ export const set_param = (key, value) => { return { type: types.player.set_param, key, value, } } -export const list_checkpoints = () => { - socket.live.list_checkpoints() +export const list_checkpoints = (module) => { + socket.live.list_checkpoints(module) return { type: types.player.loading_checkpoints, } } -export const list_epochs = (path) => { - socket.live.list_epochs(path) +export const list_epochs = (module, checkpoint) => { + socket.live.list_epochs(module, checkpoint) return { type: types.player.loading_epochs, } } -export const list_sequences = () => { - socket.live.list_sequences() +export const list_sequences = (module) => { + socket.live.list_sequences(module) return { type: types.player.loading_sequences } } diff --git a/app/client/live/live.reducer.js b/app/client/live/live.reducer.js index e7ef569..83beb03 100644 --- a/app/client/live/live.reducer.js +++ b/app/client/live/live.reducer.js @@ -18,7 +18,7 @@ const liveReducer = (state = liveInitialState, action) => { let results; switch(action.type) { - case types.player.load_params: + case types.socket.load_params: if (! action.opt || ! Object.keys(action.opt).length) { return state } @@ -38,22 +38,22 @@ const liveReducer = (state = liveInitialState, action) => { } } - case types.player.list_checkpoints: + case types.socket.list_checkpoints: return { ...state, checkpoints: action.checkpoints, epochs: [], } - case types.player.list_epochs: + case types.socket.list_epochs: return { ...state, epochs: (action.epochs || []).map(a => [ a == 'latest' ? Infinity : a, a ]) .sort((a,b) => a[0] - b[0]) .map(a => a[1]) - } + } - case types.player.list_sequences: + case types.socket.list_sequences: return { ...state, sequences: action.sequences, diff --git a/app/client/modules/pix2pix/pix2pix.actions.js b/app/client/modules/pix2pix/pix2pix.actions.js index 778bc64..d8fde65 100644 --- a/app/client/modules/pix2pix/pix2pix.actions.js +++ b/app/client/modules/pix2pix/pix2pix.actions.js @@ -50,6 +50,8 @@ export const load_directories = (id) => (dispatch) => { dataset.hasCheckpoints = true }) + console.log(res) + // flatDatasets.forEach(file => { // file.uuid = uuidv1() // fileLookup[file.uuid] = file diff --git a/app/client/modules/pix2pix/pix2pix.tasks.js b/app/client/modules/pix2pix/pix2pix.tasks.js index 9572418..db7d4b1 100644 --- a/app/client/modules/pix2pix/pix2pix.tasks.js +++ b/app/client/modules/pix2pix/pix2pix.tasks.js @@ -5,14 +5,15 @@ import types from '../../types' import actions from '../../actions' -export const live_task = (dataset, checkpoint, epochs=1) => dispatch => { +export const live_task = (sequence, checkpoint) => dispatch => { const task = { module: 'pix2pix', activity: 'live', - dataset: dataset.name, - checkpoint: checkpoint, + dataset: sequence, + checkpoint, } console.log(task) + console.log('add live task') return actions.queue.add_task(task) } diff --git a/app/client/modules/pix2pix/views/pix2pix.live.js b/app/client/modules/pix2pix/views/pix2pix.live.js index 6f5b1bd..eddcf95 100644 --- a/app/client/modules/pix2pix/views/pix2pix.live.js +++ b/app/client/modules/pix2pix/views/pix2pix.live.js @@ -16,13 +16,12 @@ import * as pix2pixActions from '../pix2pix.actions' class Pix2PixLive extends Component { constructor(props){ super() - if (! props.pix2pix || ! props.pix2pix.data) { props.pix2pixActions.load_directories() } props.actions.get_params() - // props.actions.list_checkpoints() - // props.actions.list_sequences() + props.actions.list_checkpoints('pix2pix') + props.actions.list_sequences('pix2pix') this.changeCheckpoint = this.changeCheckpoint.bind(this) this.changeEpoch = this.changeEpoch.bind(this) this.changeSequence = this.changeSequence.bind(this) @@ -32,7 +31,7 @@ class Pix2PixLive extends Component { } componentWillUpdate(nextProps) { if (nextProps.opt.checkpoint_name && nextProps.opt.checkpoint_name !== this.props.opt.checkpoint_name) { - this.props.actions.list_epochs(nextProps.opt.checkpoint_name) + this.props.actions.list_epochs('pix2pix', nextProps.opt.checkpoint_name) } } changeCheckpoint(checkpoint_name){ @@ -50,12 +49,20 @@ class Pix2PixLive extends Component { this.props.actions.seek(frame) } start(){ - // pix2pixTasks.live_task() + // console.log(this.props) + console.log('starting up!') + const sequence = this.props.pix2pix.data.sequences[0].name + console.log(sequence) + const checkpoint = this.props.pix2pix.data.checkpoints[0].name + console.log(checkpoint) + console.log(sequence, checkpoint) + this.props.pix2pixTasks.live_task(sequence, checkpoint) } - kill(){ + interrupt(){ // } togglePlaying(){ + console.log('are we..........', this.props.opt.processing) if (this.props.opt.processing) { this.props.actions.pause() } else { @@ -71,7 +78,7 @@ class Pix2PixLive extends Component { } } render(){ - console.log(this.props) + // console.log(this.props) if (this.props.pix2pix.loading) { return <Loading /> } @@ -93,13 +100,13 @@ class Pix2PixLive extends Component { <Select name='sequence_name' title='sequence' - options={this.props.pix2pix.data.sequences} + options={this.props.pix2pix.data.sequences.map(file => file.name)} onChange={this.changeSequence} /> <Select name='checkpoint_name' title='checkpoint' - options={this.props.pix2pix.data.checkpoints} + options={this.props.pix2pix.data.checkpoints.map(file => file.name)} onChange={this.changeCheckpoint} /> <Select @@ -249,7 +256,7 @@ class Pix2PixLive extends Component { return ( <Button title={'GPU Idle'} - onClick={this.start} + onClick={() => this.start()} >Start</Button> ) } @@ -257,8 +264,8 @@ class Pix2PixLive extends Component { return ( <Button title={'GPU Busy'} - onClick={this.kill} - >Kill</Button> + onClick={() => this.interrupt()} + >Interrupt</Button> ) } if (! this.props.opt.processing) { @@ -273,7 +280,7 @@ class Pix2PixLive extends Component { <Button title={'Processing'} onClick={this.togglePlaying} - >Restart</Button> + >Pause</Button> ) } } @@ -293,6 +300,7 @@ const mapStateToProps = state => ({ const mapDispatchToProps = (dispatch, ownProps) => ({ actions: bindActionCreators(liveActions, dispatch), pix2pixActions: bindActionCreators(pix2pixActions, dispatch), + pix2pixTasks: bindActionCreators(pix2pixTasks, dispatch),s }) export default connect(mapStateToProps, mapDispatchToProps)(Pix2PixLive) diff --git a/app/client/socket/socket.live.js b/app/client/socket/socket.live.js index a166c5e..ab5878e 100644 --- a/app/client/socket/socket.live.js +++ b/app/client/socket/socket.live.js @@ -5,7 +5,7 @@ import * as player from '../live/player' import { socket } from './socket.connection' socket.on('res', (data) => { - console.log('socket:', data.cmd) + // console.log('socket:', data.cmd) switch (data.cmd) { case 'get_last_frame': if (data.res !== 'working') { @@ -26,35 +26,36 @@ socket.on('res', (data) => { checkpoints: data.res, }) break - case 'list_sequences': - dispatch({ - type: types.socket.list_sequences, - sequences: data.res, - }) - break case 'list_epochs': dispatch({ type: types.socket.list_epochs, epochs: data.res, }) break + case 'list_sequences': + dispatch({ + type: types.socket.list_sequences, + sequences: data.res, + }) + break default: break } - console.log(data) + // console.log(data) }) socket.on('frame', player.onFrame) -export function list_checkpoints() { +export function list_checkpoints(module) { socket.emit('cmd', { cmd: 'list_checkpoints', + payload: module, }) } -export function list_epochs(checkpoint_name) { +export function list_epochs(module, checkpoint_name) { socket.emit('cmd', { cmd: 'list_epochs', - payload: checkpoint_name, + payload: module + '/' + checkpoint_name, }) } export function list_sequences(module) { diff --git a/app/client/types.js b/app/client/types.js index d65db3b..f7e9abb 100644 --- a/app/client/types.js +++ b/app/client/types.js @@ -54,9 +54,11 @@ export default { set_param: 'SET_PARAM', loading_checkpoints: 'LOADING_CHECKPOINTS', + loading_checkpoint: 'LOADING_CHECKPOINT', list_checkpoints: 'LIST_CHECKPOINTS', loading_sequences: 'LOADING_SEQUENCES', + loading_sequence: 'LOADING_SEQUENCE', load_sequence: 'LOAD_SEQUENCE', loading_epochs: 'LOADING_EPOCHS', diff --git a/app/relay/modules/pix2pix.js b/app/relay/modules/pix2pix.js index aba4312..c590379 100644 --- a/app/relay/modules/pix2pix.js +++ b/app/relay/modules/pix2pix.js @@ -47,7 +47,7 @@ const train = { script: 'train.py', params: (task) => { return [ - '--dataroot', './datasets/' + task.dataset, + '--dataroot', path.join(process.env.PIX2PIX_CWD, './datasets/', task.dataset), '--name', task.dataset, '--model', 'pix2pix', '--loadSize', opt.load_size || 264, |
