keras

    [Error] tf.keras.models.load_model 에러 해결방법

    학습된 모델을 불러올 경우, model = tf.keras.models.load_model("model.h5") 위와같은 코드를 사용한다. 하지만 AttributeError: 'str' object has no attribute 'decode' 라는 에러가 나는 경우가 있다. h5py가 3 버전일 때에 발생하는 에러이며, 에러를 해결하는 방법으로 h5py를 2버전으로 다운그레이드 해준다. pip install h5py==2.10.0

    패딩(Padding)

    문장이나 문서의 길이가 다를경우 병렬 연산을 위해 문장의 길이를 임의로 동일하게 맞춰주는 작업이 필요하다. 패딩(Padding)처리는 전체 백터의 크기를 맞춰주고, 크기를 늘린만큼 작은 벡터에 생긴 공간에 0을 채워준다. # Keras 케라스에서는 pad_sequences() 함수를 통해 시퀀스의 패딩 처리를 손쉽게 할 수 있다. from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences sentences = [['barber', 'person'], ['barber', 'good', 'person'], ['barber', 'huge', 'per..

    정수 인코딩 (Integer Encoding)

    컴퓨터는 텍스트보다는 숫자를 더 잘 처리할 수 있다. 이를 위해 자연어 처리에서는 텍스트를 숫자로 바꾸는 여러 가지 기법들이 있다. 그리고 그러한 기법들을 본격적으로 적용시키기 위한 첫 단계로 각 단어를 고유한 숫자에 맵핑(Mapping)시키는 전처리 작업이 필요할 때가 있다. 예를 들어 갖고 있는 텍스트에 단어가 5,000개 있다면, 5,000개의 단어들 각각에 0번부터 4,999번까지 단어와 맵핑되는 고유한 숫자, 다른 말로는 인덱스를 부여한다. 인덱스를 부여하는 방법은 여러 가지가 있을 수 있는데, 랜덤으로 부여하기도 하지만 보통은 전처리도 같이 겸하기 위해 단어에 대한 빈도수로 정렬한 뒤에 부여한다. 정수 인코딩 (Integer Encoding) 1. dictionary 사용하기 from nltk..

    [Keras] callback 함수 - ReduceLROnPlateau

    Tensorflow Keras의 ReduceLROnPlateau 콜백 함수는 모델의 성능에 개선이 없을 경우 Learning Rate를 조절해 모델의 개선을 유도하는 콜백함수이다. 경사하강법에 의하여 학습을 하는 경우 Local Minima에 빠져버리게 되면, 더이상 학습률이 개선되지 않고 정체되거나, 심하게 튀는 현상이 생길 수 있다. 이때 learning rate를 늘리거나 줄여주는 방법으로 빠져나오는 효과를 기대할 수 있다. 그 역할을 ReduceLROnPlateau이 해준다. 아래의 공식 페이지에서 사용방법을 확인할 수 있다. tf.keras.callbacks.ReduceLROnPlateau | TensorFlow Core v2.7.0 Reduce learning rate when a metric..