Skip to content

Commit

Permalink
fix: make sensible default for handlers (#154)
Browse files Browse the repository at this point in the history
  • Loading branch information
ydcjeff committed Jun 7, 2021
1 parent 7572419 commit 90b8649
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 19 deletions.
14 changes: 12 additions & 2 deletions src/components/FormCheckbox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</template>

<script>
import { ref, toRefs, computed } from 'vue'
import { ref, toRefs, computed, onMounted } from 'vue'
import { saveConfig, store } from '../store.js'
export default {
Expand All @@ -34,12 +34,22 @@ export default {
required: {
type: Boolean,
required: false
},
defaultV: {
type: Boolean,
default: false
}
},
setup(props) {
const { label, saveKey, required } = toRefs(props)
const { label, saveKey, required, defaultV } = toRefs(props)
const checked = ref(false)
onMounted(() => {
if (defaultV.value) {
checked.value = defaultV.value
saveChecked()
}
})
const saveChecked = () => saveConfig(saveKey.value, checked.value)
const checkboxId = computed(() => saveKey.value + '-checkbox')
const isRequired = computed(() => (required.value ? '*' : ''))
Expand Down
2 changes: 1 addition & 1 deletion src/components/FormInput.vue
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ export default {
onMounted(() => {
if (defaultV.value.length > 0 || defaultV.value) {
inputted.value = defaultV.value
saveConfig(saveKey.value, inputted.value)
saveInput()
}
})
Expand Down
13 changes: 8 additions & 5 deletions src/components/FormRadio.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
</template>

<script>
import { computed, ref, toRefs } from 'vue'
import { computed, onMounted, ref, toRefs } from 'vue'
import { saveConfig } from '../store'
export default {
props: {
Expand All @@ -43,10 +43,13 @@ export default {
setup(props) {
const { options, saveKey, required, defaultV } = toRefs(props)
const picked = ref('')
if (defaultV.value.length > 0) {
picked.value = defaultV.value
saveConfig(saveKey.value, picked.value)
}
onMounted(() => {
if (defaultV.value.length > 0) {
picked.value = defaultV.value
saveInput()
}
})
const saveInput = () => saveConfig(saveKey.value, picked.value)
const isRequired = computed(() => (required.value ? '*' : ''))
Expand Down
19 changes: 15 additions & 4 deletions src/components/FormSelect.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
</template>

<script>
import { computed, ref, toRefs } from 'vue'
import { computed, onMounted, ref, toRefs } from 'vue'
import { saveConfig } from '../store.js'
export default {
props: {
Expand All @@ -42,17 +42,28 @@ export default {
saveKey: {
type: String,
required: true
},
defaultV: {
type: String,
default: ''
}
},
setup(props) {
const { label, options, required, saveKey } = toRefs(props)
const { label, options, required, saveKey, defaultV } = toRefs(props)
const selected = ref('')
onMounted(() => {
if (defaultV.value.length > 0) {
selected.value = defaultV.value
saveSelected()
}
})
const saveSelected = () => {
if (typeof selected.value === 'string') {
selected.value = selected.value.toLowerCase()
saveConfig(saveKey.value, selected.value.toLowerCase())
} else {
saveConfig(saveKey.value, selected.value)
}
saveConfig(saveKey.value, selected.value)
}
const selectId = computed(() => saveKey.value + '-select')
const isRequired = computed(() => (required.value ? '*' : ''))
Expand Down
6 changes: 6 additions & 0 deletions src/components/TabHandlers.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,33 @@
<FormCheckbox
:label="save_training.description"
:saveKey="save_training.name"
:defaultV="save_training.default"
/>
<FormCheckbox
:label="save_evaluation.description"
:saveKey="save_evaluation.name"
:defaultV="save_evaluation.default"
/>
<FormInput
v-if="store.config.save_training"
:label="filename_prefix.description"
:saveKey="filename_prefix.name"
:type="filename_prefix.type"
:defaultV="filename_prefix.default"
/>
<FormInput
v-if="store.config.save_training"
:label="save_every_iters.description"
:saveKey="save_every_iters.name"
:type="save_every_iters.type"
:defaultV="save_every_iters.default"
/>
<FormInput
v-if="store.config.save_training || store.config.save_evaluation"
:label="n_saved.description"
:saveKey="n_saved.name"
:type="n_saved.type"
:defaultV="n_saved.default"
/>
<h2>Training Termination</h2>
<FormCheckbox
Expand All @@ -38,6 +43,7 @@
:label="patience.description"
:saveKey="patience.name"
:type="patience.type"
:defaultV="patience.default"
/>
<h2>Limit Training Time</h2>
<FormInput
Expand Down
3 changes: 3 additions & 0 deletions src/components/TabLoggers.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,19 @@
type="text"
:label="output_dir.description"
:saveKey="output_dir.name"
:defaultV="output_dir.default"
/>
<FormInput
type="number"
:label="log_every_iters.description"
:saveKey="log_every_iters.name"
:defaultV="log_every_iters.default"
/>
<FormSelect
:label="logger.description"
:options="logger.options"
:saveKey="logger.name"
:defaultV="logger.default"
/>
</div>
</template>
Expand Down
21 changes: 14 additions & 7 deletions src/metadata/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@
"save_training": {
"name": "save_training",
"type": "checkbox",
"description": "Save the training state (models, optimizers, trainers, ...)."
"description": "Save the training state (models, optimizers, trainers, ...).",
"default": true
},
"save_evaluation": {
"name": "save_evaluation",
"type": "checkbox",
"description": "Save the model(s) by best evaluation metric score."
"description": "Save the model(s) by best evaluation metric score.",
"default": true
},
"terminate_on_nan": {
"name": "terminate_on_nan",
Expand All @@ -67,25 +69,29 @@
"patience": {
"name": "patience",
"type": "number",
"description": "Number of events to wait if no improvement and then stop the training."
"description": "Number of events to wait if no improvement and then stop the training.",
"default": 3
},
"filename_prefix": {
"name": "filename_prefix",
"type": "text",
"value": "checkpointing",
"description": "What prefix would you like to put in front of saved checkpoint file? (mandatory for saving training states)"
"description": "What prefix would you like to put in front of saved checkpoint file? (mandatory for saving training states)",
"default": "training"
},
"save_every_iters": {
"name": "save_every_iters",
"type": "number",
"value": "checkpointing",
"description": "Iteration interval for saving training states (mandatory for saving training states)"
"description": "Iteration interval for saving training states (mandatory for saving training states)",
"default": 1000
},
"n_saved": {
"name": "n_saved",
"type": "number",
"value": "checkpointing",
"description": "How many checkpoint file would you like to keep on disk? (mandatory for saving both training and evaluation)"
"description": "How many checkpoint file would you like to keep on disk? (mandatory for saving both training and evaluation)",
"default": 2
},
"limit_sec": {
"name": "limit_sec",
Expand Down Expand Up @@ -118,7 +124,8 @@
"TensorBoard",
"Visdom",
"WandB"
]
],
"default": "TensorBoard"
}
}
}

0 comments on commit 90b8649

Please sign in to comment.