우분투에 새로운 가상환경을 파서 환경설정을 하던 와중 실험에 사용할 wandb도 새로 설치하려 했는데, API key가 먹지 않아서 발생한 오류에 대한 해결 방법 기록! 우선 wandb 사이트에 회원가입을 이미 완료했다는 가정 하에 아래 작업을 진행하므로, 혹시 회원가입을 하지 않았다면 미리 가입해두고 사이트에 로그인 시켜놓도록 하자. 그 다음 터미널에서의 wandb 설치는 그냥 아래와 같이 pip로 간단하게 설치 가능# 설치pip install wandb# 로그인 wandb login 설치 완료 후 wandb login을 입력하여 첫 로그인을 시도하면 위와 같이 본인 계정의 개인 API key를 입력하라고 한다.참고로 wandb는 free plan을 대부분 사용하고 있을 텐데, 무료/유료와 관계 없이 ..
분류 전체보기
우분투 환경에서 터미널로 작업관리자를 비롯한 각종 설정 확인 작업들을 하는 방법 기록 1. 작업 관리자 열기작업 관리자 열기는 2가지 방법으로 할 수 있는데, 윈도우의 Ctrl+Alt+Del 키와 같이 창을 띄워서 직접 UI로 확인하려면 다음 명령어를 입력하면 된다.$ gnome-system-monitor 여기서 프로그램을 종료하고 싶다면 윈도우와 마찬가지로 해당 프로그램에 우클릭을 하면 바로 종료가 가능하다. 이렇게 UI로 확인하는 방법 말고 아래와 같이 top 명령어를 통해서 터미널 출력으로도 확인이 가능하다.$ top 이 경우에는 터미널 화면에 watch 커맨드처럼 2초마다 한 번씩 tracking하며 출력이 update되고, 빠져나올 때는 Ctrl+C로 나올 수 있다. 2. 리눅스 메모리 확..
1. Polars(폴라스)란?Rust로 만들어져 Python, JavaScript 등에서 사용할 수 있는 고성능 데이터프레임 라이브러리로, Pandas의 강력한 대안으로 떠오르며 특히 대용량 데이터 처리에서 뛰어난 속도를 자랑한다.또한 멀티코어 CPU를 활용한 병렬처리, 벡터화된 연산, 지연 평가(lazy evaluation) 및 효율적인 메모리 관리(zero-copy 데이터 공유)를 통해 대규모 데이터를 빠르고 효율적으로 분석하는 데 특화되어 있다. - Rust 기반 + 병렬 처리 기본 : 연산을 내부적으로 멀티스레드로 잘 돌림- Arrow 컬럼형 memory format : column 단위 연산(filter/join/etc.)이 유리- Lazy API : 여러 연산을 계획으로 묶어서 최적화한 뒤 한..
모델링 코드를 작성하거나 전처리를 진행할 때 가장 중요한 것은 코드의 "효율성"이다.이 때 가장 많이 활용하는 것이 바로 vectorization(벡터화)인데, 아직도 나를 포함하여 많은 학생 및 연구자들은 매우 비효율적인 무한 for 루프 코딩 스타일에서 벗어나지 못하고 있는 것이 현실이다...따라서 이번 글을 통해 개념을 확실히 다져보도록 하자! (혹시 오개념이 있다면 댓글로 편하게 지적해주세요) 1. 벡터화가 뭐 그렇게 중요한가..?> 네!!! 중요해요!!!!! 많이들 벡터화=시간복잡도 감소 라고 생각하지만, 대부분의 경우 알고리즘적으로 Big-O는 동일하다. 예를 들어 N개 원소에 y = x*2 + 1을 적용하면 for문과 벡터화 모두 O(N)이다. 그럼에도 불구하고 벡터화가 빠른 이유는,- ..
·Ai
1. CNN의 흐름흐름을 이해하기 위해서는 각 모델들이 "왜 만들어졌는가?", "어떤 문제를 해결했는가?", "무슨 구조적 특징이 있는가?"를 중심으로 이해하면 편하다.1-1. LeNet (1998) - 1998년 CNN을 처음 개발한 Yann LeCun의 연구팀이 제시한 CNN 모델 - 이전 모델의 문제점:1) Hand-designed feature extractor로 추출하는 특징의 한계 (ML)2) FC Multi-layer만 사용하는 것은 이미지의 2D 구조를 무시하는 것 (MLP) - 전통적인 머신러닝은 수작업 특징 추출(SIFT, HOG 등)이 필요했었으나 이를 자동화하기 위해 convolution을 이용한 End-to-End 방식의 인공신경망 구조를 제안한 것! [구조]- 입력: 32x32..
1. 그래프의 개념 - 인접 행렬 / 인접 리스트그래프: 노드(vertex)와 간선(edge)을 이용한 비선형 데이터 구조보통 그래프는 데이터 간의 관계를 표현하는 데 사용데이터를 노드로, 노드 간의 관계나 흐름을 간선으로 표현하며, 간선은 방향이 있을 수도 있고 없을 수도 있음만약 관계나 흐름에서 정도를 표현할 필요가 있다면 가중치(weight)라는 개념을 추가하여 표현그래프의 구현 방식에는 인접 행렬(adjacency matrix)과 인접 리스트(adjacency list)가 있음 인접 행렬은 배열을 활용하여 구현하는 경우가 많음이때 배열의 인덱스는 노드, 배열의 값은 노드의 가중치로 생각하고, 인덱스의 세로 방향을 출발 노드, 가로 방향을 도착 노드로 생각하면 자연스럽게 그래프를 표현할 수 있음예:..