목록딥러닝 (93)
꿈 많은 사람의 이야기
해당 코드는 이 깃허브에 존재합니다. (https://github.com/lsjsj92/keras_basic) ------------ 요즘 딥러닝이 완전 핫합니다! 이미지 인식, 영상처리 문장 처리 등 많은 분야에서 사용되고 있는데요 이번 포스팅은 그 중에서 이미지 인식을 해봅니다 어떤 이미지 인식이냐구요? 바로 강아지 품종(종류)를 인식해보는 것입니다! 포메라니안, 불독, 시바, 허스키 등 강아지 종류를 한 번 예측해보죠 언어는 당연히 파이썬을 썼습니다. 라이브러리는 텐서플로 backend를 이용해 케라스(keras)를 사용했습니다. 즉 케라스로 CNN 네트워크를 구성해 훈련해봅니다 먼저 훈련 자료가 필요하겠죠?? 훈련 자료는 크롤링을 해서 가지고 왔습니다. 강아지 종류별로 폴더를 만들었는데요 종류는 ..
파이썬을 사용하다보면 특히 pandas를 많이 이용한다.데이터 처리에 매우 유용하기 때문이다 근데 이 pandas로는 주로 read_csv나 read_excel을 통해서 엑셀 및 csv 데이터를 많이 읽어드렸다.왜냐하면 보통 머신러닝 딥러닝 예제는 csv 파일에 있기 때문. 그러다가 문득 만약 db에 데이터가 있으면 어쩌지? 라는 생각을 했다.그리고 역시가 그 방법은 있었다. 준비는 간단하다. python3 기준으로 진행한다.그리고 db는 mysql로 잡는다! pip install pymysqlpip install sqlalchemy 로 먼저 관련 패키지를 설치한다. 그리고 이처럼 하면 된다.각 밑줄을 그어놓은 것은 환경에 따라 바뀌게 된다.root 부분은 유저1234는 비밀번호dbname은 데이터베이스..
요즘 머신러닝을 공부하면서 여러가지 책들을 많이 찾고 있다.근데 마땅히 끌리는 책이 없더라.. 나는 머신러닝 기초부터 배우고 싶었는데 기초에 대한 설명은 거의 없고사이킷런 라이브러리 사용하는 방법에 대해서만 설명이 주구장창 나와있는 책이 대부분이었다.물론 라이브러리 사용하는 책들도 썩 맘에 드는 책은 없었다 아.. 그래서 어쩌지 유료 강의를 들어야하나.. 돈은 없는데 하는데 지인이 일단 뭐라든 시작은 해보라고 책을 추천해주었다. 파이썬 라이브러리를 활용한 머신러닝 이미 유명한 책이다.사이킷런 라이브러리를 개발한 개발자가 쓴 책이다. 이 책을 시작한지 벌써 1달.. 진짜 힘들었다.처음에는 뭔 말인지 이해도 안되고 왜 책을 이딴식으로 썼지 라는 생각뿐이었다.포기할까 생각도 많이 했지만.. 결국 끝끝내 성공했..
이번 포스팅은 파이썬을 이용해서 공공데이터를 분석합니다. 매년 마다 우리나라에 입국하는 입국자 데이터가 있는데요!뭐 여행으로, 의료목적으로 등등 다양하게 들어옵니다. 그래서 어떤 나라에서, 얼마만큼 사람들이 들어왔는지 분석해봅니다 파이썬(python)을 사용했구요.numpy, pandas, matplot, seaborn 라이브러리를 이용합니다.그리고 간단한 머신러닝 데이터로 로지스틱 회귀(logistic regression)을 사용합니다.이건 사이킷런(scikit learn)을 사용하구요. 자 그럼 시작해볼까요 데이터는 이렇게 되어 있습니다.안에 엑셀 파일을 가지고 데이터를 분석해야 하는데요.먼저 pandas를 이용해 데이터를 불러옵니다. 근데 이 컬럼이 별로 좋지 않아요.분석하기가 쉽지 않습니다.저는 ..
얼마전 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를 설치했구..
캐글에서 커널을 추가하는 방법에 대해서 알아봅니다 먼저 캐글 사이트로 이동합니다당연히 회원가입 및 로그인은 하셔야겠죠? 캐글 메인으로 접속하면 위 처럼 화면이 나올겁니다~이제 검색에서 원하는 데이터를 찾아봅시다 저는 캐글에서 가장 기본적인 타이타닉(titanic)데이터를 추가하기로 합니다캐글(kaggle) 뉴비분들이 자주 이용하는 데이터죠저걸 클릭해서 들어갑니다 그러면 저기 kernels이 보일겁니다 저기로 들어갑니다 그러면 여기에서 오른쪽에 new kernel이 보이시죠?저기를 클릭합니다~ 그러면 커널을 선택하라고 창이 나오는데요본인이 원하시는 창을 선택하시면 됩니다스크립트는 마치 파이참(pycharm)과 같구요 오른쪽 notebook은 주피터 노트북(jupyter notebook)과 비슷합니다저는 주..
모든 코드는 아래 깃허브에 올려놓았습니다. 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)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..
상당히 피곤하다대전에서 방금 올라와서 그런지 더 피곤하다딥러닝에 입문한지 1달. 나의 짧은 지식과 독학으로는 힘든 부분이 너무 많았다. 머신러닝과 딥러닝이 어려울줄은 알았지만 이정도 일줄은 몰랐다그러다가 도저히 몰라서 이분 저분 이메일을 드리면서 물어봤었다. 우연치 않게 간 이메일 1개가인스페이스 김태영 기술이사님이셨다.페이스북 케라스 코리아를 운영중이시고 이 대회를 주최하신 분이셨다. 김태영씨의 조언으로 컨퍼런스에 참가하게 되었고너무 유익했다 많은 분들이 세미나를 해주셨다.이미지 인식의 CNN부터 Generative Adversarial Network(GAN), 강화학습(RI)까지 다양한 주제로 진행되었다. 장소는 과학기술연합대학원대학교(UST)에서 진행되었다인스페이스와 케라스 코리아, 대딥사, 한국원..
머신러닝과 딥러닝을 혼자서 독학하면서 여러가지 상황에 맞닥드리게 되고 있다. 어찌저찌 해결을 해나가고 있지만, 어제 같은 경우는 도저히 혼자서 해결이 안되었다. val_loss가 나아지지 않았고, val_acc 즉 정확도가 높아지지 않은 문제가 있었다. 과적합(오버피팅, overfitting) 문제도 아니었다. 케라스에서는 오버피팅을 방지할 수 있다. Dropout이나 callbacks 라이브러리의 modelcheckpoint, earlystopping을 통해서 overfitting을 방지하기 때문이다. 근데 참 웃긴게 아래와 같은 상황이었다. 나는 데이터 셋을 2개로 나누어서 진행했다. 데이터가 너무 커서 경량화를 하나 추가했다. 예를 들어, 기존 데이터가 1G 짜리라면 경량화는 200MB짜리이다. 데..