반응형

python 7

inconsistent use of tabs and spaces in indentation 에러 해결

안녕하세요 파이썬을 실행하다가 다음과 같은 에러를 처음 보시면 엄청 당황하실겁니다. 아무리 둘러봐도 문법적으로 틀린 부분이 없는데도 에러가 발생했다고 실행이 안되기 때문입니다. 파이썬은 탭 또는 스페이스바로 구분을 하는 언어인데요. 여기서 탭과 스페이스바를 혼용해서 사용하게되면 다음과 같은 에러가 발생합니다. 그래서 코딩을 하실 때는 스페이스바와 탭 둘중 하나로 통일시키는 걸 추천드립니다. 감사합니다.

python 2022.01.14

[python] class 오버라이딩(overriding), 상속, super()

안녕하세요, 파이썬은 객체지향 언어이다 보니 class을 사용하여 코딩을 하는 경우가 많습니다~ class을 사용하다보면 상속 및 오버라이딩을 종종 접하게 되는데 해당 내용에대해서 간단하게 알아보겠습니다. 상속와 오버라이딩 둘다 포함되어있는 예제코드를 우선 살펴보겠습니다. 그림을 보시면 parent()가 부모 클래스이고 daughter() 클래스와 son() 클래스가 parent클래스를 상속받는 것을 확인 할 수 있습니다. 그리고 son(), daughter() 클래스를 인스턴스화 시키고 실행 시켜본 결과 오버라이딩된 결과 또는 상속받은걸 그대로 내뱉는 결과들을 확인 하실 수 있습니다~ 그 다음으로, super()에 대해서도 같이 알아보겠습니다. super명령어는 상속 관계에서 상속의 대상인 부모 클래스..

python 2021.11.09

DataLoader worker is killed by signal: Killed 에러

안녕하세요 학습 도중에 갑자기 DataLoader workter (pid) is killed by signal: Killed. -> DataLoader workter (pid) exited unexpectedly 라는 에러문구가 발생했습니다. (아래 그림 참조) 이런 문제가 왜 생기는지 검색해본 결과 메모리 부족이라는 의견이 많았습니다. -> 보통 블로그에서는 dataloader에서 num_workers 부분을 0으로 수정해서 사용하라는 대답이 많았습니다. 저의 경우 해당 방법으로는 해결이 되지 않았고 num_workers를 0으로 세팅하면 학습속도가 엄청 느려지기만 했습니다,, 전에 사용하던 COCO dataset이나 PASCAL VOCdataset에서는 정상적으로 동작하였던 코드였기에 바뀐거라고는 새..

python 2021.11.04

[Python] 여러 GPU중 특정 GPU만 사용하고 싶을 때

안녕하세요~ 저의 경우 GPU가 4개 달린 환경에서 학습을 진행하고 있습니다~ 학습 코드에서 GPU할당을 자동으로 나눠서 할당 하게끔 짜여있지만 종종 하나의 GPU에서만 동작 시키고 싶을 때가 있을겁니다. 그럴 경우 CUDA_VISIBLE_DEVICES = x 를 사용하시면 됩니다. 예를 들어 4개의 GPU중 4번 째 GPU만 사용하고 싶다! 그러면 CUDA_VISIBLE_DEVICES=3 python3 ~~ 다음과 같이 사용하시면 됩니다~ 읽어주셔서 감사합니다

python 2021.11.03

[python]확장자 일괄 변경

안녕하세요 작업을 하다 보면 이미지 확장자명을 하나로 통일시켜야 할 때가 있어요~ 이미지 파일 개수가 수만개 있으면 일일이 바꾸는데 시간이 오래 걸리니까 코드 몇 줄을 사용해서 해당 작업을 하는 편입니다~ 이번에 가져온 예제는 특정 디렉터리에 있는 파일을. png확장자에서. jpg로 바꿔주는 코드를 짜 봤어요~ 해당 코드에 주석으로 설명도 적어놨으니까 이해를 하고 실무에서 한번 사용해보세요~ import os import glob files = glob.glob("./JPEGImages/*.png") #원하는 디렉토리 설정 for name in files: if not os.path.isdir(name): #디렉토리는 포함 x src = os.path.splitext(name) #확장자와 파일명 구분 o..

python 2021.11.03

json to xml convert 작업[ 작성중..]

안녕하세요 데이터셋을 모으다보면 제가 사용하고있는 데이터로더의 형태와 맞지않은 annotation 파일들을 볼 수가 있습니다. 그런 경우 dataloader를 annotation파일에 맞게 수정을 진행을 하거나 annotation 파일 형식을 현재 제가 사용하고있는 dataloader형식에 맞추어 사용하고 있습니다. 이번에는 후자의 경우에 어떤식으로 바꾸는지 알아보는 시간을 가지도록 하겠습니다. 우선 제가 다운받은 데이터셋의 annotation 파일의 형태를 살펴봐야합니다. 그리고 제가 사용하고있는 dataloader는 어떤 데이터를 필요로 하는지 살펴봐야할텐데요. 여기서 제가 원하는 데이터는 category, box2d, name정도 입니다. import os import json from xml.et..

python 2021.10.22

[python] list함수 (append, insert, pop, remove, sort)

안녕하세요 파이썬을 많이 접해보지 않았으면 튜플, 리스트 들이 갖고있는 인스턴스 메서드는 어떤 것이 있는지, 또는 어떻게 사용해야하는지 헷갈릴 때가 종종있는데요. list를 사용할 때 많이 사용되는 메서드를 정리해서 알려드리고합니다. 우선 list함수는 이터레이터나 제너레이터 표현에서 실제 값을 모두 담기 위한 용도로 자주 사용됩니다. 해당 코드를 보시면 이해가 빠를겁니다. 여전히 이해가 잘 안되시면 댓글을 달아주시면 감사하겠습니다

python 2021.06.29
반응형