사소한 Tip . 오류 해결법

하위 디렉토리 import os path = "ROOT/PATH" [x[0] for x in os.walk(path)] 하위 파일 및 디렉토리 from glob import glob # Recursive하게 하위 디렉토리, 파일 다 출력하고 싶을 땐 glob("path/*/*") # 하위 디렉토리 구조가 고정된 깊이인 경우 => "*"로 표현 glob("path/**", recursive=True) # 디렉토리 구조가 제각각 다를 경우 # 참고로 glob의 경우 대괄호가 들어있는 경로는 처리하지 못함. # 그렇기 때문에 대괄호가 포함된 경로는 os.listdir로 변경하는것이 낫다. +) glob 설치 : pip install glob2 glob2 Version of the glob module that..
파이썬 코딩 중 가끔 특정 라이브러리가(특히 딥러닝 관련 라이브러리) 업그레이드 됐다던가 향후 버전이 올라갈 경우 삭제되거나 변경되는 부분에 대해 명시되는 경고 메시지가 자주 보인다. 자꾸 지저분하게 cmd창에 올라오는게 거슬려서 해당 메시지를 안보이게 하고 싶을 경우, 코드의 최상단에 다음 코드를 작성해주면 된다. +) 무조건 최상단(제일 첫번째 라인) import warnings warnings.filterwarnings(action="ignore") 그럼 아래처럼, 지저분한 Warning Message가 싹 다 사라지는 것을 확인할 수 있다. 이는 물론 Jupyter Notebook에도 적용된다. 도움 주신 사이트 : https://rfriend.tistory.com/346 [Jupyter Note..
Json 파일 로딩 중, 아래 Open함수에서 다음과 같은 에러가 발생한다. with open(gt_names[0], 'r', encoding = "utf-8") as f: data = json.load(f) json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0) 실제로 해당 JSON파일을 메모장으로 열어보면, 아래 사진과 같이 파일이 UTF-BOM으로 되어 있는데 이 문제 때문에 단순히 utf-8로 인코딩하여 열 수 없는 문제 인 것 같다. 해결 방법을 찾아보니, 기존에 encoding="utf-8"이었던 값을 "utf-8-sig"로 변경해주면 BOM타입도 열 수 있다고 한다...
다음과 같이 숫자 list에서 연속된 숫자값이 있는 경우, 해당 숫자끼리 그룹핑 하고 이를 dictionary 포맷으로 바꿔주는 함수 more_itertools라는 pakcage를 사용하면 간단하게 해결 가능하다. 다만, 이 함수의 시간복잡도가 최적인지는 모르겠다. 소요 시간에 구애될 경우, 다른 방법을 찾아보는 것도 좋을 것 같다. import more_itertools as mit a = [0, 1, 2, 6, 7, 10, 13, 15] x = [list(j) for j in mit.consecutive_groups(sorted(list(set(a_index))))] dct_x = {i[0]: i for i in x} print(dct_x) # {0: [0, 1, 2], 6: [6, 7], 10: [..
다음처럼 화살표 일부에 빗금을 칠하고 싶었다. 빗금을 넣어둔 도형에 대해서 투명도를 조절하고 싶어, 찾아보니 다음 공식 오피스 답변에서 기능이 사라졌다고 한다. 리디렉션 중 login.microsoftonline.com 근데 난 하고싶다. 서칭 끝에 아래 방법을 찾아냈다 방법 1. 도형 생성 후, 투명 도형에 그림 채우기 우선, 단순한 선을 생성하고, 이를 복사해준다. 채우기 색이 없는 빈 박스를 생성해주고, 도형서식>도형옵션 > 채우기 > 그림 또는 질감채우기를 통해서 클립보드 내 이미지를 넣는다. "그림을 질감으로 바둑판식 배열" 클릭 후, "배율 X, Y"를 조정해준다. 방법 2. 패턴 도형에 3차원 서식 주기 우선 단순히, 패턴이 들어간 도형을 준비하고, 도형서식>도형옵션 > 채우기 > 패턴 채우..
Python 코드 중 특정 파일을 열 때 PermissionError가 생기는 이유는 대다수 파일의 권한 자체가 문제이거나 파일 경로가 잘못됐을 때가 많다. Ubuntu같은 경우, chmod +x 등으로 실제 파일 권한을 변경해줄 수 있지만, Windows 등에서 오류가 나는 이유의 대다수는 경로 문제가 많으며, 아래와 같은 부분이 잘못됐을 확률이 크다. 파일 경로가 이상하거나 파일이 아닌 폴더 경로 등을 지정할 경우 오류가 발생한다. 파일의 확장자 명을 틀리거나 Windows나 Ubuntu 상에서 경로의 디렉토리 구분자를 \\, /를 서로 바꿔 사용하는 경우, 드물게는 파일이 개발환경이 아닌 다른 프로그램에서 사용 중일때도 발생한다고 한다. open 함수의 파일 경로를 명확히 한 후 돌리면 정상적인 동..
self 기록용 - 간단한 것 위주 1.sum() => 시스템 리소스를 많이 사용해서 운영제품 시스템에선 권장하지 않는 방식이라고 한다. test = [["a", "b"], [1, 2, 3], ["apple", "banana"]] result_bbox = sum(test, []) print(result_bbox) #['a', 'b', 1, 2, 3, 'apple', 'banana'] 2. numpy concatenate 활용 import numpy as np # Numpy 임포트 test = [[1, 2, 3], [4, 5, 6]] test2 = [["a", "b"], [1, 2, 3], ["apple", "banana"]] # 3-ways print(np.array(test).flatten().toli..
제일 많이 사용하는 명령어 df -h : 깔끔하게 보여줌 du -h : 하위디렉토리 내 모든 파일 용량 나열 du -sh * : 한단계 서브 디렉토리 기준으로 보여줌 du -sh ./[TARGET_DIRECTORY] : 내가 원하는 디렉토리 용량을 확인 가능 그 외 명령어 df : 디스크 남은 용량 확인 (기본 명령어) df -k : 킬로바이트 단위로 남은 용량 확인 df -m : 메가 바이트 단위로 남은 용량 확인 df . : 현재 디렉토리가 포함된 파티션의 남은 용량 확인 du : 현재 디렉토리에서 서브 디렉토리까지 용량 확인 du -a : 현재 디렉토리의 사용량 파일단위로 출력 du -s : 총 사용량 도움 주신 사이트 : https://uzihoon.com/post/831cf540-adf4-11e..
구글 스프레드시트로 다음과 같이 캘린더를 설정할 때, 주말, 공휴일마다 글자 색을 바꾸고 싶을 때가 있다. 방법은 아래와 같다. 1. 날짜 추가 다음처럼 날짜를 나열하자 일반적인 엑셀 다루듯이 "yyyy-mm-dd"의 형태로 적고 각 셀의 우측 하단 포인트를 잡고 쭉 내리면 날짜가 알아서 채워질것이다. 이제 각 날짜의 요일을 채워보자. 우측에 TEXT 수식을 넣어 월,화,수 의 포맷으로 요일을 채울수 있도록 설정하자 이것 역시도 셀의 우측 하단 토글을 아래로 내리면 알아서 채워진다. 2. 주말 색칠하기 앞에서 만든 요일을 활용해서 토요일은 파랗게 일요일은 빨간색으로 칠해보자 우선, 색 변경과 관련된 옵션은 조건부 서식 수정이다. 아래와 같이 내가 원하는 영역을 블록잡은 후, 서식>조건부 서식>다른 규칙 ..
(코드 복붙용) NER task에서 BIO tag를 삭제할 때 ex ) "B-key", "I-price", "I-price", "O-price" ==> B-price", "I-price", "I-price", "O-price"로 변경할 때 from collections import Counter for idx, bbox in enumerate(split_lst): lst = [box[2:] if box[:2] in ["B-", "I-", "O-"] else pdb.set_trace() for box in bbox] counter = Counter(lst) max_class = max(counter, key= counter.get) split_lst[idx] = [box[:2]+max_class for b..
torchvision이 torch와 호환되지 않는 경우 발생하는 문제로 추측 1. torchvision 재설치 or torch version에 맞춰 torchvison 버전을 변경하거나 pip3 install torchvision==[$VERSION] -f https://download.pytorch.org/whl/torch_stable.html ex) pip3 install torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html https://github.com/pytorch/pytorch/issues/42078 AttributeError: module 'torch.jit' has no attribute '_scrip..
torch.text를 사용할 때 생긴 에러 - Solution 기존 rnn.pack_padded_sequence()의 인자로 주던 CUDA vector(text_lengths in below code)를 cpu()형태로 변환 packed_embedded = nn.utils.rnn.pack_padded_sequence(embedded, text_lengths.cpu()) https://github.com/bentrevett/pytorch-sentiment-analysis/issues/93 Got error" 'lengths' argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor " · Issue #93 · bentrevett/pyt..
대다수 Pytorch, Cuda 간 버전 차로 인한 문제 nvcc -V, nvidia-smi 등으로 CUDA 버전을 확인 한 후, 알맞은 Pytorch를 설치한다. 아래처럼 간단하게 python 테스트했을 때, True가 리턴되어야 함 >>> import torch >>> print(torch.cuda.is_available()) True 설치 방법은 아래 command 참조(Version은 다음 링크 참고) ==> https://download.pytorch.org/whl/torch_stable.html https://download.pytorch.org/whl/torch_stable.html download.pytorch.org pip install torch==1.7.1+cu110 torchvisi..
Error 1 Pytorch 코드를 돌리는 도중에 자꾸 다음과 같은 에러가 발생한다. ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm). 해결법을 찾아보니깐 Docker Container를 사용할 때, 컨테이너 안에서 코드를 돌리니 메모리 관련 크기가 작다며, 다음 option("--ipc=host")을 주어서, 컨테이너를 다시 실행시키면 해결된다고 한다. docker run --gpus all -it -p 8888:8888 -p 6006:6006 --ipc=host 하지만, 나같은 경우엔 서버가 회사 Docker기도 하고, 함부로 옵션을 건드려서 현재 컨테이너를..
정규표현식 예제 def is_time(input): dateRegex = re.compile(r"\d{2}:\d{2}:\d{2}|\d{2}:\d{2}")# XX:XX/ XX:XX:XX 타입 if dateRegex.fullmatch(input): result = True else: result = False return result def is_key(input): if input.count(":")==1: dateRegex = re.compile(r"(^.*.\:$)")# ":"로 끝나는 경우 if dateRegex.fullmatch(input): result = True else: result = False else: result = False return result def is_value(input..
Js.Y
'사소한 Tip . 오류 해결법' 카테고리의 글 목록 (6 Page)