본문 바로가기

전공63

자주 들어가는 사이트들 헷갈리는 문법 for i, str in enumerate(strs): list 관련 리스트 중복제거 방법 3가지: https://blockdmask.tistory.com/543 인덱스: # a list 선언 a = list(range(10)) a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(a[-1], a[-2]) # 9 8 print(a[-2:]) # [8, 9] print(a[:-2]) # [0, 1, 2, 3, 4, 5, 6, 7] print(a[-3:-1]) # [7, 8] print(a[::2]) # [0, 2, 4, 6, 8] print(a[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] print(a[-1:-3:-1]) # [9, 8] 인덱스 .. 2022. 8. 4.
코테 테스트케이스 주의하기 뭔놈의 코테는 항상 테스트케이스까지만 맞고 정답은 틀릴 때가 많다. 그래서 내 사견으론 테스트케이스를 스스로 추가하는 능력이 관건이라고 생각한다. 위에 이런 문제 같은 경우도 빨간색 조건이 있었기 망정이지 없었더라면 틀렸을 것 같다. 그래서 테스트케이스를 현명하게 추가하기 위해서 아래 리스트를 참고해보자 1. 값이 0인 경우 고려 2. 동일한 값이 여러 번 들어오는 경우 고려( = 중복인 경우 고려) 3. 음수인 경우 고려 일단 생각나는 건 이정도인데 더 생각나면 추가하겠음 2022. 8. 3.
PyTorch module forward() 와 특수 매소드 __call__() 비교 https://ysy2000.tistory.com/117에서 잠깐 특수 매소드에 대해 언급했다. 특수메소드는 built-in function이라고 보면 된다. 그 중에서 __call__ 메소드를 정의하면 f = Function() 형대로 함수의 인스턴스를 변수 f에 대입하고, 나중에 f(...) 형태로 __call__매소드를 호출할 수 있다. 그런데 https://github.com/clovaai/ClovaCall 의 코드를 리뷰하던 중 마치 __call__()을 호출하듯 forward()매소드를 호출하는 것을 볼 수 있었다. model = Seq2Seq(enc, dec) logit = model(feats, feat_lengths, scripts, teacher_forcing_ratio=0) 첫 문장에.. 2022. 7. 12.
리스트 내포 list comprehension xs = [x.data for x in inputs] 이런 형태의 코드를 본 적이 있을 것이다. 위 코드는 inputs 리스트의 각 원소 x에 대해 각각의 데이터 x.data를 꺼내고, 꺼낸 원소들로 구성된 새로운 리스트를 만든다. 이러한 형태를 list comprehension, 우리말로 리스트 내포라고 말한다. list compreshension은 python코드가 간결하게 표현되는 강력한 무기 중 하나로 코딩테스트의 모범 답안에서 자주 볼 수 있다. 다만 새로운 리스트가 다시 생성되므로 메모리 효용성에는 주의해야 할 것이다. 이 때 순서는 좀 중요한다. 반드시 아래 형태를 띄어야 한다. [ 조건 만족 시 출력값 if 조건 else 조건 불만족 시 출력 값 for i in data] 2022. 7. 8.
[Deep Learning from Scratch 1] 밑바닥부터 시작하는 딥러닝 1 리뷰 학부 3학년, 신호처리 과목 조교님께서 요즘 공대 나와서 딥러닝도 모르면 안된다고 하셨다. 그러면 뭐부터 봐야 하냐고 물었더니 한 책을 소개해 주셨고 그 책이 유명한 그 책, 사이토 고키의 밑바닥부터 시작하는 딥러닝이었다. 그래서 그 해 겨울에 한 번, 대학원을 결정하고 한 번, 대학원에서 스터디 하면서 한 번 읽었다. 전공자가 아니라도 편하게 읽을 수 있는 수준이고 실제로 주변에 많이들 이 책으로 입문한다. 이번에 마지막 복습이라고 생각하고 전공자를 위해 책을 정리해보려 한다. 내 글은 초심자를 위한 글은 아니고 어느 정도 경험이 있는 사람들을 위한 정리본 컨셉으로 이어질 것이다. 1. 헬로 파이썬 이 단원은 파이썬의 기본 동작을 설명하고 있는데 사실 책으로 배울 수 있는 수준은 아니고 책으로는 이런이.. 2022. 6. 24.
python size function github에서 LAS를 구현한 코드를 보다가 아래 코드를 발견했다. seq_lengths = [s[0].size(1) for s in batch] size()함수는 tensor의 크기나 array의 크기를 알 수 있는 함수다. 그런데 size(1)이라고 1이라는 인자가 입력으로 들어가는 것을 볼 수 있다. 나는 이런걸 처음 봐서 한참을 헤매었는데, 공식문서는 아니지만 아래 페이지에서 답을 찾을 수 있었다. 바로 axis, 즉 축 번호를 나타낸다. 0을 넣으면 행 크기, 1을 넣으면 열 크기, 더 큰 수는 고차원의 축에 대해 크기를 반환해 준다. 참고: https://www.geeksforgeeks.org/numpy-size-function-python/ Numpy size() function | Pyt.. 2022. 6. 23.
반응형