목록deep learning(딥러닝) (39)
꿈 많은 사람의 이야기
요즘 모두의 연구소에서 딥러닝 스터디에 참가하고 있습니다. cs231n 강의를 참고해서 스터디 하고 있는데요 이걸 정리하려고 합니다. 1, 2강은 뭐 그냥저냥한 내용이니까 3강부터 정리하려고 합니다 3강은 loss function과 optimization의 내용입니다. 이 둘의 핵심을 알아보도록 하죠 시작! 먼저 지난 시간의 내용을 복습하고 넘어갑니다. 지난 시간에는 이미지 분류에 대해서 알아보았습니다. 그 중 이미지 분류가 왜 힘들고 쉽지 않은지에 대해서 알아보았죠. 조명, 변형, 은닉 등의 문제점 때문이었습니다. 그리고 CIFAR-10 데이터셋에 대해서도 알아보았습니다. 이후에 크로스 벨리데이션(cross validation), KNN을 알아보았습니다. 또 data-driven방식을 알아보았죠 그리고..
해당 코드는 이 깃허브에 존재합니다. (https://github.com/lsjsj92/keras_basic) ------------ 요즘 딥러닝이 완전 핫합니다! 이미지 인식, 영상처리 문장 처리 등 많은 분야에서 사용되고 있는데요 이번 포스팅은 그 중에서 이미지 인식을 해봅니다 어떤 이미지 인식이냐구요? 바로 강아지 품종(종류)를 인식해보는 것입니다! 포메라니안, 불독, 시바, 허스키 등 강아지 종류를 한 번 예측해보죠 언어는 당연히 파이썬을 썼습니다. 라이브러리는 텐서플로 backend를 이용해 케라스(keras)를 사용했습니다. 즉 케라스로 CNN 네트워크를 구성해 훈련해봅니다 먼저 훈련 자료가 필요하겠죠?? 훈련 자료는 크롤링을 해서 가지고 왔습니다. 강아지 종류별로 폴더를 만들었는데요 종류는 ..
얼마전 DELL 최신 노트북으로 바꾸면서 tensorflow-gpu를 설치했습니다.그리고 keras(케라스)를 설치했지요 즉 백엔드로 텐서플로우를 사용하는 케라스를 사용했습니다.하지만 여러 문제점이 조금 있었습니다. failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILEDcould not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED 이런 에러들이 뜨면서 실행이 되지 않았는데요.구글링을 해보니 저 뿐만 아니라 다른 여러 사람들도 겪었던 문제네요. 정확한 원인은 모르겠지만, gpu 메모리 할당 문제라고 합니다. 그 결과 원인을 해결할 수 있는 줄을 추가했습니다.저는 윈도우10 환경에서 tensorflow-gpu를 설치했구..
모든 코드는 아래 깃허브에 올려놓았습니다. https://github.com/lsjsj92/keras_basic 지난번까지 multi classification 이미지 분류를 해봤습니다 하지만 모든 카테고리 분류가 multi이지는 않죠~ 그래서 이번에는 이진 분류(binary classification)을 해보겠습니다 cat dog로 해볼게요 개냐 고양이냐?를 판단하는 이미지 분류 작업입니다 폴더는 2개입니다 cat, dog 즉, 고양이 강아지 이렇게 입니다. 그리고 각 폴더 아래에 이렇게 고양이 사진들이 있죠. 고양이와 강아지(개) 사진은 크롤링해서 긁어 왔습니다 그리고 각 사진은 25000개 정도 있습니다. 데이터는 충분한 것 같네요 keras의 ImageDataGenerator를 굳이 사용안해도 될..
해당 코드는 https://github.com/lsjsj92 에 있습니다. 참고하시고 스타도 주시면 감사하겠습니다 :) 파이썬으로 케라스(keras)와 사이킷런(scikit-learn)을 독학한지 어느덧 1달이 조금 넘었습니다. 그 동안 카테고리 분류도 해보고, 감정 분석도 해보고(실패....) 여러가지 해보면서 일반적인 머신러닝 알고리즘(서포트 벡터 머신(SVM), 랜덤 포레스트(random forest) 등)이 아닌 케라스로 다층 퍼셉트론(MLP)을 구현해서 해봤습니다. 뭐 아직 다음 단계로 넘어갈 실력은 아니었지만 일단은 여러가지 경험을 쌓고자 이젠 컨볼루션 뉴런 네트워크(convolutional neural networks)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..
머신러닝과 딥러닝을 혼자서 독학하면서 여러가지 상황에 맞닥드리게 되고 있다. 어찌저찌 해결을 해나가고 있지만, 어제 같은 경우는 도저히 혼자서 해결이 안되었다. val_loss가 나아지지 않았고, val_acc 즉 정확도가 높아지지 않은 문제가 있었다. 과적합(오버피팅, overfitting) 문제도 아니었다. 케라스에서는 오버피팅을 방지할 수 있다. Dropout이나 callbacks 라이브러리의 modelcheckpoint, earlystopping을 통해서 overfitting을 방지하기 때문이다. 근데 참 웃긴게 아래와 같은 상황이었다. 나는 데이터 셋을 2개로 나누어서 진행했다. 데이터가 너무 커서 경량화를 하나 추가했다. 예를 들어, 기존 데이터가 1G 짜리라면 경량화는 200MB짜리이다. 데..
이전 글인http://lsjsj92.tistory.com/350 에서 파이썬으로 머신러닝을 진행해 뉴스 카테고리 분석을 만들었다.keras(케라스)와 scikit learn(사이킷런)을 이용해서 만든 카테고리 분류이다 이번에는 이 데이터를 이용해서파이썬에서 wordcloud(워드클라우드)로 시각화를 진행할 것이다.또한, gensim의 word2vec를 이용해서 연관 단어를 추출해보려고 한다 일단 워드클라우드가 되려면 mapreduce(맵리듀스)가 되어 있어야 한다.즉, word count(워드 카운트)가 되어 있어야 한다. 그리고 그 워드 카운트는 가장 많이 카운트 된 단어가 위쪽으로 나오게 할 것이다.이 과정에선 hadoop hdfs와 spark를 이용할 것이다하둡은 2.7 버전, 스파크는 2.0.3 ..
최근 네이버 뉴스 기사를 토대로 카테고리를 분류하는 머신러닝을 진행해봤다먼저 정치, 경제, 사회, IT 등을 파이썬으로 크롤링했다 데이터는 아래와 같이 모아졌다 각 카테고리별 폴더로 데이터를 떨궜다.문화, 경제, it, 오피니언, 정치, 사회 총 6개의 카테고리를 크롤링했으며 위와 같이 엑셀파일에 날짜, 제목, 내용을 긁어왔다. 이제 이 내용들을 전처리 작업 및 형태소 분석을 해야했다.왜냐하면 content에 보면 위와 같이 flash 오류를 우회하기 위한 함수 추가 등 이런 문구가 있다.또한, 특수 문자를 제거할 것이었고, 숫자, 영어도 제거하려고 했다.왜냐하면 한글을 기준으로 하려고 했기 때문이다 형태소 분석기는 은전한닢(mecab)으로 진행했다.은전한닢은 한글 형태소 분석기로 정말 좋다 konlpy..
요즘 머신러닝과 딥러닝을 공부하고 있습니다 블로그에 다 정리해서 올리고 싶은데 처음부터.. 너무 복잡하고 올리는데 시간적 소모가 커서 감히 엄두가 안나네요 ㅠㅠ그래서 중간중간 만든 결과를 올려보려고 합니다저는 주로 케라스(keras)와 사이킷런(scikit learn)으로 공부하고 있습니다사이킷런이야 파이썬에서 머신러닝으로 유명한 라이브러리죠. 케라스는 딥러닝에서 많이 쓰는데요 (물론 머신러닝도 가능합니다.)텐서플로우(tensorflow)보단 사용법도 쉽고 접근성이 좋아서 케라스를 선택해서 공부하고 있습니다.(물론 keras 내부는 tensorflow가 동작됩니다.) 아무튼 저는 그 동안 공부한 것으로 비만도 측정을 해봤습니다!1. 데이터 수집2. 훈련3. 모델 생성4. 모델을 이용한 예측 크게 4가지 ..