반응형

Python/Debugging 37

코랩(Colab) 사이트가 빈 화면으로 등장하며 실행이 안될 때 해결법

구글 코랩(Google Colab) 실행 오류 해결법 구글 코랩 사이트에 접속 시, 빈 화면으로 등장하면서 실행이 제대로 되지 않는 경우가 있습니다. 이 경우, Colab이 정상 실행될 수 있는 해결법을 정리해보도록 하겠습니다. 크롬(Chrome) 브라우저의 버전이 오래된 경우 크롬 브라우저 환경에서 코랩을 사용하려는 경우, Chrome 버전이 구버전인 경우 빈 화면으로 뜨면서 정상 실행이 되지 않을 수 있습니다. 이 경우, 크롬 브라우저 업데이트 진행 후 구글 코랩 사이트에 다시 접속하시면 정상적으로 실행이 되는 것을 확인할 수 있습니다. Chrome 업데이트 방법은 아래의 글을 참고하세요. (참고 : 버전이 너무 오래된 경우에 때로는 크롬 재설치가 필요할 수도 있습니다.) Chrome 업데이트 - 컴..

Python/Debugging 2022.05.25

transformers 모듈 model.generate() 과정 shape 관련 오류 해결

transformers generate 함수 RuntimeError, ValueError 디버깅 transformers 라이브러리의 generate 함수 사용 중 shape 미스매칭으로 인하여 발생할 수 있는 두 가지 오류에 대하여 정리해보도록 하겠습니다. 1. 추가 dimension을 가지는 경우 RuntimeError: The size of tensor a (100) must match the size of tensor b (10) at non-singleton dimension 1 2. 단일 sequence일 때, 추가 dimension이 필요한 경우 ValueError: not enough values to unpack (expected 2, got 1) 정상 실행 코드 예시 예를 들어, 100 ..

Python/Debugging 2022.05.24

파이토치에서 모델 학습이 되지 않는 경우 원인 정리(파라미터가 그대로인 경우)

Pytorch gradient가 흐르지 않는 경우 원인과 해결법 파이토치 모듈을 이용하여 모델을 학습하는 과정에서 train 과정이 진행되는 것처럼 보여도 실제로는 파라미터가 업데이트되지 않고 학습이 안되는 경우가 있습니다. 이번 글에서는 제가 겪었던 원인을 바탕으로 모델 학습이 되지 않을 때 의심할만한 원인 3가지 정도를 간략하게 정리해보도록 하겠습니다. 1. 모델의 layer freeze 여부 체크 모델의 각 layer의 requires_grad 속성을 확인하여 해당 값이 True로 설정되어있는지를 확인해야 합니다. 이를 확인할 수 있는 방법의 코드는 아래와 같습니다. # 각 layer의 requires_grad가 True인지 확인 for param in model.parameters(): print..

Python/Debugging 2022.05.17

TypeError: 'tuple' object does not support item assignment / TypeError: unhashable type: 'list' 원인, 해결법

파이썬 튜플, 리스트 관련 TypeError 디버깅 파이썬 프로그래밍 중에 튜플, 리스트 자료형과 관련하여 발생가능한 대표적인 TypeError 두 가지에 대하여 원인과 대처법을 정리해보도록 하겠습니다. TypeError: 'tuple' object does not support item assignment 튜플로 선언된 자료에 인덱싱을 통한 값 추가, 수정 등을 시도할 경우 발생하는 오류입니다. t1 = (10, 20, 30) t1[0] = 15 # TypeError: 'tuple' object does not support item assignment 발생 해당 오류가 발생한 경우, 인덱싱을 시도하려했던 자료의 type을 검사하여 혹시 튜플 자료형이 아니었는지에 대하여 확인해보시면 됩니다. 해결법은 ..

Python/Debugging 2022.04.28

파이토치 RuntimeError: grad can be implicitly created only for scalar outputs 해결법

