반응형

Python 380

Pytorch DataLoader Multithreading 관련 오류 해결

파이토치 DataLoader RuntimeError 디버깅 이번에 겪었던 오류 메시지는 다음과 같았습니다. Traceback (most recent call last): ~~~ RuntimeError: Caught RuntimeError in DataLoader worker process 0. Original Traceback (most recent call last): ~~~ RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method 오류 원인 아주 세밀한 원인까지는 파악하지 못했으나, torch의 dataloader 객체에..

Python/Debugging 2022.03.03

[Numpy] 파이썬 이항분포 표본 추출, 정규분포 근사 시각화 예제

np.random.binomial 함수 사용법과 중심 극한 정리 예시 파이썬 넘파이 라이브러리에서 이항분포를 따르는 표본을 추출하고, 반복 시행 표본의 결과가 정규분포와 가까워지는 것을 시각화해보는 예시를 살펴보겠습니다. 넘파이 이항분포 표본 추출 방법 이항분포의 특징은 동전 던지기 혹은 강화 성공/실패 등의 상황을 생각하시면 이해가 쉽습니다. 20번 동전 던지기에서 앞면이 나오는 횟수를 샘플링한다고 가정해보겠습니다. 이 경우 횟수 n = 20, 성공률 p = 0.5 입니다. 파이썬 이항분포는 np.random.binomial 함수로 표본 추출이 가능합니다. 추출을 원하는 n, p 조건 값과 시행할 횟수인 size를 순서대로 input으로 넣어주시면 됩니다. import numpy as np n = 20..

Python/Numpy 2022.03.02

[Pandas] to_datetime 사용법, 날짜 format 지정 방법

파이썬 판다스 datetime 자료형 변환 및 시간 형식 포맷팅 파이썬에서 데이터프레임을 열게되면 시간 정보를 담은 열은 기본적으로 아래와 같이 object 문자열 형태로 자료형이 지정되어 다루는 과정에서 어려움을 겪기도 합니다. 따라서, 이번 시간에는 해당 column의 자료형을 datetime 자료형으로 바꿔보고, 시간 정보 추출 및 날짜 형식 포맷팅을 진행하는 방법에 대해서 다루어보도록 하겠습니다. 참고로, 이 글은 캐글의 자전거 대여 예측 데이터셋의 datetime 열을 기준으로 작성되었습니다. string에서 datetime 자료형으로 전환 : pd.to_datetime() pd.to_datetime() 함수를 사용하여 시간 형식의 object 자료형 column을 datetime 형식으로 손쉽..

Python/Pandas 2022.03.02

[Pandas] 파이썬 인덱스 설정 방법 정리(set_index 함수)

