본문 바로가기

분류 전체보기544

파이썬 객체 슬라이싱 기능 구현 __getitem__ 특별메소드 파이썬 객체 슬라이싱 기능 구현 : getitem 특별메소드¶ 파이썬 객체에 슬라이싱 기능이 필요한 경우 특별메소드인 __getitem__을 사용합니다. In [1]: list_sample = [1,2,3,4,5,6] list_sample[2:5] Out[1]: [3, 4, 5] __getitem__ 의 슬라이싱 기능을 설명하기 위해 입력된 리스트의 값마다 3을 곱한 결과를 같이 보여주는 코드를 작성하였습니다. In [2]: # __getitem__ 슬라이싱 기능을 보여주기 위해 class ExampleClass(): def __init__(self, list_sample): self.list_sample = list_sample self.data = list(map(lambda x:x*3, list_s.. 2023. 8. 18.
케라스를 활용한 데이터 패딩 keras, pad_sequences 케라스를 활용한 데이터 패딩 : keras, pad_sequences¶ option 설명 maxlen = n : 값이 n 개 이상이면 n개에 맞추며, 반대로 n 개 이하이면 패딩 값을 추가 하여 n개로 맞춤 truncating = pre/post : 값이 n개 이상일 경우 pre 면 앞의 값 삭제 post는 뒤에 값을 삭제함 padding = pre/post : 값이 n개 d이하일 경우 pre 면 앞의 값 추거 post는 뒤에 값을 추가함 [중요] 아래 코드는 옵션을 설명하기 위해 truncating과 padding을 따로 사용하였지만, 일반적으로, input 데이터의 길이가 일정하지 않기 때문에 두 옵션을 같이 사용 합니다. In [1]: from keras.preprocessing.sequence i.. 2023. 8. 18.
argparser를 활용한 True False 반환 하기 argparser를 활용한 True / False 반환 하기 : action="store_true"¶ 특정 조건에 대한 참/거짓을 판별할때 add_argument에 action 인자를 사용합니다. In [4]: %%writefile action_test.py ### %%writefile 주피터 노트북에 셀을 하나의 파일로 만들어 주는 매직키워드 입니다. ### 첫줄에 %%writefile {파일이름.확장자} 을 사용하면 파일이름.확장자 파일이 생성됩니다. import argparse parser = argparse.ArgumentParser() parser.add_argument("--use_GPU", action="store_true") # use_GPU를 사용하면 true를 저장한다로 해석합니다. a.. 2023. 8. 18.
파이썬 정규식 성능 향상을 위한 compile 객체 사용법 파이썬 정규식 성능 향상을 위한 compile 객체 사용법¶ 정규식을 반복적으로 사용할 때 성능을 높이기 위해서 사용하는 함수입니다. 're.compile' 함수를 사용하여 정규식을 객체형태로 기억하고, 기억된 객체를 활용하여 정규식을 적용합니다. In [1]: import re ex = ["서울시 강남구 06173"] # 정규식 객체 선언 filtering = re.compile("\d+") # 정규식 적용 result = filtering.search(ex[0]) In [2]: # 결과 확인 (span : 정규식이 적용된 위치, match : 정규식 추출 결과) result Out[2]: In [3]: # 정규식 추출 결과만 출력 result[0] Out[3]: '06173' 반복문 적.. 2023. 8. 18.
파이썬 리스트 차원 병합 파이썬 리스트 차원 병합¶ 리스트에서 내 차원을 하나로 병합할 때 sum 함수를 사용하고 sum(list, []) 와 같은 형태로 완성합니다 아래 예시를 보면 좀더 이해가 쉬워 질 수 있습니다. In [1]: a = [["qwe"], ["asd"], ["zxc"]] In [2]: sum(a, []) Out[2]: ['qwe', 'asd', 'zxc'] In [3]: b = [["qwe", "asd", "zxc"]] In [4]: sum(b, []) Out[4]: ['qwe', 'asd', 'zxc'] 단! 병합할 리스트가 없는 1차원 리스트의 경우 에러를 리턴 합니다. In [5]: c = ["qwe", "asd", ".. 2023. 8. 18.
파이토치 데이터로더 데이터 확인하기 dataloader, next(iter(dataloader)) [파이썬] 파이토치 데이터로더 데이터 확인하니 : dataloader, next(iter(dataloader))¶ 파이토치 데이터로더를 사용하면서, for 문을 작성하지 않고 데이터를 확인하고 싶을때가 있습니다. 저는 데이터를 확인하기 위해 iter와 next 함수를 사용합니다. In [1]: import torch from torch.utils.data import TensorDataset, DataLoader # 데이터 생성 sample_data = torch.randn(100, 5) label_data = torch.tensor([int(l>0) for l in torch.randn(100, 1)]) # 데이터 로더 생성 input_dataset = TensorDataset(sample_data, .. 2023. 8. 18.