다시 이음

초보, 입문자, 비전공자 딥러닝 구현 Tip 본문

알.쓸.데.상

초보, 입문자, 비전공자 딥러닝 구현 Tip

Taeho(Damon) 2022. 2. 11. 12:14

안녕하세요.

 

오늘은 딥러닝에 대한 프로젝트나 구현을 할 때 유의하면 좋을 점을 간단하게 정리해보려고 합니다.

 

(간단한 내용임에도 누군가 알려주지 않으면 헛 시간을 쓰게 되더라구요;;)

 

1. 어떤 언어, 라이브러리를 사용할 것인가?

 

프로그래밍언어로 자신이 사용하는 언어에서 구현이 가능한 모델, git을 찾아야합니다.

 

어떤 모델을 구현해보고 싶어서 무작정 아무 블로그 글을 보고 따라하려고 했다면 천천히 다시 살펴보세요.

 

그 블로거가 사용하는 언어는 무엇인지, 사용하는 라이브러리는 무엇인지 를 꼭 알아야 합니다.

 

왜냐하면, 딥러닝에 자주 사용되는 라이브러리로는 TensorFlow, Pytorch 등이 있는데 라이브러리를 어떤 것을 사용하느냐에 따라서 같은 모델이더라도 구현하는 방식과 참고해야하는 공식문서, 코드가 다르기 때문입니다.

 

그러니 꼭 구현하고자 하는 모델이 어느 라이브러리에서 잘 구현되어 있는지 혹은 내가 사용하는 라이브러리에서 구현된 모델이 있는지확인해보세요!

 

진행할 수 있는 모델을 찾았다면 그 모델을 활용하여 진행할 수 있는 프로젝트를 생각해보도록 하세요.

 

 

2. Git clone 해온 모델의 라이브러리 version은 무엇인가?

 

딥러닝을 하나하나 구축할 수 없으니 Git에 올라와있는 레포지토리를 보고 클론해와서 구현하는 방식이 많이 사용될 겁니다.

 

이 때, 로컬 환경을 사용하시던 혹은 클라우드(colab, jupyter)를 사용하시던 가상환경을 구축하는 부분에서 기존 설정된 라이브러리 버전에 따라 git clone 해온 코드가 오류를 가져올 수 도 있으니 꼭 확인해야 합니다.

 

가상환경 설정 전에 사용할 라이브러리를 uninstall 하신 뒤에 git에 저장되어 있는 가상환경을 실행(requirements.txt)하는 것을 추천 드립니다.

 

 

3. 차근차근 파일을 살펴보자.

 

유튜브나 블로그를 통해서 하나하나 따라하면서 구현하신다면 단연코 최근 발행된 정보가 아닌 이상 오류가 발생하기 쉽고, 그에 따라 우리 같은 초보들은 너무 놀라 불안에 떨게 됩니다..

 

그러기 전에 저는 클론한 레포지토리를 하나하나 들어가서 천천히 읽어보는 게 좋다고 생각합니다. 이해를 하는 것은 구현하면서 이해를 하면 되는 부분이고 어느 정도의 구조를 가지고 있구나, 어떨 때 ---.py를 import 해서 사용하는 구나 이정도의 프로세스를 알아야 구현하면서도 , 오류를 범하면서도 당황하지 않고 해결할 수 있습니다.

 

이 이야기를 하기 전 Yolo모델을 구현하려고 했는데 제가 참고한 유튜브에 댓글의 70%가 '이거 안되잖아요', '이거 페이크 코드다 이녀석들아', '~~~ 이런 오류가 뜨는 데 어떡해요?' 와 같은 무지성 댓글들이 많더라구요. 저도 처음엔 오류가 많이 나와서 놀랐지만 하나하나 해결하다보니 잘 구동하는 코드였고,, 게다가 참고하여 customize도 할 수 있을 정말 깨끗하고 좋은 코드였습니다.

 

절대 그런 것에 휘둘리지 마시고, 오류가 발생하면 하나하나 구글링을 통해서 해결방법을 찾아보고 적용해보는 것이 실력이 느는 방법 인 것 같습니다.

 

 

4. 오류를 대하는 자세

 

저도 초보인지라 오류가 나오면 언제나 당황하고 머리를 쥐어뜯지만,, 너무 딥러닝을 무섭게 생각하지 않고 하나하나 뜯어보는 게 우리같은 초보자에게는 이해가 빠르고 남는 것도 많습니다.

 

천천히 오류를 보고 image 사이즈를 잘못 입력하지는 않았는지, layer에 들어갈 하이퍼 파라미터가 잘못되었는지를 천천히 들여다보고 공식문서 혹은 모델 관련된 글들을 확인하고 구조, 원리 이해를 통해 해결해나갈 생각을 해야합니다.

 

그리고 꼭 해당 오류에서 2시간 이상 탐색해보아도 해결책이 보이지 않는 경우에 질문을 통해서 해결하기를 바랍니다.