일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- MATLAB
- LaTeX
- 텝스공부
- 고체역학
- Zotero
- Statics
- 인공지능
- JAX
- matplotlib
- 논문작성법
- Python
- Dear abby
- 생산성
- 수치해석
- Linear algebra
- pytorch
- 논문작성
- obsidian
- 에러기록
- 우분투
- Numerical Analysis
- 텝스
- 수식삽입
- IEEE
- teps
- WOX
- 딥러닝
- Julia
- ChatGPT
- 옵시디언
- Today
- Total
목록Python (5)
뛰는 놈 위에 나는 공대생
Quasi Newton method를 이용해서 JAX에서 최적화를 시키고 싶었는데 JAX 자체가 Deep learning에 포커스가 있고 대부분 딥러닝이 Gradient descent method로 최적화를 하다보니 라이브러리를 찾게 되었다. 대부분 jaxopt라는 라이브러리를 추천했기 때문에 이걸로 수행해보았다. jaxopt에는 jaxopt.ScipyMinimize와 jaxopt.LBFGS가 있는데 다른 분들의 시도를 보니 ScipyMinimize가 더 성능이 괜찮은 것 같다. ScipyMinimize는 scipy에 있는 최적화를 사용한 것이고 LBFGS는 직접 만든 것 같은데 line search 방법 등이 다르다고 한다. import jax import jax.numpy as np from jax ..
현재 기준(230318)으로 cholesky decomposition을 사용할 때 행렬 크기가 50정도 넘어가면 nan을 출력하는 오류가 있다. jnp.linalg.cholesky(K) jax.random.multivariate_normal(subkeys[0], np.zeros((N_samples,)), K) 이 때문에 cholesky decomposition을 쓰는 다른 함수들도 영향을 받았는데 jax.random.multivariate_normal의 경우에도 랜덤하게 추출하는 과정에서 cholesky decomposition을 쓴다. cholesky decomposition은 어쩔 수 없을 것 같고 jax.random.multivariate_normal(subkeys[0], np.zeros((N_sa..
Sampyl이라는 라이브러리를 사용하기 전에 간단한 예제가 있어서 posterior distribution과 sampler에 대한 tutorial을 좀 정리해보았다. $\begin{aligned} & Y \sim N\left(\mu, \sigma^2\right) \\ & \mu=\beta_0+\beta_1 x_1+\beta_2 x_2\end{aligned}$ 다음과 같이 $\beta$가 계수의 어떤 y와 x 간의 모델이 있다고 해보자. 이 문제에서는 $\beta=[2,1,4]$인 경우이다. 따라서 아래와 같이 $x_{0}=1, x_{1},x_{2}$에 대하여 $y$가 분포되어있다. # Number of data points N = 200 # True parameters sigma = 1 true_b = ..
1. JAX 설치 JAX를 설치하는 방법에 대해서는 installment guide에 잘 나와있다.다음 링크로 가면 jax 설치법에 대한 문서를 볼 수 있다. 필자는 GPU를 쓰고 싶었기 때문에 다음을 설치했다. conda를 보통 사용하기 때문에 이렇게 했다. conda install jax cuda-nvcc -c conda-forge -c nvidia 이렇게 설치하고 나서 문제가 발생하였다. 2. JAX에서 GPU 사용하기다음과 같은 warning code를 만났다. WARNING - No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.) 우분투에서 가상환경을 만들고 여기서 JAX를 설치했는..
Matplotlib은 figure를 도출하기 위해 중요한 라이브러리이다. 이 figure를 파일로 저장하기 위해서는 savefig라는 함수를 쓰는데 이 함수에서 설정할 수 있는 것들에 대해 이야기하려고 한다. 1. savefig의 argument savefig(fname, *, dpi='figure', format=None, metadata=None, bbox_inches=None, pad_inches=0.1, facecolor='auto', edgecolor='auto', backend=None, **kwargs ) 위의 savefig argument에서 fname은 저장할 파일이름이다. 여기에서 확장자를 지정하지 않으면 default로 png 파일로 저장한다. format에서도 확장자를 지정할 수 있..