def setUp(self): sentence_1 = Sentence('今すぐ泳ぎなさい', '') self.sc_1 = SentenceClassifier(sentence_1) sentence_2 = Sentence('魚雷を発射するとよい', '') self.sc_2 = SentenceClassifier(sentence_2) sentence_3 = Sentence('島風を育ててはいかがでしょう', '') self.sc_3 = SentenceClassifier(sentence_3) sentence_4 = Sentence('はい、大丈夫です!', '') self.sc_4 = SentenceClassifier(sentence_4) sentence_5 = Sentence('浴室は使用前に一度、熱湯消毒をしましょう!', '') self.sc_5 = SentenceClassifier(sentence_5)
class TestSentenceClassifier(unittest.TestCase): def setUp(self): sentence_1 = Sentence('今すぐ泳ぎなさい', '') self.sc_1 = SentenceClassifier(sentence_1) sentence_2 = Sentence('魚雷を発射するとよい', '') self.sc_2 = SentenceClassifier(sentence_2) sentence_3 = Sentence('島風を育ててはいかがでしょう', '') self.sc_3 = SentenceClassifier(sentence_3) sentence_4 = Sentence('はい、大丈夫です!', '') self.sc_4 = SentenceClassifier(sentence_4) sentence_5 = Sentence('浴室は使用前に一度、熱湯消毒をしましょう!', '') self.sc_5 = SentenceClassifier(sentence_5) def test_cleared_one_hurdle_problem_r_i(self): result = self.sc_1.cleared_one_hurdle_problem_r_i() self.assertEqual(result, 0) def test_cleared_two_hurdle_problem_r_i(self): result = self.sc_2.cleared_two_hurdle_problem_r_i() self.assertEqual(result, 1) result_2 = self.sc_3.cleared_two_hurdle_problem_r_i() self.assertEqual(result_2, 4) def test_direction_r_i(self): result_1 = self.sc_1.direction_r_i() self.assertEqual(result_1, 0) result_2 = self.sc_2.direction_r_i() self.assertEqual(result_2, 1) result_3 = self.sc_3.direction_r_i() self.assertEqual(result_3, 4) result_4 = self.sc_4.direction_r_i() self.assertEqual(result_4, False) result_5 = self.sc_5.direction_r_i() self.assertEqual(result_5, 2)
def direction_r_i(self): sc = SentenceClassifier(self) return sc.direction_r_i()
if not os.path.exists(ckpt_folder): os.makedirs(ckpt_folder) steps_per_epoch = len(train_ds) ckpt_freq = int(steps_per_epoch / train_config['checkpoints_per_epoch']) cp_callback = CheckpointSaver(ckpt_folder, ckpt_freq, steps_per_epoch, starting_epoch=train_config['starting_epoch']) sts_eval_callback = STSEvalCallback( sts_val, sts_loss_weight=sts_config['sts_loss_weight']) model = SentenceClassifier(cls_config['seq_len'], tokenizer, train_config['rnn_units'], train_config['recurrent_layer'], train_config['embed_dim']) model.set_sts_data(sts_train, 1, steps_per_epoch, sts_config['sts_loss_weight'], sts_config['sts_batch_size']) original_sentence_precision = ClassWisePrecision( cls_config['original_sentence_label'], name='precision_original_sentence') changed_sentence_precision = ClassWisePrecision( cls_config['changed_sentence_label'], name='precision_changed_sentence') original_sentence_recall = ClassWiseRecall( cls_config['original_sentence_label'], name='recall_original_sentence') changed_sentence_recall = ClassWiseRecall(cls_config['changed_sentence_label'], name='recall_changed_sentence')