Open wonheeML opened 6 years ago
넵 감사합니다. 전 방금 돌려보고 있는데 어떤 hyperparam 에선 지금 (val_set=0) val_acc 94% 정도 나오네요!
@wonheeML 코드를 보다보니 이미 만들고 있으실 수 있을 것 같긴한데, result.txt 를 dataframe으로 받아서 Ensemble에 사용하는 것은 어떨까요? 세부적으로 고려할 사항은 좀 있지만 대략의 생각은 이렇습니다.
if no_save_ckpt == False
) best f1 score(result.txt의 best보다 좋은 Or 루프내에서 좋은)가 나오면 ckpt_path를 param_dict에 추가 (write_param에서
result.txt에 write (val0 , val1, val2 구분 필요)Ensemble X :
고려해야 할 점:
장점:
train_batch.py
를 통해 아주 많은 양의 hyperparam을 실험하고 쉽게 앙상블 할 수 있는 구조결론: result.txt
가 아주 유용한 것 같습니다.... ㅎㅎ
현재 저의 Best는 val_set=2 , Valid_acc 96.4,% F1 score 91.7% 입니다.
baseline 모델이 f1 score 0.92를 기록했습니다. (accuracy=0.97) 모델에 CNN_BASE 클래스를 추가했고, params에 param_base 파일을 추가했습니다
training set (0,2), validation set (1)로 학습했을 때의 결과이며 최종 수치는 전체 데이터로 했습니다. (valid_all.py) training data와 validation data의 accuracy나 f1 score는 크게 다르지 않습니다 파라미터가 적은 fully convolutional model이기 때문이 아닌가 생각됩니다. (ckpt 파일 크기 : 1.6MB)
모델에 튜닝할 여지가 많이 있으므로 더 좋은 결과를 기대할 수 있을 것 같습니다.
Tensorboard는 수정했는데, val_set 숫자를 마지막에 붙였는데, 항상 0이 나오는 버그가 있네요
===============================================================
layer4 = tf.nn.sigmoid(layer4)는 빼야 합니다. sigmoid_cross_entropy에서 하고 있기 때문입니다 logits은 sigmoid를 하기 전이므로 0과 비교되어야 합니다. (self.y_pred = tf.cast(tf.greater(self.logits, 0), dtype=tf.float32))