[level1] preprocess 최적화 (캐싱)
·
프로그래밍/부스트캠프 AI
요약 데이터 전처리를 보다 더 효과적으로 수행할 수 있게 코드를 수정한다. 파이썬 직렬화 최고! 👍 문제 어떤 데이터들은 에이전트(프로세스)를 띄울때마다 다시 로딩을 한다. 좋은 방법이 없을까? 공유된 캐시가 있어야 재 로딩을 막을 수 있을 텐데… 방법1 wandb의 agent(이렇게 명명하는게 맞나?)들은 그 자체가 새로운 프로세스다. 때문에 전역변수로는 캐시를 만들 수 없다. 갑자기 프로세스 간의 공유변수는 따로 없을까 싶어 multiprocessing 패키지의 공유 변수 기능을 찾아보았다. 아래의 Manager를 사용하면 될것 같다. (Manager는 proxy process를 이용하고, 부모 프로세스가 종료되면 gc된다.) multiprocessing — Process-based paralleli..
Day 5 - CNN, RNN
·
프로그래밍/부스트캠프 AI
CNN 출력크기 구하기 입력의 채널이 여러개인 경우, 각각의 채널에 Convolution연산을 한 후 결과를 합한다. 그래서 출력은 다음과 같아진다. 출력을 텐서로 만들고 싶다면, 아래와 같이 커널을 여러개 만들면 된다. CNN의 역전파 RNN 시퀀스 데이터 다루기 시퀀스 데이터는 아래와 같이 이전 X가 발현했을때, 다음 X가 나올 확률로 규정할 수 있다. 매번 모든 X의 값을 나열하기 어려우니 Xt-2~X1의 값을 Ht로 묶는다. Ht는 Xt-2~X1의 값들을 인코딩한 값 AR모델이다. (아직은 AR 모델을 이해하기 어려움.. 그냥 이전 값들을 대표하는 값으로 생각하기로..) 참고 https://m.blog.naver.com/mykepzzang/221568285099
Day 4 - AI Basic
·
프로그래밍/부스트캠프 AI
벡터 벡터는 공간에서 한 점을 나타냄 벡터의 노름 벡터의 노름은 원점에서부터 거리를 의미함 L1 노름은 절댓값의 합으로 표현한다. L2 노름은 유클리드 거리를 계산함. # 직접 구현 def l2_norm(x): x_square = x * x x_sum = np.sum(x_square) x_norm = np.sqrt(x_num) return x_norm # np.linalg.norm 사용 (줄여서 LA.norm이라고도 하는 듯.) np.linalg.norm(x, 2) # 뒤에 들어가는 인자는 l2노름임을 의미한다. 행렬 행렬은 벡터를 원소로 가지는 2차원 배열. 벡터를 공간에서 한 점이라고 한다면, 행렬은 여러 점들을 나타낸다고 할 수 있다. 벡터를 다른 차원의 공간으로 보내는 연산자로 이해 할 수 있다...
Day 3 - pandas
·
프로그래밍/부스트캠프 AI
Group by db를 다룰때 group by를 쓰곤 했는데, pandas에도 비슷한 기능이 있다. 다음과 같은 data frame을 변형해본다. # data from: data = {'group': ['A', 'A', 'A', 'D', 'c', 'b', 'B', 'C', 'D', 'D', 'd', 'C'], 'age': [20,25,23,21,24,25,21,28,26,25,23,21], 'num':[123,45,342,324,35,4523,34,452,3452,324,8567,563]} df = pd.DataFrame(data) df groupby 함수를 아래와 같이쓸 수 있다. df.groupby("group")["num"].sum() ''' 결과 group A 510 B 34 C 1015 D 41..
Day 2 - 파이썬 oop 및 데이터 다루기
·
프로그래밍/부스트캠프 AI
Python OOP 파이썬 역시 다른 언어와 같이 OOP 개념이 도입되었다. 간단히 정리하면 아래와 같다. class Player(object): # object 상속. object는 생략가능 def __init__(self, name): # 생성자 # self는 자신 객체를 의미 self.name = name def __str__(self): # str 타입으로 형변환할때 호출되는 함수. return self.name class SuperPlayer(Player): # Player 상속 def __init__(self, name, hobby): super().__init__(name) # 부모클래스의 생성자 호출 # 네임 맹글링을 이용한 프로퍼티 생성 # 일반적인 방법으로 외부에서 참조할 수 없다. p..
2jun0
'프로그래밍/부스트캠프 AI' 카테고리의 글 목록 (2 Page)