전체 글

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. 주말 색칠하기 앞에서 만든 요일을 활용해서 토요일은 파랗게 일요일은 빨간색으로 칠해보자 우선, 색 변경과 관련된 옵션은 조건부 서식 수정이다. 아래와 같이 내가 원하는 영역을 블록잡은 후, 서식>조건부 서식>다른 규칙 ..
networkx는 python으로 Graph(Node-Edge)를 표현할 수 있는 대표적인 패키지다. NetworkX — NetworkX documentation NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. networkx.org 이쁘기는 GraphViz도 있는데 범용성으로 보면 networkx가 더 나은 것 같다.( 추후, networkx와 Graphviz를 함께 사용할 수 있는 방법도 정리하겠다.) networkx의 기본적인 사용법은 다른곳에서도 많이 정리해 뒀기 때문에 따로 깊이 다루지 않겠지만, 기본적으로..
(코드 복붙용) 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..
Js.Y
Y초보프로그래머