목록2022/04 (11)
Joonas' Note
압축 파일을 압축 해제하려고 아래처럼 unzip을 실행했는데 에러가 났다. $ unzip dataset.zip -d data Archive: dataset.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of dataset.zip or ..
https://github.com/pytorch/pytorch/issues/16417 RuntimeError: CUDA out of memory. Tried to allocate 12.50 MiB (GPU 0; 10.92 GiB total capacity; 8.57 MiB already allocated; 9.28 CUDA Out of Memory error but CUDA memory is almost empty I am currently training a lightweight model on very large amount of textual data (about 70GiB of text). For that I am using a machine on a c... github.com 대부분 아래 메시..
2021.02.06 - 백준 온라인 저지(BOJ) 기능 확장 프로그램 백준 온라인 저지(BOJ) 기능 확장 프로그램 백준 온라인 저지(https://www.acmicpc.net) 사이트의 기능을 보완/확장하는 목적으로 BOJ-Extended를 만들었다. BOJ Extended 백준 온라인 저지(BOJ)를 확장된 기능과 함께 사용해보세요. chrome.google.com 처음.. blog.joonas.io 나만의 기능을 원해서 1월에 작게 개발하고, 2월에 배포하기 시작했던 확장 프로그램이었는데, 다같이 자기가 필요한 기능을 만들어봤으면 좋겠어서 오픈소스로 공개하고 관리한 지 벌써 1년이 지났다. 1.7.7 버전 이후로는 stable한 상태이다. 어느 순간부터 Chrome 정책이 Manifest V3 업데..
Numeric Error 결과값이나 학습 도중에 log(x)를 씌우면 NaN으로 가는 경우. 즉, x가 음수가 나오는 경우가 있는 지? log1p 등으로 해결할 수도 있지만 계산 과정에서 음수가 나오지 않는지 수식을 다시 확인한다. Learning rate learning rate가 커서 gradient discent 단계에서 아예 튕겨져 나갔을수도 있다. 데이터셋에 NaN이 섞인 경우 왜인지 모르겠는데 종종 pandas에서 fillna()가 먹히지 않는 경우가 있었다. 아래 스크립트로 N/A, NaN 등의 값이 있는 지 확인한다. def get_na_df(df): na_df = df.isna().sum() na_cols = na_df[na_df > 0].index return df[df.isna().a..
이번 글에서 사용되는 데이터셋은 Kaggle의 한 Competition인 house-prices-advanced-regression-techniques이다. 개와 고양이 분류 이후로, 회귀(Regression) 모델을 연습하기 위해서 적당한 주제를 잡던 중에 먼저 ML 모델로 데이터 전처리(preprocessing)부터 연습하기로 했다. Regression 모델로 LinearRegression, Ridge, Lasso 이렇게 3개로 학습하면서 튜닝해봤는데, LightGBM이 가장 loss가 낮아서 그걸로 제출했더니 가장 순위가 좋았다. 그래도 RMSE 0.17812(상위 77%)로 매우 낮은 예측을 보였다. https://www.kaggle.com/code/joonasyoon/ml-practice-on-..
Pandas는 기본값이 64비트 타입임에 유의해야한다. ╔══════════════════════════╦════════════════╦════════════════════╦═════════════════════════╦═════════╦═════════╗ ║ Data type ║ dtype ║ CPU tensor ║ GPU tensor ║ NumPy ║ Pandas ║ ╠══════════════════════════╬════════════════╬════════════════════╬═════════════════════════╬═════════╣═════════╣ ║ Boolean ║ torch.bool ║ torch.BoolTensor ║ torch.cuda.BoolTensor ║ bool_ ║ ..
/* */ 주석을 이용해서 JavaDoc을 자동으로 만들 수 있는데, @Override 한 함수도 똑같이 적어주는 건 귀찮고 불필요한 일이다. 그때마다 @see {#link ClassABC} 처럼 작성해서 오버라이드한 함수를 직접 링크했는데, 그럴 필요가 없었다. /** * * @author Hari Krishna * * @since 1.0 */ public class ABCOrg { /** * Print welcome message to employee. * * @param empName * Employee Name */ public void welcomeEmployee(String empName) { System.out.println("Hello " + empName); } } public class..
작년쯤에 Devlog에 정리한 적이 있지만, GitBook 에디터의 한글 타이핑 버그가 너무 심각해서 옮길 겸 다시 정리한다. Singleton Pattern - Today Joonas Learned Config 클래스의 생성자를 직접 호출하지 못하도록 하여, 인스턴스가 한번만 생성되도록 한다. 대신 getInstace 등의 함수로 인스턴스를 가져다 쓸 수만 있도록 제한한다. devlog.joonas.io 싱글톤 패턴 싱글턴 패턴은 인스턴스를 하나만 생성하여 사용하는 패턴이다. 개인적으로 가장 쉬우면서 흔하게 볼 수 있는 디자인 패턴이다. 예시 프로그램(또는 어플리케이션)의 설정 클래스가 있다고 치자. 그럼 이것은 프로그램 전체에서 마치 하나의 파일처럼 동작해야할것이다. 특히, 데이터베이스를 사용하는 클..