DKT - EDA 해보기
·
프로그래밍/부스트캠프 AI
보호되어 있는 글입니다.
[level1] preprocess 최적화 (캐싱)
·
프로그래밍/부스트캠프 AI
요약 데이터 전처리를 보다 더 효과적으로 수행할 수 있게 코드를 수정한다. 파이썬 직렬화 최고! 👍 문제 어떤 데이터들은 에이전트(프로세스)를 띄울때마다 다시 로딩을 한다. 좋은 방법이 없을까? 공유된 캐시가 있어야 재 로딩을 막을 수 있을 텐데… 방법1 wandb의 agent(이렇게 명명하는게 맞나?)들은 그 자체가 새로운 프로세스다. 때문에 전역변수로는 캐시를 만들 수 없다. 갑자기 프로세스 간의 공유변수는 따로 없을까 싶어 multiprocessing 패키지의 공유 변수 기능을 찾아보았다. 아래의 Manager를 사용하면 될것 같다. (Manager는 proxy process를 이용하고, 부모 프로세스가 종료되면 gc된다.) multiprocessing — Process-based paralleli..
AI Network Scholarium I 회고
·
프로그래밍/코테 회고
이번 AI Network Scholarium I 코테에선 한 문제라도 풀면 NFT를 준다고 하는 이벤트가 있었다. 하지만 이번 문제는 아주 어려웠다. A번을 한시간 넘게 풀었는데 결국 풀지 못했다. 아무튼 엄청 열이 받았고 회고로 복수해주리라 다짐하며 에디토리엄을 보고 문제를 풀어보았다. 🧩 A. On My Way Dorm https://www.acmicpc.net/problem/27868 글쓰는 날 기준 랭크는 실버로 측정되었다. 조금 정리를 해보자면 아래와 같다. "나"는 엘레베이터를 타고 회사로 출근한다. 엘레베이터는 초고속 슈퍼 하이 테크놀로지🚀 라서 가속력이 부여된다. 일반적인 엘레베이터가 1틱 ±1층이라면 이 엘레베이터는 1틱 v층을 움직일 수 있다 내가 직접 하나의 틱 마다 가속 커맨드(속도..
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..
실제하지 않는 엔티티
·
프로그래밍/기타
Article에 Tag를 추가하고 난 뒤 게시글을 추가할때 다음과 같은 오류가 발생했다. Caused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: Not-null property references a transient value - transient instance must be saved before current operation : com.realworld.study.article.domain.ArticleTag.article -> com.realworld.study.article.domain.Article at org.hibernate.internal.ExceptionConverterImpl..
2jun0
'프로그래밍' 카테고리의 글 목록 (7 Page)