我正在fastText使用gensim.models.fasttext. 但是,我似乎找不到一种方法来计算迭代损失以进行记录。如果我查看gensim.models.word2vec,它具有get_latest_training_loss允许您打印训练损失的方法。有没有其他选择,或者根本不可能?
什么会导致model.get_latest_training_loss()每个时期增加的损失?
用于训练的代码:
class EpochSaver(CallbackAny2Vec):
'''Callback to save model after each epoch and show training parameters '''
def __init__(self, savedir):
self.savedir = savedir
self.epoch = 0
os.makedirs(self.savedir, exist_ok=True)
def on_epoch_end(self, model):
savepath = os.path.join(self.savedir, "model_neg{}_epoch.gz".format(self.epoch))
model.save(savepath)
print(
"Epoch saved: {}".format(self.epoch + 1),
"Start next epoch ... ", sep="\n"
)
if os.path.isfile(os.path.join(self.savedir, "model_neg{}_epoch.gz".format(self.epoch - 1))):
print("Previous model deleted ")
os.remove(os.path.join(self.savedir, "model_neg{}_epoch.gz".format(self.epoch - 1)))
self.epoch += 1
print("Model loss:", model.get_latest_training_loss())
def train():
### Initialize model ###
print("Start training Word2Vec model")
workers …Run Code Online (Sandbox Code Playgroud)