첫 주차에는 간단한 classification baseline을 제공한 것을 토대로
optimizer, shceduler를 교체한 뒤 성능의 변화, loss score의 변화, learning rate의 변화를 관찰하여 발표를 하고,
다양한 augmentation을 입히는 방법을 실습했다.
이제 모두들 작업한 자료를 깃허브에 커밋과 풀,푸쉬를 하며 깃허브에 익숙해지는 시간도 가져볼 것이다.
우리가 작업할 공간은

이 공간이다.
1. Git 설치
설치는 터미널 창에서 실행하면 된다.
sudo apt-get install git

이 명령어를 통해 패키지 리스트를 다운로드 받을 수 있다.
git install을 하려해도 git이 내 공간에 없는 경우엔 설치할 수 없기 때문에 업데이트를 한번 해주는 것이라 생각하면 된다.
sudo apt install git

나의 경우에는 이미 설치가 됐기 때문에 이렇게 떴다.
나와 동일한 방식으로 ubuntu 20.04를 설치했다면 동일한 메세지가 출력됐을 것이다.
2. Git 환경설정
깃에 push / pull을 하기위해서는 이름과 email을 등록해야한다.
git config --global user.name [본인 이름]
git config --global user.email [본인 이메일]

이렇게 끝난다.
깃허브에 가입한 이메일로 config를 해주자
만일 git config를 해주지 않는다면 push를 할 수 없으므로
나중에 pull, push에 문제가 생긴다면 한번은 떠올려보자.
3. Git clone
이제 작업할 공간을 내 로컬에 불러오자.
우리가 앞으로 작업할 공간의 리포는
https://github.com/awesome-yung/kuoaz_cv2024
여기다 !

초록색 [Code]부분을 누르면 git clone을 할 수 있는 주소가 나온다. 복사하자 !
이제 vscode에 들어가서 F1을 누르고 git clone을 검색하자
검색창에 F1을 눌렀을 때 > 표시가 나와야한다 !


아까 복사한 git hub repository 주소를 붙여넣기 해주자.
그러면 repo 저장 공간을 설정한 뒤, 그 공간으로 이동하게 된다.


이렇게 되면 잘 된거다 !.
3. Git commit, push, pull
이제 여기에 파일을 넣고 push를 해보자.
나는 지난주 자료를 업데이트하기위해
week_1 폴더를 만들 거고, 그 안에 지난 주에 실습했던 7개 자료와 데이터셋을 push해보겠다.
( 지난주 데이터를 로컬에 생성한 상태를 가정해보자. )

이 상태로
왼쪽 source control에 들어가면

로컬 파일에 어떤 변화가 생겼는지 알려준다.
각 파일마다 +버튼이 있는데
commit을 해줄 파일을 올려주자
이번엔 데이터셋이 작아서 모두 올렸지만 깃 commit을 할 때 너무 큰 용량은 오류가 나버려서 꽤나 고생할 수도 있다.
나중에 ipynb도 200mb가 넘어가지 않는지, 이미지파일이 많진 않을지, 데이터셋이 너무 크지는 않은지 한번쯤은 고민해보고 올려야한다. push 취소하는 거 꽤나 고생할 수 있다 \ㅋㅋ

커밋 메세지는 꼭 작성해주자.
인터넷에 깃 명령어를 보면 알겠지만
터미널에서
1. 커밋 메세지,
2. 커밋,
3, 푸쉬
각각 명령어가 있다.
그래서 vscode에서 누르는 버튼은 터미널의 각각의 명령어에 해당한다. 이 중 하나라도 명령어를 사용하지 않으면 당연히 오류가 난다.
기회가 되면 인터넷에 검색해서 깃 명령어를 보고는 오자 !
이제 파란색 commit 버튼을 누르자.

이제 sync Change를 눌러서 웹 서버의 git hub에 commit한 자료를 동기화시켜주자.
(commit 오른쪽에 ⋎ 버튼이 있는데 commit과 동시에 push, sync 를 할 수도 있다. )

깃허브에 들어가보면 이렇게 push한 폴더가 있다.
4. Git pull
이건 캡쳐 화면이 필요할 것 같아서 나중에 추가를 하도록 하겠다 !
5. Git graph 설치
다시 vscode에 들어와서 extention의 git graph를 설치하도록 하자.


source control로 들어가면 새로운 아이콘이 생성된다.
git graph를 통해서 누가 어떤 작업을 했는지 history가 뜬다.
앞으로 branch를 다룰 건데, 오늘 너무 많이 하면 머리 아프니깐 main에 커밋하도록 하자.
( 원래 main에 커밋, merge하는 것은 아주아주아주아주 조심해야한다 !
잘 만들어진 게임 하나가 주니어 개발자 하나 때문에 망가져버릴 수도 있다 ! )
앞으로 브랜치가 많아지면

정신 없이 독립적인 개발을 하고 합치고 찢어지고 난리가 난다.
(이정도면 양반이다.)
개발 관리를 하는 브랜치 naming과 관리법에도 컨벤션이 있는데 그건..또 나중에 다루자.
깃을 잘한다는 건 저 branch들을 잘 타고다닐 수 있다는 것이 될 것 같다.
그냥 하나만 기억하자.
처음에 컴퓨터 켜면 pull부터 누르자.
그리고 작업하면 웬만하면 깃으로 문제 생기지않는다.
이제 깃도 배웠으니 앞으로 작업물은 모두 깃허브에 기록하도록 하자
'Ai > One and Zero class' 카테고리의 다른 글
| Week-4 YOLOv7 사용하기 (detection 첫걸음) (0) | 2024.06.01 |
|---|---|
| Week-3 classification 모듈화 & colab에서 run time 끊기지 않게 JavaScript 입력하기 (0) | 2024.05.30 |
| Week-1 Classification - (1) ( Sign Language MNIST ) (1) | 2024.05.07 |
| Week-1 Ubuntu(Linux)에서 miniconda 설치, 가상환경 생성 (1) | 2024.03.30 |
| Week-1 : VScode와 Colab 연동 (0) | 2024.03.30 |
댓글