NER 코드를 짜던중 CRF를 사용하여야하는데 keras-contrib 라는 라이브러리에 CRF가 있는것 같다.
하지만 해당라이브러리는 tensorflow 1.14버전에서 정상 작동하는것 같다. 현재 tensorflow 버전은 2.4 까지 나왔는데 말이다.....
그러던중 tensorflow-addons 에 CRF가 있는 것을 확인하였다. 하지만 설치를 하였지만 loss function을 어떻게 사용하는지 한참을 찾던중 (API 문서에는 나와있지 않았음...) tensorflow-addons github에 test 코드가 있는 것을 확인 하였다.
그렇게 테스트코드를 참고하여서 작성하니 정상 작동을 하였다.
잊어 버리지 않게 링크를 올려둔다.
github.com/tensorflow/addons/blob/master/tensorflow_addons/layers/tests/crf_test.py
tensorflow/addons
Useful extra functionality for TensorFlow 2.x maintained by SIG-addons - tensorflow/addons
github.com
그리고 CRF 레이어는 OUTPUT의 차원이 다차원인데. 첫번째 요소가 Label 부분이다.
'프로그래밍 > AI·Tensorflow' 카테고리의 다른 글
(keras) Timedistributed Layer (0) | 2021.12.21 |
---|---|
(keras) Big Train data 학습 (0) | 2021.04.25 |
(keras) Input Layer Split (0) | 2021.04.24 |