본문 바로가기

분류 전체보기33

내가 겪은 외교부 (3) : 아무것도 알지 못한 채, 교육과정 입과 학생, 취업준비생 등의 입장에서 가장 하기 쉬운 실수 중 하나가, 목표로 하는 무언가가 되는 데에만 집중한다는 데 있다고 생각한다. 물론 당장 중요한 건 목표를 이루는 것이다. 하지만 그게 과연 목표가 맞을까? '외교관이 되는 것'이 목표이고 그 목표를 이루었으면 인생은 끝나는 걸까? 빠르면 20대 초반, 늦어도 대개 30대 초반에 시험에 합격해서 외교부에 입부하게 되면 남은 30년의 근무와 은퇴 이후의 삶은 공백으로 놔두어도 된다는 것일까? 안타깝게도 나도 시험에 합격한 뒤에야 이런 질문을 본격적으로 고민하게 되었다. 시험을 준비하던 당시의 나는 '이게 뭐든지간에 일단 해보고 나서 결정하자'는 태도였기 때문에 의식적으로 진지한 고민을 피해오고 있는 상황이었다. (내가 외교관후보자시험을 준비하게 된 상세.. 2023. 10. 30.
[TIL] 반복문의 인덱스 정하기는 의미있는 이름으로 한다(i, j, k 지양) 문제 잘 짜놓은 k-neareast neighbor 머신러닝 코드가 왜인지 이상한 결과를 뱉어낸다. 여기저기에 $std::cout$를 찍어서 확인해보지만 어디 하나 이상한 데가 없어서 당황스럽다. 왜인지 distance를 잘 계산은 하는데 계속 같은 점에 대해서만 하는 것 같아서 이상하다. 원인 알고보니(그래도 1시간 정도만에 찾았다) 이중 for문에서 i와 j를 헷갈려서 쓴 부분이 있었다. 말하자면 j번째 training sample과의 거리를 구해야하는데, i번째 sample과의 거리를 구하고 있었다. 그러니 당연히 대다수의 distance가 같게 나타난 것이었다. 해결방법 오타를 바로잡았다. 예방 이건 클린코드와 관련된 문제다. 이와 관련된 공통적인 조언은 의미있는 이름을 지으라는 것이다. 내 경우.. 2023. 10. 17.
[TIL] 파이썬 float32, float64 자료형 문제상황 PyTorch로 간단한 내용을 구현하는 공부를 하다가, numerical gradient와 체크를 해 보니 차이가 크게 벌어지는 현상이 나타났다. 그래서 코드를 잘못 짰으리라고 생각하고 오래 고민하고 이것저것 시도를 해보았으나 고쳐지질 않았다. 그래서 다른 사람이 같은 내용을 구현해 놓은 코드를 가지고 돌려 본 뒤, 문제의 원인이 자료형에 있음을 발견했다. 원인 위의 코드 어딘가에서 $torch.softmax(..., dtype=float32)$로 값을 받아온 게 있었는데, 해당 부분에서는 실제로 float32의 인풋이 이루어졌으나, 뒤에는 보다 정밀한 계산을 위해 float64가 사용되었다. 그러다 보니 에러메시지 "RuntimeError: expected scalar type Double b.. 2023. 10. 13.
내가 겪은 외교부 (2) : 3차 면접, 손에 든 패를 보여줄 시간 소위 5급 외교관의 채용과 관련하여 아주 오래전부터 지금까지 큰 틀에서는 변화하지 않은 게 있다면 1, 2, 3차로 이루어진 선발절차다. 채용에 대해서는 이미 온라인에 많은 정보가 있기 때문에 자세히 다루지는 않겠다. 그래도 3차 면접부터는 이야기를 시작해야겠다는 생각이 든다. 그건 수험생들의 노고를 무시하는 건 아니지만 사실 2차 시험까지는 외무공무원이 된다는 것에 대해 진지하게 생각하기보다는 당장 지식을 채워넣는 공부가 주를 이루고, 비로소 면접을 준비하면서부터 비교적 구체적인 마음의 자세를 요구받기 때문이다. 3차 면접의 내용에 대해서는 지금 와서 상세히 복기한들 큰 의미가 없겠다. 큰 틀에서는 변하지 않지만 세부진행절차나 방식, 내지 면접관들이 면접에 임하는 방식은 사람마다, 해마다, 정권마다 다.. 2023. 10. 11.