NAVER boostcamp AI Tech

[NAVER boostcamp AI Tech 5기] 1주차 학습 정리

y2r1m 2023. 3. 10. 18:42

1) 강의

# 새로 알게 된 내용

1. cmd를 좀 더 예쁘고 간편하게 사용할 수 있는 cmder라는 툴이 있다. 

설치 시 참고하기 좋은 글 : [CMDER] 💽 cmder 설치 & 설정 (+ 문자 깨짐 해결법)

 

[CMDER] 💽 cmder 설치 & 설정 (+ 문자 깨짐 해결법)

Cmder 윈도우를 사용하면서 CLI명령이 필요할때 cmd를 많이들 사용하실 것이다. 하지만 컬러를 지원하지않아 가독이 그렇게 좋지않으며, 근래 Windows OS에도 PowerShell 이라는 쉘을 제공 하기는 하지만

inpa.tistory.com

 

2. 실습 환경을 세팅하며 문제가 생겼고, 이를 해결하는 과정에서
python과 anaconda의 차이, 환경변수 설정 이유에 대해 정확히 알게 되었다.

매일 그냥저냥 사용하고 대충 넘어갔었는데, 이번에 새로 세팅해보면서

그동안 얼마나 뭣도 모르고 코딩하고 있었는지 다시 깨달았다.

 

  [ 문제 해결 과정 ]

  1) 아나콘다는 이미 깔려있던 상태

  2) 근데 cmd에서 conda 명령어 인식을 하지 못함

  3) python을 따로 설치하지 않아서 그런줄 알고 python 설치..

  => But 이것은 위험한 짓이었다.. anaconda가 깔려 있는 상태에서 python을 깔면 충돌이 일어날 수 있다고 함.
       (anaconda 설치할 때 python도 같이 설치했었음)

  => 그렇다면 python과 anaconda의 차이는?
       anaconda는 기본적으로 필요한 다양한 패키지들을 충돌이 발생하지 않게 설치해주므로,
       패키지 하나하나 충돌을 고려하며 설치하며 초기 환경을 세팅할 필요가 없다.
       또한, 프로젝트마다 가상환경을 만들어 개별적으로 관리할 수 있다.
       따라서 기본 python shell 환경 대신 anaconda를 사용하면 ai 개발 환경을 훨씬 편리하게 세팅/관리 가능함!

  4) python을 깔아도 안되고, 충돌이 발생할 수 있다 하니 다시 삭제함.

  5) 그렇게 찾다보니, python이 없는 게 아니라 anaconda 환경변수 설정을 해주지 않아
      conda 명령을 인식하지 못함을 깨달음

  => 환경변수를 설정해주면 어떤 경로에서든 명령 인식이 가능해진다! 

  6) 또한, 그냥 python을 치면 python shell이 실행되는 것일뿐,
      ai 개발에 적합한 conda 환경을 활성화(conda activate ~) 시키고 코딩해주어야 함!

      환경변수 설정까지 마치고 코드 실행 왜 안되나 또 당황했던 기억...

 

# 아직 더 복습이 필요한 파트

[ Python ]

1. pythonic code - asterisk 를 대충은 알고 있었지만, 깊게 들어가니 꽤나 어려웠다.
강의 내용과 자료를 여러 번 보며 이해하긴 했지만, 꾸준한 복습이 필요할 듯!

2. OOP - decorate 도 마찬가지. Inner func., closures, decorator를 직접 사용해보며 이해하는 과정 필요.

3. Log Handling, 정규식 개념들은 당장 필요한 지식은 아니지만, 조금씩 익숙해지는 과정이 필요할 것 같다.

 

[ AI Math ]

전체적으로 까먹었거나 제대로 알지 못하는 부분이 많았음..

앞으로 학습 진행하면서 꾸준히 봐줘야 할 것 같다.

1. 역전파 알고리즘

2. 최대가능도 추정법

3. 베이즈 정리

4. CNN, RNN

 


2) 과제

아직 난이도는 어렵지 않았던 것 같다!

# 새로 알게 된 내용

  • 판다스의 category 자료형
  • map 함수 인자로 함수가 아닌 시퀀스형 데이터를 넣어 mapping 할 수도 있다.
  • pd.cut 함수로 구간을 나눠 연속형 변수를 범주형 변수로 바꿀 수 있다.
    [Pandas]구간 나누기(pd.cut,pd.qcut)
 

[Pandas]구간 나누기(pd.cut,pd.qcut)

판다스에는 구간 나누는 기능이 있습니다. 그래서 카테고리를 만들 때 굉장히 편합니다. 물론 파이썬 자체에서도 가능하지만 제 생각에는 판다스로 하는게 편리하고 한눈에 볼 수 있어서 좋은

seong6496.tistory.com

 


3) 피어세션

아직 해볼 수 있는 컨텐츠들이 없어 알차게 보내진 못한 것 같다. (+어색함 한 스푼)

하지만 다들 적극적으로 아이디어를 내주어서

코테 스터디(월), 논문 리딩(목) => 총 2개의 정기적인 컨텐츠들을 기획했고,
다음주부턴 꽤 바빠질 수도 있을 것 같다.

그리고 이번 주말에 오프라인 만남을 가지기로 했다. (두근)

 


4) 학습 회고

전체적으로 강의든 블로그든 "정리"하는 것에 심취해 시간을 너무 많이 들여버렸다..

그 덕분에 학습 진도를 너무 느리게 나가게 되었고, 막판에 몰아서 처리해버렸다.

그런데 마침, 멘토 님께서 강의를 빠르게 훑고 중요/어려운 부분만 집중적으로 복습하는 것이 좋다는 조언을 해주셨다!

다음주부턴 조언해주신대로 진행하면서, 좀 더 생각 & 질문하는 시간을 많이 가져야겠다.