판다스 set_index 함수 사용법(데이터프레임 인덱스 지정) 안녕하세요. 이번 시간에는 파이썬 판다스 라이브러리에서 데이터프레임의 인덱스를 지정할 수 있는 set_index 함수의 경우의 수에 대하여 정리를 해보며 사용 방법을 익혀보도록 하겠습니다. 참고로, 이 글은 pandas 공식 document의 set_index 설명 글을 기반으로 작성되었습니다. 이해를 돕기 위하여, 아래와 같은 간단한 데이터프레임을 예시로 인덱스를 설정해보겠습니다. import pandas as pd df = pd.DataFrame({'id' : [101, 102, 103, 104], 'name' : ['aaa', 'bbb', 'ccc', 'ddd'], 'math' : [100, 85, 93, 87], 'english' :..

Python/Pandas 2022.03.01

[Scipy] 파이썬 t-검정 정리 : 단일표본, 독립표본, 대응표본

파이썬 T-test 예제 안녕하세요. 이번 시간에는 파이썬 Scipy 라이브러리를 활용하여 단일, 독립 및 대응표본의 각 경우에 대해서 t 검정을 진행하는 방법을 다루어보도록 하겠습니다. 단일표본 t 검정 : stats.ttest_1samp 먼저, 1개의 표본의 모평균을 검정하는 단일표본 T-test의 예시를 살펴보겠습니다. 아래와 같이 0~1의 균일분포에서 랜덤 추출한 값에 100을 곱한 100개의 데이터가 있다고 가정해보고, 이 집단의 모평균을 검정해보도록 하겠습니다. import numpy as np a = np.random.random(100) * 100 # 앞의 5개 값 예시 a[:5] # array([70.20398434, 44.41203954, 85.43068622, 29.52316572, ..

Python/Scipy 2022.02.27

[Pytorch] torch.view, torch.reshape의 사용법과 차이 비교

파이토치 view 함수와 reshape 함수 비교 안녕하세요. 이번 글에서는 파이토치에서 텐서의 차원 변환을 할 때 사용하는 torch.view와 torch.reshape 함수의 기본적인 사용법과 두 함수의 차이에 대하여 다루어보는 시간을 가져보겠습니다. torch.view와 torch.reshape 함수의 원리와 사용 방법 이 두 함수의 원리는 Numpy의 reshape 함수를 기반으로 하고 있습니다. 해당 함수의 사용 방법은 아래의 포스팅에서 다루어, 추가 설명은 따로 하지 않도록 하겠습니다. [Numpy] 배열 shape 변경 : np.reshape 함수 사용법, -1 의미 파이썬 넘파이 배열 차원 변경 함수 : np.reshape reshape 함수를 통하여 넘파이 배열의 차원을 변환하는 방법에 ..

Python/Pytorch 2022.02.27

파이썬에서 jsonl 파일을 읽어 들이는 방법

Python jsonlines read json과 비슷해 보이지만 다소 특이해보이는 파일 형식인 jsonl 파일을 파이썬에서 읽는 방법에 대해서 다루어보도록 하겠습니다. jsonl 파일 이란? jsonl 확장자를 가진 파일의 특징은 여러개의 json 형식 파일이 각 줄마다 기록되어 있는 형태로 생각해주시면 이해가 쉽습니다. # jsonl 파일 예시(각 줄마다 json 형식) { "id": "101", "name": "aaa", "buy_list" : ["lemon", "orange"]} { "id": "102", "name": "bbb"} { "id": "103", "name": "ccc", "buy_list" : ["melon"], "age" : 35} { "id": "104", "name": "ddd..

Python/Utils 2022.02.25

파이참에서 코드가 회색 글씨로 작성되는 경우 해결 방법

PyCharm 회색 글자 해결법(Configuration 오류) 파이참을 사용 중에, 아래와 같이 패키지명, 함수명 등이 인식되지 못하고 모든 코드가 일괄적으로 회색으로 작성되는 경우가 있습니다. 정상적으로 py 파일이 인식된 경우는 아래와 같이 코드가 보여야 합니다. 위처럼 모든 글자가 회색인 경우, 코드 실행에 문제가 있는 경우도 많으며, 간혹 정상 실행이 되더라도 코드 작성에 매우 큰 불편을 야기할 수 있습니다. 이번 글에서는 위의 회색 코드 현상 해결 방법을 제 경험을 바탕으로 몇 가지로 정리하여 작성해보도록 하겠습니다. 해결 방법 1 : 새로운 파일 생성 시 Python File로 생성 파이참에서 새 파일을 만들기 위하여 New 메뉴를 클릭한 경우, 목록에서 빨간색으로 표시한 File 메뉴가 아..

Python/Debugging 2022.02.25

파이썬 import와 from import의 사용 방법 비교, 구분 이유

import X vs from X import * 안녕하세요. 이번 글에서는 파이썬의 패키지를 불러오는 import 문법과 from import 문법의 용법 차이와 두 용법을 구분하여 사용하는 이유에 대하여 간략하게 살펴보도록 하겠습니다. import : 패키지 이름을 포함한 함수 사용 패키지 내 함수들을 불러와 사용하는 경우, 가장 먼저 패키지 이름을 포함하여 가져오는 일반 import 구문을 생각해볼 수 있습니다. 사용 예시는 아래와 같으며, as를 활용한 별칭 import도 가능합니다. import math import numpy as np # 별칭 사용 이 경우, 패키지 내 함수는 패키지 이름.함수 이름의 형태로 사용하게 됩니다. 이해를 돕기 위하여 math와 넘파이 라이브러리 모두 가지고 있는 ..

파이썬 json 파일 읽고 파싱하기, load와 loads 함수 비교

Python json 가져오기, 정보 추출 방법 안녕하세요. 이번 글에서는 파이썬에서 json 파일을 읽고 정보를 파싱하는 방법에 대해서 간략하게 살펴보도록 하겠습니다. 또한, json의 load와 loads 함수의 차이에 대해서도 같이 다루어보겠습니다. 우선, 예시를 위하여 아래와 같은 간단한 json 파일이 group.json 이름으로 저장되어 있다고 가정해보도록 하겠습니다. { "team_name": "jimmy-ai", "topic": "machine learning", "start_date": "2022-02-23", "member_list": { "group_a": [ { "id": "101", "name": "aaa" }, { "id": "102", "name": "bbb" }, { "id"..

Python/Utils 2022.02.23
반응형