목록케라스 (25)
꿈 많은 사람의 이야기
포스팅 개요 이번 포스팅은 파이썬(Python)의 케라스(Keras)를 이용한 간단한 추천 시스템을 구현하는 포스팅입니다. 최근에 제가 진행한 추천 시스템 스터디에서 공유한 코드인데 블로그에 올릴까 말까 하다가 그래도 공유하면 좋겠다 라고 생각해서 올리게 되었습니다. 이번 포스팅에 나온 추천 모델은 추천 시스템 모델 중에서도 kaggle에서 제공되고 있는 book 데이터을 활용해서 구현해봅니다. 고급스러운 기법을 활용하는 것이 아닌, 간단한 행렬 Dot 연산과 fully connected layer를 이용해서 기본적인 추천 모델을 구현하고 소개하고자 합니다. 해당 글에서 소개된 모든 코드는 아래 제 github의 8번에 올려두었습니다. github.com/lsjsj92/recommender_system_..
포스팅 개요 이번 포스팅은 Tensorflow 2.x 버전을 사용하면서 발견한 에러와 그 해결 방법에 대해서 정리합니다. 저의 환경은 아래와 같습니다. python 3.7 tensorflow 2.3 포스팅 본문 포스팅 개요에서도 말씀드렸듯이 이번 포스팅은 Python의 tensorflow 2.x 버전에서 겪을 수 있는 에러에 대해 정리합니다. 제가 구성한 tensorflow 버전은 2.3이고 에러는 NotImplementedError: Layer has arguments in `__init__` and therefore must override `get_config`. 라는 에러입니다. 위 에러가 나오게 된 배경 저는 아래와 같은 상황에서 위 에러를 경험할 수 있었습니다. Open되어 있는 Tensorf..
얼마전 제 블로그에 keras를 활용해서 자연어처리(NLP) 개인 프로젝트 진행한 것을 올렸습니다. https://lsjsj92.tistory.com/476 파이썬 딥러닝 기반 욕설 탐지 시스템 개발(개인 프로젝트)해보기! 이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되.. lsjsj92.tistory.com 해당 글입니다. 아직까지 초안 단계일 뿐이고 부족함이 많은 개발 단계입니다. 더 많은 데이터를 쌓아야하며, 여러가지 연구해야할 것들이 많습니다 지금은 비록 딥러닝으로 욕설을 탐지하지만 나아가 더 많은 것들을 탐지할 수 있는..
가끔씩 keras를 사용하다보면 gpu가 제대로 돌아가고 있는지 알고 싶을 때가 있다. 아니 소리는 요란하게 크게 들리는데 막상 돌아가는 것 보면 흠.. 별것 없는 데이터인데 정말 오래걸리고.. 뭔가 gpu가 사용되지 않는 것 같은 기분이 든다 그럴 땐 gpu가 동작이 되는지 확인해야합니다. 커맨드 + r 을 누르시면 위와 같은 화면이 나옵니다. 여기서 dxidag를 입력하면 directx 창이 뜨는데요 먼저 그래픽카드가 인식이 되는지부터 확인하면 됩니다 저는 그래픽 카드가 잘 인식되네요~ 그리고 저는 주로 케라스를 이용합니다. 케라스에서 gpu를 확인을 하려면 from keras import backend as K 를 이용합니다 K.tensorflow_backend._get_available_gpus(..
이번에도 딥러닝으로 자연어 처리 하는 파트 입니다. deep learning Natural Language Processing(NLP) kaggle에서 spooky-author 데이터가 있는데요. 글이 있으면 저자가 누군지 예측하는 그런 데이터입니다!아마 캐글 자연어 처리 대회중 toxic, quora 이후 유명한 데이터가 아닌가 싶습니다시작하죠! 역시 필요한 라이브러리를 먼저 불러옵니다keras를 사용해서 딥러닝 모델을 구축하기에 keras library를 불러옵니다그리고 사이킷런(scikit-learn)의 LabelEncoder도 사용합니다카테고리 데이터를 라벨화 시켜주기 위해서요! 간단하게 EDA를 먼저 진행합니다.카테고리 value_counts() 값은 거의 비슷합니다완전 unbalanced하지는..
이전에 캐글(kaggle) nlp인 toxic 데이터를 가지고 필사를 했습니다https://lsjsj92.tistory.com/448 이번에도 마찬가지로 toxic 데이터를 가지고 캐글 커널을 필사합니다.기존에 했던 것과 같습니다. 하지만 어텐션 메커니즘이 추가된 코드이고 glove 데이터를 이용해서 모델 weight를 제공해줍니다.특히 glove 데이터를 추가해서 word embedding을 하는 방법은 정말 많이 사용해서 이번 기회에 정리하고자 합니다. 언제나 그렇듯이 필요한 라이브러리르 불러옵니다keras를 사용했고 모델과 전처리에 필요한 Tokenizer 및 LSTM, Embedding, Dropout 등을 가지고 옵니다그리고 이번 모델에서는 Attention을 class로 만들어서 사용하기 때문..
자연어 처리에서 공부를 하다보면 어텐션 메커니즘에 대해서 많이 듣게 됩니다아무래도 구글에서 발표한 attention is all you need의 transformer에서도self-attention(셀프 어텐션)을 사용하고기존의 LSTM(RNN)과 seq2seq 문제를 극복하기 위해서 많이 사용되기 때문에 계속 듣게 됩니다 어텐션(attention)에 대해서 공부를 하려면 먼저 저 메커니즘에 대해서 알아야겠죠그래서 이번 포스팅은 어텐션 메커니즘(attention machanism)에 대해서 정리합니다. 어텐션은 영상 처리쪽에서도 많이 사용됩니다.아마 CS231n 강의 같은 것을 보셨으면 아래 사진을 보셨을 겁니다. 대충 느낌 오시죠? 이것은 인간의 시각적 집중(visual attention) 현상을 구현..
본인은 딥러닝에 관심이 많다. 뭐 이론은 잘 모르지만 코드를 작성하고 뭔가 내 아이디어를 딥러닝에 접목시키고그리고 만들어내는 것이 너무 재밌기 때문그 중에서도 자연어 처리가 정말 재밌다.영상 처리는.. 개인 PC로는 너무 무리가 있다. 데이터도 그렇고 메모리 측면에서도 그렇고 ㅠㅠ 그러다가 일이 바빠서 한 동안 딥러닝을 못했었다.그리고 최근 회사가 안좋은 일이 생겨 어쩔 수 없이 강제로 쉬게 되었는데 마침 예약 주문한 책이 왔다 '텐서플로와 머신러닝으로 시작하는 자연어 처리'로지스틱 회귀부터 트랜스포머 챗봇까지전창욱, 최태균, 조중현님이 지으셨다. 전창욱님은 모두의 연구소에서 강연하는 것 한 번 봤었는데정말 잘하시더라.. 뭐 아무튼 나는 자연어 처리를 공부를 하다가 어느샌가 LSTM까지 공부하고 막혔었다..
이번 커널 필사편은 7주차 이후로 또 다시 자연어 처리 편입니다이 커널은 toxic 이라는 데이터로 알려져 있는데요. 캐글에서 자연어 처리(nlp) 데이터 셋으로 많이 유명합니다.일종의 분류 문제입니다. 하지만 label이 1개가 아닌 6개를 가진 특이한 데이터 구조입니다 처음 캐글을 시작할 때 타이타닉 다음으로 이 데이터 셋으로 했었는데..당시에는 아무것도 모를 때라 그냥 너무 어렵다.. 하고 포기했었는데요처음 봤을 때보다 지금이 7개월 정도 흘렀는데 이젠 좀 눈에 보이네요 ㅎㅎ 필사를 하면서 이해가 되더군요제가 그 만큼 공부를 했다는 거겠죠 ㅎㅎ 바로 진행합니다 역시 처음에 필요한 라이브러리를 가져와줍니다keras, matplotlib, seaborn, pandas, numpy 등을 가져와줍니다lay..
이번 커널 필사편은 자연어 처리 부분입니다.당분간은 자연어 처리 위주로 글을 올릴 예정입니다캐글에 있는 자연어 처리 데이터 중 쉬운 편에 속하는 스팸(sparm or ham) 데이터를 가지고 해당 글이 스팸인지 아닌지를 딥러닝으로 처리해보겠습니다.https://www.kaggle.com/uciml/sms-spam-collection-dataset캐글 데이터는 여기서 구할 수 있습니다! 먼저 필요한 라이브러리를 불러옵니다파이썬의 판다스(pandas), numpy와 그래프를 그릴 matplotlib, seaborn을 불러옵니다.그리고 머신러닝 라이브러리 scikit learn(사이킷런)과 딥러닝 라이브러리인 keras(케라스)를 불러옵니다 데이터는 v1, v2 컬럼으로 각각 라벨, 문장으로 되어있습니다.하지..