Study/Python 4

Pytorch 설치중 conflict 발생

official document에 있는 명령어로 설치하다가 가끔 environment conflict가 발생하곤한다. 무슨 이유인지 명확히는 나오진 않지만, 시스템이나 기저에 있는 파이썬 버전과 충돌이 발생한 것으로 보인다. conda install pytorch torchvision torchaudio -c pytorch -c conda-forge 이 명령어로 대체하면, 주어진 환경에 맞는 최신 버전이 자동으로 설치된다. 특정 버전이 꼭 필요하지 않으면 좋은 선택지인 것 같다. Reference: https://github.com/pytorch/pytorch/issues/59222

Study/Python 2025.02.02

python pickle 사용하여 파이썬 객체 저장하고 불러오기 - 파이썬 객체의 직렬화

종종 list, dictionary같은 파이썬 고유의 객체를 저장하거나 불러올 순간이 있을 것이다. 이때, 우리는 가장 단순한 방법으로 pickle 라이브러리를 통해 객체를 저장하거나 불러올 수 있다. 가장 먼저 pickle이 동작하는 프로세스를 살펴보자. 파이썬의 객체가 주어질 때, 해당 객체를 다시 복원할 수 있도록 필요한 모든 정보들을 일련의 byte stream으로 변환한다 (serialization) 그리고나서 일종의 파일 형태로 보관하게 되는 것이다. 그리고 다시 파일을 객체로 불러올 때, 해당 byte stream으로부터 다시 python object를 복원한다. (deserialization) pickl은 주어진 python 객체에 대해 serilization & deserializati..

Study/Python 2025.01.08

Python memoryview() 객체

CPython 객체의 c-level 내부 buffer에 안전하게 접근할 수 있도록 하는 객체. 기존의 python operation에서 빈번히 발생하는 불필요한 복사의 과정 없이 직접적으로 객체를 사용하거나 수정할 수 있게 합니다. 파이썬 객체의 내부 데이터(byte-oriented array or buffer)에 직접 접근 가능한 것을 buffer protocol이라고 하는데, 마치 메모리 관리가 필요한 C/C++처럼 메모리 블럭에 대한 포인터처럼 사용할 수 있는 것을 말합니다. memoryview를 통해 파이썬 객체를 c-level의 buffer structure로 전달할 수 있게 해줍니다.  byte_array = bytearray('XYZ', 'utf-8')print('Before update:'..

Study/Python 2024.09.16