Pytorch loss.backward() 과정 에러 디버깅 파이토치에서 모델 학습 과정 내 backporpagation을 시도하는 도중, RuntimeError: grad can be implicitly created only for scalar outputs 라는 오류 메시지가 출력되었습니다. loss.backward() # 여기서 오류 발생 오류 원인 loss.backward() 과정은 기본적으로 1개의 스칼라 데이터에 대한 역전파를 수행합니다. 그러나, loss 변수 내에는 배치 내 데이터 각각에 대한 손실 함수 점수들이 벡터 형태로 저장된 점을 확인했습니다.(아래는 3개의 데이터에 대한 loss 점수 예시입니다.) print(loss) # tensor([1.5054, 1.3475, 1.0413]..

Python/Debugging 2022.04.23

파이토치 설치 과정 Solving environment 오류 해결

Case 1 : Anaconda Pytorch 설치 에러 디버깅 파이토치 사이트에서 conda를 이용한 명령어를 통해서 설치하는 도중 아래와 같은 오류가 발생하면서 설치 과정이 더이상 진행되지 못하였습니다. Solving environment: / The environment is inconsistent, please check the package plan carefully The following packages are causing the inconsistency: 오류 원인 cuda 라이브러리를 설치한 뒤에는 해당 환경에서 conda 명령어로 파이토치가 정상 설치됨을 확인하였는데, 이것이 원인으로 추측되기는 하였습니다. 오류 해결법(pip으로 설치) Pytorch 사이트에서 conda가 아닌 pi..

Python/Debugging 2022.04.15

TypeError: 'function' object is not subscriptable 해결

파이썬 object is not subscriptable 오류에 대하여 지난 글에서 [] 괄호와 () 괄호의 역할을 구분하며 [] 괄호를 이용한 인덱싱 대신 () 괄호를 사용한 호출을 진행하면 발생하는 object is not callable 종류의 오류를 살펴보았습니다. TypeError: 'list' object is not callable 원인과 해결법 파이썬 object is not callable 에러 디버깅 리스트 인덱싱 등 과정에서 자주 등장할 수 있는 오류 종류인 '~~ object is not callable' 종류의 오류의 의미와 원인에 대해서 살펴보고 해결 방법을 파헤쳐보도 jimmy-ai.tistory.com 이번 글에서는 반대로 () 괄호로 호출을 해야하는 함수 등 객체에 대하여 ..

Python/Debugging 2022.03.30

TypeError: 'list' object is not callable 원인과 해결법

파이썬 object is not callable 에러 디버깅 리스트 인덱싱 등 과정에서 자주 등장할 수 있는 오류 종류인 '~~ object is not callable' 종류의 오류의 의미와 원인에 대해서 살펴보고 해결 방법을 파헤쳐보도록 하겠습니다. 오류 의미, 원인 이해를 돕기 위하여, 아래와 같은 아주 간단한 리스트와 함수를 생각해보도록 하겠습니다. x = [1, 2, 3] # 리스트 def double(num): # 함수 return num * 2 x[0] # 리스트 인덱싱 double(1) # 함수 호출 리스트에서 자료를 추출하는 인덱싱 과정에서는 [] 모양의 괄호가 사용되고, 함수에 input을 넣어 호출하는 과정에서는 () 모양의 괄호가 사용되는 것을 알 수 있습니다. 그렇다면 만약 인덱싱..

Python/Debugging 2022.03.30

AttributeError: __enter__ 원인과 해결법

파이썬 파일 open 오류 디버깅 파이썬에서 open 메소드를 통하여 파일 입출력을 진행할 때, 아래와 같은 문법 오류로 인하여 AttributeError가 발생할 수 있습니다. with('example.txt', 'r') as f: # open 함수를 정상적으로 사용하지 않은 상황 for line in f: pass --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) in () ----> 1 with('example.txt', 'r') as f: 2 for line in f: 3 pass AttributeError: __enter__..

Python/Debugging 2022.03.28

ValueError: invalid literal for int() with base 10: '' 해결

빈 문자열, 공백 int 변환 오류 디버깅 리스트 내 문자열 숫자 자료들을 정수형으로 변환하려는 도중, 빈 문자열이 포함되어 있어 아래와 같은 오류가 발생하였습니다. list_a = ['', '0', '1', '2', '3', '4', '5'] list_b = list(map(int, list_a)) # int형 변환 시도 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in () 1 list_a = ['', '0', '1', '2', '3', '4', '5'] 2 ----> 3 list_b = list(map(int, list_a)) #..

Python/Debugging 2022.03.27
반응형