问题描述
我已经在Keras中进行了此自定义回调,以便在每个时期的末尾获得嵌入向量。它应该将矢量保存在.tsv中,但确实如此,但是由于名称不会在每个时期更新,因此会导致重写第一个文件。因此,在训练结束时,我只会得到最后一个时期的向量。 我需要一种在.tsv文件名上添加时期号的方法,但是我不知道该怎么做。
代码:
import io
encoder = info.features['text'].encoder
class CustomCallback(keras.callbacks.Callback):
def on_epoch_end(self,epoch,logs=None):
out_v = io.open('vecs.tsv','w',encoding='utf-8')
vec = model.layers[0].get_weights()[0]
out_v.write('\t'.join([str(x) for x in vec]) + "\n")
out_v.close()
任何建议将不胜感激。非常感谢!
解决方法
您可以通过跟踪以下内容来做到这一点:
<div id="app">
<v-app id="inspire">
<v-container fluid>
<v-row align="center">
<v-col cols="6">
<v-subheader>Custom items</v-subheader>
</v-col>
<v-col cols="6">
<v-select
v-model="select"
:hint="`${select.state},${select.abbr}`"
:items="items"
item-text="state"
item-value="abbr"
label="Select"
persistent-hint
return-object
single-line
></v-select>
<v-text-field v-model="select.state"></v-text-field>
</v-col>
</v-row>
</v-container>
</v-app>
</div>
new Vue({
el: '#app',vuetify: new Vuetify(),data () {
return {
select: { state: 'Florida',abbr: 'FL' },items: [
{ state: 'Florida',{ state: 'Georgia',abbr: 'GA' },{ state: 'Nebraska',abbr: 'NE' },{ state: 'California',abbr: 'CA' },{ state: 'New York',abbr: 'NY' },],}
},})
文件名将为vec_1.tsv,vec_2.tsv等。