목록전체 글 (24)
akaSonny
Custom Datagenerator로 Multiple Input 넣기 오늘 깨달은점 generator로 multi input을 사용해본 적이 없었다 ..그냥 데이터를 직접 넣을 때는 model.fit(x=[x1, x2], y=y) 이런 식으로 사용하면 됐는데 generator는 어떻게 하지 ???? 에서 뇌정지 찾아보니 대부분 custom이 아닌 ImageGenerator 관련 방법이라 찾는데 애 좀 먹었다. 1. 모델 만들기 일단 다음과 같이 2개의 입력값을 가지는 모델을 생각해보자. input1 = tf.kears.layers.Input(shape=(64, 64)) input2 = tf.kears.layers.Input(shape=(64, 64)) def network(inputs): x = Den..
모델 돌리고 퇴근하고 와서 봤는데 네트워크 문제 등등으로 모델 훈련이 중단되어 있는 경우 ,, 저장된 checkpoint를 이용해서 다시 훈련시켜보자 - checkpoint 파일: 'checkpoint.pth' model = Model() checkpoint = torch.load('checkpoint.pth') model.load_state_dict(checkpoint) for epoch in range(n_epoch): model.train() ... 그런데 나 같은 경우에는 이렇게 하니까 RuntimeError 가 발생했다. RuntimeError: Error(s) in loading state_dict for Model: Missing key(s) in state_dict: ~~ Unexpecte..
나는 항상 모델 훈련을 하면 전체 에폭이 돌고, 모델 저장을 해서 테스트를 했는데, 생각해보니 "마지막에 저장된 모델이 과적합돼서 오히려 성능이 떨어진 모델을 사용하는게 아닐까..?" 하는 의문이 들었다. 그래서 훈련 중 두 가지 처리를 시도해보았다. 훈련 중 모델 저장하기 EarlyStop 사용하기 1. 훈련 중 모델 저장하기 - tensorflow.keras.callbacks.ModelCheckpoint() tf.keras.callbacks.ModelCheckpoint() filepath, monitor: str = 'val_loss', verbose: int = 0, save_best_only: bool = False, save_weights_only: bool = False, mode: str =..
numpy random 함수를 은근 많이 쓰게 되는데, 쓰다보니 헷갈려서 정리하는 글 ! 1. numpy.random.rand() 0과 1사이에 균일 분포로 랜덤한 값 생성 예시: numpy.random.rand(3, 2)은 3x2 크기의 0과 1사이의 랜덤한 값의 배열을 생성한다. 2. numpy.random.randn() 표준 정규 분포(평균:0, 표준편차:1)를 따르는 랜덤한 값 생성 예시: numpy.random.randn(5)은 평균이 1이고 표준편차가 0인 5개의 랜덤한 값을 생성한다. 3. numpy.random.randint() 최소값, 최대값 (optional)을 입력하여, 해당 범위 내에서 랜덤한 정수 생성 size (optional) : 크기 결정, 미입력시 랜덤한 하나의 값만 출력 ..
0. 예제용 데이터프레임 만들기 df = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 4, 9], 'C': [-1, -2, -3]}) A B C 0 1 2 3 1 1 4 9 2 -1 -2 -3 1. 데이터프레임 열 삭제 / 삽입 1) 열 삭제: df.drop([column명]) 함수 사용 위 예시에서 만든 df에서 'C' 열을 빼고 싶다면, 다음과 같이 코드를 작성하면 된다. df = df.drop(['C'], axis='columns') # or df = df.drop(['C'], axis=1) 이 때 주의해야 할 점은 axis 파라미터를 꼭 지정해줘야된다는 것! axis를 쓰지않으면 행이 삭제되는것이 디폴트로 된다. 열을 삭제하고 싶으면 'columns' 혹은 1을 써주도록 ..
(TMI) 공부 배경 데이터를 다루다 보면 기간별로 평균을 내야될 때가 있는데, 나는 그냥 무식하게 인덱싱을 해서 평균을 구했었다. ex) 1분 단위의 데이터를 1시간 평균을 내고 싶을 때는 np.mean(data[i:i+60]) .... 이렇게 그런데 요즘에 사용하는 데이터를 보니까 missing data가 있을 때 어떤 특정한 값으로 채워주는게 아니라 그냥 그 시간대의 데이터를 빼버려서 (!) 저 방법은 쓸 수 없게 되었다 흑흑 그래서 찾아보니 dataframe과 datetime을 이용하면 내가 원하는 일을 할 수 있었다!! 이렇게 좋은 게 있을 수가! | pandas.DataFrame.groupby 말 그대로 데이터들을 특정조건으로 그룹화 시켜주는 함수. 예제) df = pd.DataFrame({'..
데이터를 처리하다보면 무조건 써야되는 pandas DataFrame .. 자주 쓰는 함수들 정리할 겸 오랜만에 파이썬 포스팅 1. csv 파일 열기 - pd.read_csv() 함수 import pandas as pd data = pd.read_csv('data.csv', engine='python') 일단 내가 데이터 열 때는 이렇게 쓰는데, 도큐먼트를 보니 입력값이 엄~청나게 많다. 뭔가 쓸모있어 보이는 것을 정리해보면, dtype: column 별로 데이터 타입을 지정해 줄 수 있다. ex) dtype={‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’} sep: 각 행을 어떤 문자(string 형태)로 구별할 것인가 지정 (default: ',') header: 헤더..
일정한 패턴의 변수명을 가진 변수들을 만들고 싶을 때 예전의 나는 아래와 같이 노가다를 시전했따... a1 = 0 a2 = 0 a3 = 0 a4 = 0 . . . globals()를 쓰면 해결되는건 알았지만, 걍 노가다하는게 마음이 편해서 미뤘는데 변수 20개를 동시에 만드려니 절대 안되겠어서 맘먹고 정리하는 포스팅 ㅋㅅㅋ 예제1) 값이 모두 0인 a1, a2 .. 인 변수들을 만들기 이렇게 하면 a1 = 0, a2 = 0, a3 = 0, a4 = 0 이 반복문을 통해 모두 만들어진다! for i in range(1, 5): globals()[f'a{i}'] = 0 예제2) 반복문에 따라서 값이 다른 변수들 생성 예를 들어 a1 = 1*1 , a2 = 2*2, a3 = 3*3, a4 = 4*4 인 변수들..

