Machine learning 用于.tsv文件创建的带历元号的动态名称格式

Machine learning 用于.tsv文件创建的带历元号的动态名称格式,machine-learning,keras,format,embedding,Machine Learning,Keras,Format,Embedding,我在Keras中进行了这个定制回调,用于在每个历元结束时获取嵌入向量。它应该将向量保存在.tsv上,但由于名称不会在每个历元上更新,因此会重写第一个文件。所以在训练结束时,我只得到上一个历元的向量。 我需要一种在.tsv文件名上添加历元号的方法,但我不知道如何做 守则: import io encoder = info.features['text'].encoder class CustomCallback(keras.callbacks.Callback): def on_epo

我在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()

如有任何建议,将不胜感激。非常感谢

您可以通过更改以下内容来实现:

out_v = io.open('vecs_{}.tsv'.format(epoch), 'w', encoding='utf-8')

文件名将为vec_1.tsv、vec_2.tsv等等。

非常感谢!