rnn.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:rupo 作者: IlyaGusev 项目源码 文件源码
def train(self, dir_name: str, enable_checkpoints: bool = False, checkpoint: str = None) -> None:
        """
        ???????? ??????.

        :param dir_name: ????? ? ???????? ??????.
        :param enable_checkpoints: ???????????? ?? ?????????.
        :param checkpoint: ???????? ?????????.
        """
        # ?????????? ??????
        x, y = self.load_dict()
        x, y = self.prepare_data(x, y)
        # ??????? ?? ???????.
        x_train, x_val, y_train, y_val = train_test_split(x, y, test_size=0.2, random_state=42)
        x_test, x_val, y_test, y_val = train_test_split(x_val, y_val, test_size=0.5, random_state=42)
        # ???????? ?????? ????????.
        callbacks = [EarlyStopping(monitor='val_acc', patience=2)]  # type: List[Callback]
        if enable_checkpoints:
            checkpoint_name = os.path.join(dir_name, "{epoch:02d}-{val_loss:.2f}.hdf5")
            callbacks.append(ModelCheckpoint(checkpoint_name, monitor='val_loss'))
        if checkpoint is not None:
            self.load(checkpoint)
        self.model.fit(x_train, y_train, verbose=1, epochs=60, batch_size=self.batch_size,
                       validation_data=(x_val, y_val), callbacks=callbacks)
        # ??????? ???????? ? word error rate ?? test ???????.
        accuracy = self.model.evaluate(x_test, y_test)[1]
        wer = self.evaluate_wer(x_test, y_test)[0]
        # ???? ????? ???????? ?? ???? ????????.
        self.model.fit(x, y, verbose=1, epochs=1, batch_size=self.batch_size)
        # ?????????? ??????.
        filename = "g2p_{language}_maxlen{maxlen}_B{rnn}{units1}_B{rnn}{units2}_dropout{dropout}_acc{acc}_wer{wer}.h5"
        filename = filename.format(language=self.language, rnn=self.rnn.__name__,
                                   units1=self.units1, units2=self.units2, dropout=self.dropout,
                                   acc=int(accuracy * 1000), wer=int(wer * 1000), maxlen=self.word_max_length)
        self.model.save(os.path.join(dir_name, filename))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号