본문 바로가기
SoftWare/OpenCV

Windows10 에서 Darknet YoloV3 학습하기 - 서론

by 학수씨 2021. 9. 13.

일단 앞서 이전 블로그 글에 C# 에서 YoloV3 사용하기와

Google Colab 에서 YoloV3 학습하는 글을 올렸었다..

 

https://periar.tistory.com/236

 

Google Colab 에서 Yolov3 학습하기

우선 유투브에서 어떤 분께서 동영상으로 강의를 올리신 부분에 대하여 블로그에 정리하여 올립니다. https://www.youtube.com/watch?v=51fZ2FTau7E&list=PLJlV2dBmsof_6J9EWx-CyvpBz7cyWPwhP&index=1 출처 우선..

periar.tistory.com

https://periar.tistory.com/237

 

yolov3 학습된 파일을 C# 에서 사용하기

https://periar.tistory.com/236?category=477687 Google Colab 에서 Yolov3 학습하기 우선 유투브에서 어떤 분께서 동영상으로 강의를 올리신 부분에 대하여 블로그에 정리하여 올립니다. https://www.youtube.co..

periar.tistory.com

 

일단 Google Colab 을 사용해서 Yolov3 학습하기위한 Step by step 으로 공부하기에는 정말 최고다..

왜냐하면 이미 Colab에는 필요한 프레임웍과 라이브러리가 준비되어있기 때문에 PC에 개발환경 구축 필요없이 그냥 바로 실행시켜 학습을 할수있다는 장점이 있다...

 

이제 단점으로는.. 무료로 사용하기에는 뭔가 부족한 성능..

시간 좀 지나면 끊어지는문제 (물론 이건 스크립트를 활용해 해결할수 있다.)

리소스가 삭제되는 문제 => 이게 가장큰 문제이다.. 

왜냐면 우리는 계속적으로 추가 학습시키면서 계속 class를 추가해가며 AI 의 성능을 올려야 한다..

그러나 Colab의 경우 리소스가 삭제되면서... 첨부터 다시 시작해야하는 문제가 있다..

 

Google Colab이 연구용으로서(여러가지 Model 을 변경해가며 사용하기에) 는 최고로 생각되지만 나처럼 연구목적이 아닌 개발및 현장투입 용이라면 추천하지 않는다.

 

연구입장이 아닌 개발 입장에서는 일단 Google Colab을 사용하기 힘든 이유는 예를들어 딥러닝을 학습시켜서 어떤 프로그램을 배포했다 치면.. 처음부터 100% 완벽하게 동작하지 않을것이다.. (왜냐면 학습파일들을 처음부터 어마어마하게 많이 갖을수가 없기때문에..) 점점 시간이 지나면서 학습시킬 파일들을 추가해가면서 추가적으로 학습을 시켜야 한다..

 

이때 Google Colab 을 사용한다면 기존에 사용했던 학습파일 + 신규 학습을 시킬수가 없다.. 걍 첨부터 다시...

학습시간이 엄청나게 오래걸리는 딥러닝에 첨부터 다시 학습한다는것은 말이 안된다..

물론 Google Colab 으로 기존학습파일에 추가로 신규할습을 시킬수는 있다... 그렇지만... 기존 환경파일부터 다시 다운받아오고 결과 파일도 마찬가지로 가져와서.... 명령을 바꿔가면서 학습시키기에는 문제가 있다

 

좀만더 얘기를 해보자면 Disk 용량의 문제도 있다

예를들어 개당 10메가 짜리 이미지파일 10000개를 학습한다고 치면 이미지 용량만 100기가다..

이걸?? Google Drive 에 올려서 딥러닝한다????  나중에 학습파일이 추가되어 또 학습한다???

클라우드 환경에서는 힘들다...

 

=================================================================

 

내가 왠만해서는 이렇게 말하면서~~ Step by step 으로 캡쳐해가면서 자세하게 블로그를 쓰진 않는다. 딥러닝의 경우 뉴럴 네트워크의 수학적 내용과 기본 바탕의 구조 등등을 이해하려면 다른일 다 집어치우고 1~2년은 공부만 해야 거의 이해가 가능하다. (물론 선형, 미적, 통계 등등 수학을 잘한다는 가정하에) 

하지만 딥러닝 자체에 연구목적이 아니라 나처럼 AI 를 이용해 어떤 프로젝트를 개발하는 입장이라면.. AI의 구조에 대해서 이해 할 필요도 없다.. 그냥 참고 자체만 하고 가져다 쓰는것은 엄청 쉽다..

 

개발자 입장에서는 뉴럴네트워크가 어떤 구조를 가져서 어떤 프로세스를 거쳐 왜 이런 결과가 나왔는지는 필요없다.

그냥 인풋이 있으면 아우풋만 있으면 된다.. 

 

그냥 "이거 찾아줘" 라고 AI 한테 명령을 하면 "여기 있어" 라고 대답만 해주면 된다.

 

내가 개발자의 입장에서 딥러닝을 시작하고 공부할때 정말 막막하였다.. 중간에 포기할까도 생각했었다.. 공부해가면서 이걸 내가 왜 공부를 해야하는지부터  이 기술을 가지고 도대체 내가 어디다 써먹을수있을까? 하는일도 바빠죽겠는데 구지 이것까지 해야되?? 라는 생각이 들었다..

 

그 이유는.. 아직 연구하시는분들이 많은 분야이다보니..

1. 쉽게 가져다 쓸수있게 뭔가 구조화 되지 않았고

2. 너무 깊숙히 자세하게 설명을 하고있다보니... 이해가 안감.

3. 누군가 쉽게 그냥 개발자 입장에서 정리된 문서를 찾기가 힘들다.

4. 아직 딥러닝의 교육 커리큘럼 과정이 튼튼하지가 않음

 

뭐 여러가지 이유가 있기 때문에 개발자 입장에서 쉽게 가져다 쓸수있는 딥러닝 기법을 설명하기위해 아주 친절하게 Step by step 으로 글을 작성해보려고 노력중이다.

 

 

넘 말이 길었고 이제 Windows 환경에서 YoloV3를 학습시켜 C# 에서 사용해보는 방법을 쓰겟다.

 

과연 몇명의 분들이 내 글을 보고 도움이 될진 모르겠지만.....

https://periar.tistory.com/239?category=477687 

 

Windows10 에서 Darknet YoloV3 학습하기 - 본론

https://periar.tistory.com/236 Google Colab 에서 Yolov3 학습하기 우선 유투브에서 어떤 분께서 동영상으로 강의를 올리신 부분에 대하여 블로그에 정리하여 올립니다. https://www.youtube.com/watch?v=51fZ2F..

periar.tistory.com

 

댓글