Python/딥러닝 (Deep-Learning)

아래 글과 이어집니다. https://developer-youn.tistory.com/72 Product에 Object Detection을 도입하고 싶은데 딥러닝은 하나도 모를때 읽으면 괜찮을만한 글(1) Introduction 필자도 딥러닝을 잘 알지는 못합니다. 근데 팀에서 딥러닝을 이용한 Object Detection을 도입하려고 했고 그때 겪었던 트러블슈팅, 지식들을 공유하고 특히 아무 지식이 없는 상태에서 도 developer-youn.tistory.com 1. 검출이 잘 되지 않습니다. 이제 뭘 더 해봐야 할까요? 자.. 이제 훈련은 다 했는데 생각만큼 검출이 잘 되지 않을 수 있습니다. 실은 이건 정답이 있는 게 아니라 어떻게든 원인을 분석해서 잘 돌파해야 합니다. 학습 데이터로 넣은 데이터..
Introduction 필자도 딥러닝을 잘 알지는 못합니다. 근데 팀에서 딥러닝을 이용한 Object Detection을 도입하려고 했고 그때 겪었던 트러블슈팅, 지식들을 공유하고 특히 아무 지식이 없는 상태에서 도입을 하기 위해 어떤 지식들이 필요할지 생각해보고 쓸만한 내용들을 담아 글을 작성합니다. 주의사항 : 틀린 지식이 들어있을 수 있습니다. 우리 같이 성장하는 거니까 틀린 건 같이 검색하면서 댓글로 달아봅시다 미리 말하는 결론 : 이 글을 읽는 여러분은 저와 같이 성장하는겁니다. 0. 그래서 딥러닝을 도대체 뭐라고 설명해야 할까요 일단 딥러닝을 잘 모르는 상태에서 이렇게 생각할 거예요. "퉁 하고 하면 뭐든 알려주고 맞추는 요술 망치", "인공지능", "똑똑한 컴퓨터" 등등.. 실은 제 생각은 ..
CNN 모델 중 정말 조상님이라 할 수 있는 LeNet의 버전 중 LeNet-5를 직접 코드로 구현해보려고 한다. LeNet-5 구조 저 숫자가 어떻게 나온거지? 저기 있는 사이즈, 채널에 대해 숫자가 어떻게 계산되어 나왔는지 정리를 해보았다. 각 레이어들 정리 Input size : 32X32 1채널 C1 : 28 * 28 커널 수 6개 S2 : 14*14 커널 수 6개 C3 : 10*10 커널 수 16개 S4 : 5*5 커널 수 16개 C5 : 120 F6 : 84 OUPUT : 10 계산을 위한 공식 H : 입력 데이터의 Height P : Padding사이즈 FH : Filter(Kernal)의 Height FW : Filter(Kernal)의 Width S : Stride 크기 Convoluti..
이전 글에 이어서 EasyOCR을 저는 어떻게 사용했는지 설명하도록 하겠습니다. 이전 글 developer-youn.tistory.com/45 우리 EasyOCR로 한번 가자(1) OCR을 사용해야 하는 상황에서 만약 장비와 시간의 여유가 있다면 Python으로 EasyOCR을 한 번쯤 사용해보는 것도 좋을 것 같습니다. github.com/JaidedAI/EasyOCR 위 주소는 EasyOCR 공식github 주소입니다. 1... developer-youn.tistory.com 기본 코드 구조는 아래와 같습니다. import easyocr reader = easyocr.Reader(['ko','en']) # need to run only once to load model into memory resul..
OCR을 사용해야 하는 상황에서 만약 장비와 시간의 여유가 있다면 Python으로 EasyOCR을 한 번쯤 사용해보는 것도 좋을 것 같습니다. github.com/JaidedAI/EasyOCR 위 주소는 EasyOCR 공식github 주소입니다. 1. 그래서 EasyOCR이 뭔데? 우선 EasyOCR에 대해서 설명을 적어봅니다 EasyOCR은 OCR 오픈소스로 Detection부분과 Recognition부분으로 나누어져 있으며 Text Detection은 CRAFT를 사용하고 Recognition은 CRNN사용합니다. Framework는 모든 소스가 pytorch로 작성되어있습니다. pytorch는 tensorflow처럼 딥러닝을 위한 프레임워크로 tensorflow보다 좀 더 pythonic하게 코드를..
회사에서 비전 딥러닝을 담당하고 Tensorflow Object Detection API를 사용하던 중 훈련 중에 발생한 에러들이 있다. 모두에게 반드시 통용되지는 않겠지만 일부 나와 같은 오류를 겪고 헤매는 사람들을 위해 올린다. 1. Invoke with: None, value error 위와 같은 에러는 명령어를 입력할 때 argument에 값을 잘못 넣은 경우이다. 오타 혹은 경로에 문제가 있는지 다시 확인하면 잘 고쳐졌다. 2. loss = nan loss값이 nan으로 찍히는 경우가 있다. 이는 total step이나 learning rate를 높게 설정하면 발생하는 문제로 역전파 과정에서 값이 증폭되며 loss에 찍힐 수 있는 값의 범위를 넘어가면 발생한다고 한다. total step을 무작..
알 수 없는 알고리즘으로 해당 사이트로 접근했다면 이전 글들을 읽고 오시기 바랍니다. developer-youn.tistory.com/35 developer-youn.tistory.com/36 이번 글은 크게 어려움이 없었습니다. 그래서 전체적으로 어떻게 진행했는지 작성하는 글입니다. 여기까지 따라오신 분들을 위해 현재 과정의 대략적 구조를 보여드리겠습니다. 8. 데이터 레이블링과 포맷 변환 데이터 레이블링은 labelImg 를 이용해서 진행합니다. 학습 데이터는 xml파일로 저장이 되며 아래 글은 labelImg를 통해 각 이미지 별 xml파일이 생성되었다는 가정하에 작성을 하겠습니다. xml파일을 csv파일을 거쳐 record파일로 만들기 위해 아래 코드를 clone합니다. git clone 이미지 ..
알 수 없는 알고리즘으로 해당 사이트로 접근했다면 바로 전 글을 읽고 오시기 바랍니다. developer-youn.tistory.com/35 눈물없이는 볼 수 없는 회사 딥러닝 프레임워크 업데이트 모험기(1) 0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능 developer-youn.tistory.com 4. protobuf 설치 내가 참고했다던 사이트를 따라하면서 했는데 protobuf에서 정상동작을 하지 않았다. 기존 tf1환경에서는 튜토리얼에 있는 proto보다 더 낮은 버전을 사용했던 기억이 나서 해당 버전으로 설치를..
0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능이 좋아지지는 않겠지만 Tensorflow object detection model zoo에 있는 모델 중 성능이 괜찮은 것들은 tensorflow2로 되어있어 이번에 업데이트를 하려고 한다. 서버도 없고 그래픽카드도 없고 딥러닝 지식도 거의 없는 상황에서 맨땅에 헤딩하며 업데이트한 모험기 지금 시작합니다. 1. 그래서 어떻게 시작하라고요? 일단 가장 큰 문제는 서버였다. 내 컴퓨터에 그래픽 카드를 추가하면 되지 않냐 라고 할 수 있겠지만 라이젠 그래픽카드 소켓이여서 CUDA가 ..
Mask rcnn - native 설치 from bernoyoun - Mask R Cnn에 관하여 저도 잘 모르지만 제가 알고있는 지식을 나누고자 ppt로 제작하고 있습니다. - 현재 제작중인 단계까지 넣으면 슬라이드가 너무 길어져 native설치 과정까지만 나누어 업로드 하였습니다. - 계속해서 제작 및 업로드 하도록 하겠습니다.
Berno
'Python/딥러닝 (Deep-Learning)' 카테고리의 글 목록