활성화 함수(Activation Function)란? 딥러닝 모델에서, 노드의 정보들이 이전 레이어에서 다음 레이어로 전달될 때 비선형 함수를 거쳐 전달되는데, 이 때 사용하는 비선형 함수를 활성화 함수라고 한다. 활성화 함수를 통해 다음 레이어에 정보를 얼마만큼 전달해 줄 것인지 결정 선형 함수를 아무리 연결해도 결국 선형함수이기 때문에* 비선형 함수를 사용한다. * f(x)와 g(x)가 모두 선형함수일 때, f(g(x))는 결국 어떤 또다른 선형함수 h(x)와 같다. 활성화 함수 종류 1. Sigmoid 함수 $$S(x) = \frac{1}{1+e^{-x}}$$ 그래프에서 보는 것과 같이 0과 1사이의 값을 가지며, 이진 분류(Binary Classification) 문제에서 마지막 출력층의 활성화 ..

1. Heliographic coordinates - 위도(latitude, θ), 경도(longitude, φ), 태양 중심으로부터의 radial 거리(r) 이용 1.1 Stonyhurst heliographic coordinates 원점 (origin) : 태양 적도와 지구에서 보이는 중앙 자오선(central meridian)의 교차점 따라서, 이 좌표계는 지구에 대해 고정되어 있지만, 태양은 회전한다. θ는 북쪽으로 갈수록 증가하고, φ는 서쪽 limb으로 갈수록 증가한다. 1.2 Carrington heliographic coordinates 경도선이 태양과 같이 회전하는 좌표계 본초 자오선은 Carrington이 관측을 시작한 1853년 11월 9일 특정 시간에 태양의 중앙 자오선과 일치하도록..