썸네일 부스트캠프 두런두런 후기글 부캠의 힐링타임을 담당하시는 변성윤 마스터님의 두런두런 후기글을 짧게라도 적어보려 한다. 두런두런이 무엇이냐에 대한 짧은 설명을 하자면, 부스트캠프 AI Tech에서 러닝 마스터를 맡고 계시는 변성윤 마스터님께서 힘든 내용을 함께 고민해 주시고 취업이나 학습에 대한 이야기를 해주시는 시간이다. 보통 수요일에 진행되는데 빡 집중하기보다는 가볍게 들어도 힐링할 수 있는 그런 소중한 시간이다. Do Learn Do Run이라서 두런두런 시간이다. 사실 많은 분들께서 변성윤마스터님을 블로그에서 마주쳤다고 이야기하시는데 내가 기억하는 메타몽의 첫 만남은 부캠을 참여하기 이전 부캠 참여여부를 고민할때쯤 네이버 부캠 후기글을 읽던 중이었다. 부캠 내에는 두런두런이라는 활동도 있다는 것을 그때 처음 알았고, 그래서 그..
썸네일 알아두면 너무나도 좋을 Mac 단축키 finder 를 열고 command + ⬆️ 를 입력해서 가장 상위 폴더로 이동할 수 있습니다. shift + cmd + . 을 입력해서 숨김 폴더를 보이게 처리할 수 있습니다.
썸네일 [Docker] exposing port TCP Error 에러 메세지 Error response from daemon: Ports are not available: exposing port TCP 도커에서 MySQL을 실행하려던 중 docker run --name mysql-tutorial ~~~ 를 입력하였는데 docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use. 이런 에러 메시지가 나왔다. 3306이라는 포트를 내가 이미 사용하고 있으니까 쓸 수 없다는 소리다. 해결방법 3306 포트를 쓰고 있는 프로세스를 kill 하고 다시..
썸네일 [Linux] csv에서 특정 열을 count 하기 1. 일단 csv가 있는 위치로 이동을 한다. 2. 명령어를 친다. 아래의 명령어를 설명하자면, csv파일 이름이 BE1.csv였으며 특정 열은 2번째 있는 열이었다. (단, 여기서는 0부터 세는 것이 아닌 1부터 센다.) cat BE1.csv | awk -F, '{print $2}'| sort -n | uniq -c awk는 스크립트 언어인데 grep과 비슷하게 표준입력이나 파일로부터 입력을 받고 파싱 해서 원하는 결과를 얻어내는 데 사용된다. -F는 csv가 열당 구분 단위가 쉼표(,)로 구분되어 있어서 구분 기호를 지정하는 것이다. 그리고 sort는 다들 아시다싶이 정렬해 주고 uniq는 중복을 제거해 주는 역할을 하는데 uniq -c를 사용하면 중복된 행의 개수를 출력해 준다.
썸네일 [Linux] Linux에서 "!!!!" 쓰는 방법 과제는 단순했다. "Hi!!!!"라는 test.txt를 만드는 것이었다. echo "Hi!!!!" > test.txt 로 되는 줄 알았는데 그 전에 명령어를 쳤던 이유에서인지 자꾸 이상한 결과값들이 나오는 것이었다. 이유는 바로 리눅스에서 느낌표는 명령 히스토리 확장으로 쓰인다. 즉, !e를 치게 된다면 이전에 쳤던 명령어중 가장 최근의 e로 시작하는 명령어를 다시 실행해주게 된다. 또한 !!를 치게 된다면 가장 최근의 명령어를 다시 실행하는 것이다. 따라서 !를 문자열로 쓰고싶다면 이스케이프(따음표로 묶어줘야한다)를 해줘야 한다. + ) 그리고 보너스로 test.txt 파일의 줄 수를 출력하는 명령어는 cat test.txt | wc -l 이다.
썸네일 [대회 기록] Mask classification Competiton 회고록 첫 대회였다. AI/ML을 연구생으로 처음 시작해서인지 모델의 성능으로 누군가와의 경쟁을 해본 적은 한 번도 없다. 대회에서는 꽤 완성도있는 베이스라인 코드가 주어진다. 우리가 실험할 수 있던 부분들은 다음과 같다. 모델, 모델의 전체적인 구조, data split, dataloader, data, loss, learning rate, 그 이외의 각종 hyperparameter까지... 각종 Tool들 (wandb, tensorboard)을 경험할 수 있는 기회가 생겨서 너무 좋았고 신났던 것 같다. 뭐랄까, 고등학생때 VScode를 보던 대학생들을 처음으로 보던 기분처럼 loss 값과 accuacy가 휘황찬란하게 그려진 차트들을 보면서 AI 뽕을 조금 느낄 수 있었다. 역시 멋있는 게 최고다. 오랜만에..
썸네일 [대회 기록] 어떤 Sampler를 사용해야할까? 0. 내가 참가했던 Mask classification Competiton의 data는 매우 imbalance 했다. 3가지의 기준 나이 (young, middle, old), 성별(male, female), 마스크 착용 여부(정상 착용, 오착용, 미착용)로 총 18가지의 class가 존재했는데, 이 데이터를 살펴본 결과 나이의 class는 young : middel : old = 6 : 6 : 1으로 불균형했고, 성별은 거의 비슷했고, 마스크 착용 여부를 나타내는 데이터는 정상 착용 : 오착용 : 미착용 = 5 : 1 : 1 정도로 불균형했다. 우리 팀에서 각 기준에 대해 얼마나 정확도가 나오는지를 뽑아보았는데, 성별 여부와 마스크 착용 여부의 validation acc는 굉장히 높았으나 나이에 해당하..
썸네일 [대회 기록] Mask classification Competiton_loss 종류 대회 중 학습한 내용을 중간중간에 적어보려 합니다. 0. Loss loss는 학습하는 데 없어서는 안 될 요소입니다. 일반적으로 loss는 Ground Truth (실제로 사실인지 아닌지와 관계없이 모델을 만드는 사람이 사실이라고 정의한 값)과 model이 output으로 내놓은 값의 차이를 말합니다. 이 loss는 상황에 따라 여러 가지 종류의 loss를 사용할 수 있습니다. 이 competiton의 baseline code에서 주어진 loss는 4가지였습니다. 이 loss들을 공부해보려고 합니다. 1. Cross Entropy Loss classification 문제에서는 데이터 라벨이 one-hot encoding을 통해 표현됩니다. 정답인 class에만 1을 채워주고 나머지 class는 다 0인 ..
[Data viz] fig.add_subplot(111)의 의미 fig.add_subplot는 데이터를 시각화할 때 그래프를 그리는 코드 중 하나이다. fig.add_subplot(111)은 fig.add_subplot(1,1,1)을 간략하게 쓴 코드인데 이 두 번째 코드가 무슨 의미인지 알아보자. 일단, 코드를 보자 fig = plt.figure() fig.add_subplot(111) 1. fig = plt.figure() 이 코드는 사실 이미지 영역을 확보해줘야 하는 코드로 객체 인스턴스를 생성한다. 즉, 그래프에는 아무것도 그려지지 않는다. 괄호 안에는 사실 width와 hetight의 값을 전달해야 하지만 default 값으로 width는 6.4, height는 4.8의 값을 전달해 준다. 2. fig.add_subplot(111) 위에서 fig.add_su..