일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Zotero
- MATLAB
- 우분투
- 텝스공부
- matplotlib
- LaTeX
- 에러기록
- 생산성
- 논문작성
- ChatGPT
- Linear algebra
- 딥러닝
- 논문작성법
- IEEE
- JAX
- Julia
- 텝스
- 수치해석
- 옵시디언
- Dear abby
- Statics
- Python
- 고체역학
- pytorch
- WOX
- obsidian
- Numerical Analysis
- 인공지능
- teps
- 수식삽입
- Today
- Total
목록분류 전체보기 (436)
뛰는 놈 위에 나는 공대생
논문 작성할 때 편하게 수식을 쓰거나 숫자 및 단위를 쓰기 위해 매크로를 만들 수도 있지만 기존에 있는 package를 사용하는 것도 하나의 방법이다. 논문 양식에서 physics와 siunitx 패키지가 있었는데 이를 잘 활용하면 좋다 1. 미분/편미분 표기 \usepackage{physics} \dv{x}{t} = \dfrac{\mathrm{d}x}{\mathrm{d}t} \pdv{x}{t} = \dfrac{\partial{x}}{\partial{t}} 다음과 같이 $\mathrm{d}x$와 $\partial{x}$는 위와 같은 분수를 많이 쓸 때 계속 써주기 귀찮다는 문제가 있다. 따라서 dv와 pdv 명령어를 이용해서 편하게 작성할 수 있다. 2. 숫자에 단위 표기하기 글 안에서 숫자를 쓸 때 $..
개발이나 알고리즘 테스트 등의 목적으로 리눅스 환경에서 프로그래밍 및 시뮬레이션을 해야하는 경우가 있다. 실제 데스크탑에 우분투를 설치해서 사용하면 좋겠지만 기본적으로 윈도우나 맥OS를 쓰고 있을 것이다. 여기서는 윈도우11을 기준으로 설명한다. 또한 멀티 부팅의 경우에는 시도할 생각을 못해서 제외한다. 1. 가상환경에서 설치 컴퓨터 가상화 프로그램인 VMware에서 우분투를 설치할 수 있다. 다른 가상환경을 만들 수 있는 소프트웨어면 괜찮을 것으로 생각된다. 1) VMware 설치 2) VMware에서 Ubuntu.iso 파일을 이용해 우분투 설치 그러나 이런 VMware를 사용할 때는 충분한 하드디스크,메모리가 필요하고 컴퓨터의 연산속도가 좋아야 버벅임없이 사용할 수 있다. 나의 경우에는 노트북에 설..
overleaf는 저장버튼이 따로 없이 컴파일을 하면 저장이 되고 ctrl+s를 누르면 컴파일이 된다. 그래서 컴파일에 문제가 있을 때 새로고침했더니 예전 버전으로 돌아가는 끔찍한(..) 일이 생길 수 있다. 저장 기준이 ctrl+s를 누르는 순간 or 컴파일을 새로 할 때인 것으로 추정되는데 다음과 같이 history가 있어서 이전에 수정한 부분을 찾아서 고칠 수 있다. 컴파일 오류가 생겨서 건들다가 쓰던 게 날아가서 마음이 아팠는데 여기에 저장된 히스토리 덕분에 되찾았다.
머신러닝, 딥러닝을 공부하다보면 다양한 에러에 대해서 배우게 된다.이 글에서는 이러한 용어들의 혼동을 막고자 종합적으로 정리하는 글이다. 1. Model bias, Estimation bias, Estimation variance 그 중에 하나가 model bias, estimation bias, estimation variance이다. 위 그림을 보면 이 개념을 설명하는 결과라고 볼 수 있다. Model bias는 실제 값과 내가 모델로 만든 값 중에서 가장 실제값을 가깝게 반영하는 모델에서 발생하는 바이어스이다. 즉, 내가 정한 모델은 아무리 최적화를 시켜도 truth 값과 완벽하게 일치하지 않을 수 있다. 예를 들어 비선형 모델인데 내가 아무리 선형 모델로 fitting을 하려고 해도 모델 ..
이번에 블로그를 git으로 만들어볼까하고 테마 적용을 시도했다가 수많은 에러를 직면한 것을 기록하고자 한다. 1. 버전 호환성 문제 처음에 Ruby를 설치할 당시에 잘 모르고 가장 최신 버전인 3.2.2를 설치했는데 나중에 이런저런 것들을 설치하다가 버전이 호환 안된다는 것을 깨달았다. 오류를 자세히 보면 Ruby < 3.2 이런 식으로 버전이 문제라고 알려준다. 그리고 구글 검색하다가 Ruby 3.0 이상부터는 무슨 문제가 발생할 수도 있다는 말을 봤다. 안전하게 설치하려면 2.7 정도의 버전이 좋은 것 같다. 2. 파일 경로 한글 포함 문제 내가 지정해놓은 github 로컬 저장소에는 한글이 포함되어있는데 이 때문에 아래와 같은 오류가 났다. Encoding::CompatibilityError: in..
논문을 쓰다보면 acronym, abbreviation을 쓰는 방법 등에 대해서 알게 되는데 정작 두 개의 차이를 알기가 어려웠다. 1. Abbreviation 과 Acronym의 통상적인 차이 두 단어를 번역하면 abbreviation은 축약어이고, acronym은 두문자어이다. 여기에서 힌트를 얻을 수 있는데, abbreviation은 어떤 긴 단어를 줄여서 쓰는 것이고, acronym은 긴 단어구 중에 앞글자만 따서 이름을 붙인 것이다. 예시) corporation -> Corp. (abbreviation) National Aeronautics and Space Administration - > NASA (acronym) 2. 몇 가지 대표적인 Abbreviation 라틴어 기반인 e.g. (= f..
빠르게 윈도우에서 검색을 위한 툴은 다음과 같다. 1. Everything 윈도우에서 검색을 해주는 툴이다. 폴더에서 윈도우 검색하는데 폴더에 검색하면 너무 느려서 everything을 이용해서 빠른 검색을 할 수 있도록 하였다. everything은 다음 링크에서 다운받아 설치할 수 있다. 다음과 같이 파일을 검색하는데 검색 속도가 일반 윈도우 폴더 검색보다 훨씬 빠르다. 2. WOX WOX는 여러가지 윈도우 어플리케이션을 쉽게 접근해서 사용할 수 있도록 하는 프로그램이다. 사용자가 지정한 단축키를 누르면 다음과 같이 화면에서 어플을 검색해서 실행할 수 있다. 3. 결합하기 위의 everything과 WOX를 함께 쓰면 WOX를 통해 everything에서 검색을 하는 것과 같은 동일한 효과를 얻을 수..
matplotlib에서 3D scatter plot을 그리는 방법 3D plot을 그리기 위한 코드는 여러 방식이 있을 텐데 아래 방식이 가장 스탠다드인 것 같아서 이렇게 사용한다. max_value = np.amax( np.abs(data) ) # max값으로 축 제한 fig = plt.figure(constrained_layout=True) ax = fig.add_subplot(projection='3d') ax.scatter(data[:,0], data[:,1], data[:,2], marker='o', color ='r', alpha=1.0) ax.set_xlim([-max_value, max_value]) ax.set_ylim([-max_value, max_value]) ax.set_zlim([..
데이터 결과를 보고나서 이를 저장하기 위해 일일이 옮겨적지 않고 dataframe으로 만든 다음에 csv로 export하는 방법이 훨씬 편하다. 간단하게 표현하면 아래와 같은 코드를 사용한다. result_name = (어쩌구저쩌구) filename = result_folder + result_name + '.csv' write_csv = pd.DataFrame( record_matrix ) # data_frame 생성 # 또는 write_csv = pd.DataFrame( record_matrix, columns = ['A','B','C'] ) write_csv.to_csv(filename) dataframe을 사용하면 그 dataframe에서의 데이터를 종합하여 보여주는 기능이 있다. result_m..
JAX를 쓰다가 너무 많은 양의 데이터를 쓰다보니 메모리 부족(OOM: Out of memory) 현상을 겪었다. 근본적인 해결책은 달리 없다. 데이터가 너무 많아서 생기는 문제이니 데이터 양을 줄이던가 아니면 병렬 컴퓨팅을 하는 방법이 있다. 병렬 컴퓨팅을 간단한 코드에서는 실행해보았는데 큰 네트워크에서는 해본 적이 없다. 일단 임시방편으로는 다음과 같다. 메모리 부족이 쉽게 발생할 수 있는 이유는 JAX에서 처음에 import를 할 때 대부분의 메모리를 미리 할당해놓기 때문이다. 따라서 이 preallocation을 막거나 줄이면 도움이 된다. 1. Preallocation 중단 XLA_PYTHON_CLIENT_PREALLOCATE=false # 구체적으로는 다음과 같이 구현한다. import os ..