[MATLAB] csv 파일을 내보낼 때 header까지 내보내는 방법
·
카테고리 없음
다음과 같이 MTR_data = rand(144,4); MTR_titles = {'Put' 'Your' 'Titles' 'Here'}; T = array2table(MTR_data,'VariableNames',MTR_titles) writetable(T,'MTR_Stats.csv') type MTR_Stats.csv % check the resulting file 랜덤데이터를 생성한 다음, header로 사용할 cell array를 만들고 이를 가지고 table을 만들어주면 된다.
[JAX] NaN, Inf 값 처리 및 조건에 맞는 요소 찾기
·
프로그래밍 Programming
JAX에서 값을 쓰다가 어려운 부분이 있으면 대체로 numpy에 있는 함수들과 비슷한 것이 많아서 찾기 쉽다. 1. NaN 값 찾기 import jax.numpy as jnp a = jnp.array([jnp.nan,1,0,jnp.nan]) x = jnp.isnan(a) print(x) >> [ True False False True] 2. +-Inf 값 찾기 import jax.numpy as jnp a = jnp.array([jnp.inf,1,0,-jnp.inf]) x = jnp.isinf(a) print(x) >> [ True False False True] 1,2번 항목을 보면 boolean array으로 나오기 때문에 위 코드에서 'a'라는 array에 대해 indexing하면 NaN값을 추출할..
[PyTorch] 인공지능 재현성을 위한 설정과 주의할 점
·
연구 Research/인공지능 Artificial Intelligent
다음 글에서 재현성을 위해 설정해야하는 것들은 다음과 같다. import random random_seed = 1 torch.manual_seed(random_seed) torch.cuda.manual_seed(random_seed) torch.cuda.manual_seed_all(random_seed) # if use multi-GPU torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(random_seed) random.seed(random_seed) 이것까지는 좋은데 주의해야할 점이 있다. 예를 들어 내가 어떤 random integer를 뽑는 상황이 온다고 하자. 그러면 seed..
[MATLAB] 배열에서 이상치 제거 및 조건에 맞는 요소 찾기
·
프로그래밍 Programming/매트랩 MATLAB
데이터의 차원이 높아질 수록 개별 데이터를 확인하는 것이 어렵고 필요없는 데이터를 제거하는 것이 어려워진다. 이를 위한 다양한 방법들을 알아보기로 한다. 1. 이상치 제거 배열에서 이상치를 제거하는 함수는 MATLAB에서 R2018b 이후부터 rmoutliers로 제공하고 있다. 이상값 감지는 평균에서 3 표준편차를 초과해 떨어져있는 요소를 기준으로 한다. 기준은 평균, 중앙값 등 기준을 다양하게 잡을 수 있다. [B,TFrm,TFoutlier,L,U,C] = rmoutliers(kt_s_pred) ; # L : 하한 임계값, U : 상한 임계값, C : 중심값, TFoutlier : 이상값 표시자, TFrm : 제거된 데이터 2. 조건에 맞는 요소 출력 B = A(A>0.0) # A배열에서 0.0보다 ..
[리눅스/우분투] TurboVNC와 mobaXterm 같이 사용하기 (GUI 사용)
·
프로그래밍 Programming/리눅스 우분투 Ubuntu
mobaXterm은 리눅스 서버와 다양한 방식으로 연결할 수 있도록 돕는 프로그램이다. (꼭 리눅스 서버와 연결하는 것은 아니지만 주로 SSH 연결을 통해 많이 사용한다. 그런데 GUI를 보면서 리눅스 서버를 사용하고 싶을 수 있다. 이전에는 Anydesk (원격접속 프로그램)를 통해서 사용했는데 무료계정이라면 여러 명이 동시에 GUI를 쓸 경우에 Anydesk를 쓰는 것이 불가능하기 때문에 다른 VNC 서버/클라이언트 프로그램을 찾아봐야 한다. 이전 글에서 TurboVNC를 설치하는 방법에 대해 다뤘었다. TurboViewer가 있으면 사용가능한데 굳이 Turbo Viewer 없이 mobaXterm으로도 접속 가능하다. 여기서는 TurboVNC를 통해 mobaXterm으로 접속하는 방법을 소개한다. (..
[에러기록] cudnn 버전 문제 (E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:433] Loaded runtime CuDNN library: 8.8.0 but source was compiled with: 8.9.1. CuDNN library needs to have matching major version and equal or higher minor version. ..
·
프로그래밍 Programming
JAX 사용시 발생할 수 있는 문제점이다. JAX의 최신버전은 가장 최신의 CUDA, cuDNN 버전을 요구하기 때문에 다음과 같은 에러를 만나게 된다. E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:433] Loaded runtime CuDNN library: 8.8.0 but source was compiled with: 8.9.1. CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgr CUDA12.1 버전에 cuDNN 8.9.1버전(현재 기준으로 가장 최신버전은 8.9.2인데 보통 요구하는 cuDN..
Maximum likelihood estimator에 대한 논문
·
추론 & 추정 이론 Estimation
MLE에 대한 좋은 설명이 있는 자료 https://online.stat.psu.edu/stat415/lesson/1/1.2 1.2 - Maximum Likelihood Estimation | STAT 415 Enroll today at Penn State World Campus to earn an accredited degree or certificate in Statistics. online.stat.psu.edu MLE 심화 (MLE Regularity condition에 대한 설명) Lehmann, Erich L., and George Casella. Theory of point estimation. Springer Science & Business Media, 2006. https://barum..
Neural networks의 convergence, convexity에 대한 논문
·
연구 Research/인공지능 Artificial Intelligent
아직 많이 논문을 읽어보지는 못했지만 최근 Neural network의 수렴성에 대한 연구가 이루어지는 것들이 있는 것 같아서 논문 목록을 미리 작성해놓는다. NN에서 마주치는 어려움 중 하나는 수렴성에 대한 문제이다. 최적화도 nonlinear programming에서 수렴이 어렵기 때문에 이를 convex화시켜서 해결하고자 하는 시도들이 많은데 인공지능 분야도 실제 상황에서 활용되기 위해서는 충분히 수렴이 가능한지에 대한 연구도 많이 필요할 것으로 보인다. Neural network의 convexity에 대한 연구 Milne, T. (2019). Piecewise strong convexity of neural networks. Advances in Neural Information Processin..
[응용선형대수] Cosines and Projection onto lines
·
수학 Mathematics/선형대수학 Linear Algebra
1. Inner products and cosines cosine의 물리적인 의미는 다음과 같이 이해할 수 있다. 위에서 벡터 b를 a에 대해 projection한 결과 (편의성을 위해 위의 벡터 표시는 생략) $p=\|b\| \cos\theta \dfrac{a}{\|a\|}=\dfrac{\|a\| \|b\|\cos\theta }{\|a\|^{2}}a=\dfrac{a^{\top}b}{a^{\top}a}a$ 첫번째 부등식은 그림을 보고 유도한 것이고 그 다음 등식은 내적과 cosine의 관계를 통해 유도된 것이다. 위를 통해 b를 a에 대해 projection한 결과는 $\dfrac{a^{\top}b}{a^{\top}a}$ 관계로 연결되어있음을 확인할 수 있다. 그러나 위의 결과는 2차원 평면에서 유도하는..
[JAX] JAX 기반 Neural ODE 라이브러리 : diffrax
·
연구 Research/인공지능 Artificial Intelligent
Neural ODE를 구현해놓은 코드는 torchdiffeq인데 학습이 너무 느리다는 생각이 들었다. 여러가지를 테스트해봐야 하는 입장에서 아무리 좋은 GPU를 써도 코드가 뒷받침되지 않으면 학습하는 데 시간이 오래 걸린다. 최근 JAX가 이런 측면에서 효과적이라는 것을 알아서 JAX 기반의 Neural ODE 코드를 찾아보았다. https://docs.kidger.site/diffrax/ Diffrax Diffrax in a nutshell Diffrax is a JAX-based library providing numerical differential equation solvers. Features include: ODE/SDE/CDE (ordinary/stochastic/controlled) sol..