Python 14
-
PyTorch 설치 https://pytorch.org/get-started/locally/#anaconda PyTorch An open source machine learning framework that accelerates the path from research prototyping to production deployment. pytorch.org 자신이 가지고 있는 조건을 확인하고 적절히 선택해서 설치한다. Anaconda3는 파이썬 보안 프로젝트를 하면서 사용한 적이 있다. Cuda를 추가로 설치하고, 명령어를 Anaconda Prompt에서 실행하면 PyTorch의 패키지들이 설치된다. 설치에 관련된 자세한 내용은 이 블로그에서 참고했다. https://blog.daum.net/geosci..
-
눈물을 머금고 힙 큐를 정리해보겠다. Heap 정렬은 이진트리의 구조로, 부모노드의 값이 반드시 자식노드의 값보다 크거나 같아야 한다. 그래서 정렬을 모두 마친뒤에 힙 구조가 완성되면 루트노드의 값이 최댓값이 되며 가장 오른쪽 말단의 노드가 최솟값을 가지게 된다. 그런데 이것은 최대 힙 트리의 구현이다. 파이썬과 알고리즘에서 쓰이는 Heap 정렬은 최소 힙의 구현이다. Min-priority-queue 이며, 내장 모듈인 Heapq를 사용할 수 있다. 가장 작은 값은 인덱스0, 루트노드에 항상 위치한다. 기본적으로 Heapq는 리스트의 성질을 갖기 때문에 여러 값을 넣을 수 있고, 다중배열처럼 사용이 가능하지만 가장 처음에 위치한 값을 기준으로 최대최소를 비교하게 된다. 가장 먼저 힙큐 모듈을 가져온다...
-
파이썬의 람다함수는 람다식과 익명함수라고 불리고, 하나의 틀 안에서 쓰고 일시적으로 사용하는 함수이다. 함수의 definition을 쓰는 것이 아니기 때문에, 재 사용성이 없지만 단순히 한번만 사용할 때는 용이하고 메모리를 절약할 수 있기 때문에 경우에 따라서 효율성에 도움이 될 수 있게 사용할 수 있다. 만약에 여러번 사용하는 함수를 정의하지 않고, 매번 람다식을 적어 사용하면 가독성도 그리고 효율성도 떨어지지만 한번만 사용하는 함수라면 람다식을 쓰는것이 가독성과 효율성 모두 얻을 수 있다. 객체지향 코드인 Python에서 모든 것을 객체로 관리하고 사용하는데 Heap 메모리 안에서 모든 객체들의 각자의 레퍼런스 카운터를 갖게되어, 카운터가 참조하지 않고 일정시간이 지나면 메모리를 환원하여 가비지 콜렉..
-